// create/load a game private void SetupGame(MemoryPlayers players = null, Point gridGroote = new Point(), TimerMode timerMode = 0, int nKaartenGelijk = 0, Stream loadStream = null) { // Check of we een spel moeten laden bool loadGame = loadStream != null; // setup de benodigde data // deze data leest de MemoryGrid en MemoryCards object if (loadGame) { SetupSpeelveldData((Point)loadStream.Load(), (int)loadStream.Load()); } else { SetupSpeelveldData(gridGroote, nKaartenGelijk); } // maak de het speelveld in de grid memoryGrid.Create(nColumns, nRows); // leg de kaarten uit op het speelveld memoryCards = new MemoryCards(this, loadStream); // setup de game logic memoryLogic = new MemoryLogic(this, timerMode, players, loadStream); }
public void Setup(MemoryLogic gameLogic) { pPlayerGroup = gameLogic.playerGroup; pGameStatus = gameLogic.gameStatus; playerGrid.Create(2, 2); playerBords = new List <PlayerBord>(); bordControls = new List <UIElement>(); // timer om de kaarten na een tijdje terug te leggen popupTimer = new Timer(); popupTimer.Interval = 1000; // tijd tot kaarten weer terug vallen in ms popupTimer.AutoReset = false; // zorgt dat een timer een keer aftelt // registreer de callback functie KaartenTerugLeggen voor het event popupTimer Elapsed popupTimer.Elapsed += popupVerwijderen; // timer om de speeltijd bij te houden timerClock = new Timer(); timerClock.Interval = 1000; timerClock.AutoReset = true; // registreer de callback functie gameTimerUpdate voor het event timerClock Elapsed timerClock.Elapsed += gameTimerUpdate; // zet de speeltijd timer aan timerClock.Enabled = true; int index = 0; foreach (MemoryPlayer player in pPlayerGroup.players) { PlayerBord playerBord = new PlayerBord(this) { naam = player.naam, score = player.score }; playerBords.Add(playerBord); bordControls.Add(playerBord.pControl); playerGrid.AddByIndex(playerBord.pControl, index++); if (index == pPlayerGroup.players.Count) { playerBord.pControl.Loaded += playerBordsLoaded; } } }