domino-server/src/test.ts
2024-07-05 01:19:43 +02:00

57 lines
2.0 KiB
TypeScript

import { PlayerAI } from "./game/entities/player/PlayerAI";
import { PlayerHuman } from "./game/entities/player/PlayerHuman";
import {LoggingService} from "./common/LoggingService";
import { GameSession } from "./game/GameSession";
console.log('process.arg :>> ', process.argv);
// const game = new DominoesGame([
// new PlayerAI("1", "Player 1"),
// new PlayerAI("2", "Player 2"),
// new PlayerAI("3", "Player 3"),
// new PlayerAI("4", "Player 4"),
// ]);
// const logger = new LoggingService();
// async function wait(ms: number) {s
// return new Promise(resolve => setTimeout(resolve, ms));
// }
async function playSolo(seed?: string) {
const session = new GameSession(new PlayerHuman( "Jose"), "Test Game");
console.log(`Session (${session.id}) created by: ${session.creator.name}`);
setTimeout(() => session.addPlayer(new PlayerAI("AI 2")), 1000);
setTimeout(() => session.addPlayer(new PlayerAI("AI 3")), 2000);
setTimeout(() => session.addPlayer(new PlayerAI("AI 4")), 3000);
session.start(seed);
}
async function playHumans(seed?: string) {
const session = new GameSession(new PlayerHuman("Jose"), "Test Game");
session.addPlayer(new PlayerHuman("Pepe"));
session.addPlayer(new PlayerHuman("Juan"));
session.addPlayer(new PlayerHuman("Luis"));
session.start(seed);
}
async function playAIs(seed?: string) {
const session = new GameSession(new PlayerAI("AI 1"), "Test Game");
session.addPlayer(new PlayerAI("AI 2"));
session.addPlayer(new PlayerAI("AI 3"));
session.addPlayer(new PlayerAI("AI 4"));
session.start(seed);
}
async function playTeams(seed?: string) {
const session = new GameSession(new PlayerHuman("Jose"), "Test Game");
session.addPlayer(new PlayerAI("AI 1"));
session.addPlayer(new PlayerHuman("Juan"));
session.addPlayer(new PlayerAI("AI 2"));
session.start(seed);
}
const blockedSeed = '1719236688462-ytwrwzfzoi-01aad98f';
const seed2 = '1719237652000-09vddd3hsth7-adbc1842';
playSolo('1719248315701-itmcciws3oi-e5dd2024');