Files
flippr-game/factories/GameFactory.py
Jonas Zeunert 7414734dad thiiiiings
2020-02-13 19:05:55 +01:00

48 lines
1.4 KiB
Python

from config import *
from networking.Networking import Networking
from factories.PlayerStateFactory import PlayerStateFactory
from factories.DisplayFactory import DisplayFactory
from factories.TargetFactory import TargetFactory
from factories.EventFactory import EventFactory
from InputHandler import InputHandler
from GameState import GameState
class GameFactory:
def __init__(self):
displayNames = Networking().getDisplays()
self.displayFactory = DisplayFactory(displayNames)
specialDisplay = self.displayFactory.createSpecialDisplay()
self.playerCount = len(displayNames) - 1
self.playerStateFactory = PlayerStateFactory(specialDisplay)
def createGame(self):
targets = TargetFactory.createAllTargets()
inputHandler = InputHandler(targets)
players = self.createPlayers()
gameState = GameState(players, self.getHighScore(), players[0].id)
eventFactory = EventFactory(targets, gameState.currentPlayer)
pointEvent = eventFactory.createPointEvent()
def createPlayers(self):
players = []
for id in range(self.playerCount):
display = self.displayFactory.createPlayerDisplay(id)
player = self.playerStateFactory.createPlayerState(display, id)
players.append(player)
return players
def getHighScore(self): # todo
return 0