You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Cryptid/cryptide_project/src/model/GameCreator.ts

34 lines
1.1 KiB

import { TupleType } from "typescript";
import EdgesCreator from "./EdgesCreator";
import GraphCreator from "./Graph/GraphCreator";
import GraphPerson from "./Graph/GraphPerson";
import IndiceChooser from "./IndiceChooser";
import Indice from "./Indices/Indice";
import NetworkGenerator from "./NetworkGenerator";
import Person from "./Person";
import PersonNetwork from "./PersonsNetwork";
import Stub from "./Stub";
class GameCreator{
static CreateGame(nbPlayers: number, nbNodes: number): [PersonNetwork, Person, Indice[]]{
const edgesCreator = new EdgesCreator()
const chooser = new IndiceChooser()
const indices = Stub.GenerateIndice()
const networkPerson = NetworkGenerator.GenerateNetwork(nbNodes)
const rand = Math.floor(Math.random() * nbNodes)
const person = networkPerson.getPersons()[rand]
const choosenIndices = chooser.chooseIndice(person, indices, nbPlayers)
edgesCreator.CreateAllEdges(networkPerson, person, choosenIndices)
return [networkPerson, person, choosenIndices]
}
}
export default GameCreator