/
nikrontech
/
KatranKit
Обзор
Документация
Войти
/
nikrontech
/
KatranKit
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
master
src/game/game.ts
38 строк
1 KB
Alreadyfi
Сделал всю логику, оно всё работает. Так же в комплекте идёт игрушка, не особо работающая н опоказывающая как работать с шаблоном игры.
28 апр 2025, 01:01
28 апр 2025, 01:01
5745adc
Код
Авторство
О чём код?
import { WebSocketClient } from '../interfaces' import { GameTemplate } from './gameTemplate'; export class Game extends GameTemplate { public onStart() { this.step(0) } public onCreate() { this.registerSignal("select", (data: any) => this.select(data)); this.registerSignal("number", (data: any) => this.number(data)); } private step(step: number = 0) { this.gameState.selectPlayer += step if(this.gameState.selectPlayer > this.gameState.playersID.length) this.brodcast('turn', {selectPlayer: this.getSelectPlayer().ws.id}) } private select(data: {vibor: boolean, ws: WebSocketClient}) { if(this.getSelectPlayer().ws.id == data.ws.id) { data.ws.send('["message", "ты ходишь!"]'); return; } const player = this.gameState.players[data.ws.id] this.gameState.players[data.ws.id].select = data.vibor } private number(data: {number: number, ws: WebSocketClient}) { if(this.getSelectPlayer().ws.id == data.ws.id) { data.ws.send('["message", "ты не ходишь!"]'); return; } const player = this.gameState.players[data.ws.id] this.gameState.players[data.ws.id].number = data.number this.step(1) } private getSelectPlayer() { return this.getPlayers()[this.getPlayersID()[this.gameState.selectPlayer]]; } }