private void popupVerwijderen(object sender, ElapsedEventArgs e) { int playerIndex = pPlayerGroup.aanZet; MemoryPlayer player = pPlayerGroup.players[playerIndex]; PlayerBord playerBord = playerBords[playerIndex]; playerBord.popupScore = ""; }
public void UpdateScore(string popupScore) { int playerIndex = pPlayerGroup.aanZet; MemoryPlayer player = pPlayerGroup.players[playerIndex]; PlayerBord playerBord = playerBords[playerIndex]; playerBord.popupScore = popupScore; playerBord.score = player.score; // start timer die KaartenTerugLeggen aanroept popupTimer.Enabled = true; }
private void gameTimerUpdate(object sender, ElapsedEventArgs e) { int playerIndex = pPlayerGroup.aanZet; MemoryPlayer player = pPlayerGroup.players[playerIndex]; PlayerBord playerBord = playerBords[playerIndex]; // update individuele speelijd in het player bord van de speeler TimeSpan playerSpeeltijd = new TimeSpan(0, 0, player.speeltijd++); playerBord.speeltijd = string.Format("{0}:{1:00}", (int)playerSpeeltijd.TotalMinutes, playerSpeeltijd.Seconds); // update de game timer in het midden van het game interface switch (pGameStatus.timerMode) { // om en om spel case TimerMode.roundAbout: // update het de game timer display TimeSpan gameSpeeltijd = new TimeSpan(0, 0, pGameStatus.speeltijd); Application.Current.Dispatcher.Invoke( () => gameTimer.Text = string.Format("{0}:{1:00}", (int)gameSpeeltijd.TotalMinutes, gameSpeeltijd.Seconds)); break; // spelen om en om voor een bepaalde tijd (GameData.speeltijdTimerTurn in MemoryData) case TimerMode.timerTurn: // als de timer nul is, is de volgende speler aan zet if (!Convert.ToBoolean(pGameStatus.timeRemaining--)) { // selecteer de volgende speler pPlayerGroup.NextPlayer(); // update het pijltje die de speler aan zet aangeeft UpdateAanZet(); // reset de timer pGameStatus.timeRemaining = GameData.speeltijdTimerTurn; } // update het de game timer display TimeSpan playerTijdOver = new TimeSpan(0, 0, pGameStatus.timeRemaining); Application.Current.Dispatcher.Invoke( () => gameTimer.Text = string.Format("{0}:{1:00}", (int)playerTijdOver.TotalMinutes, playerTijdOver.Seconds)); break; } // update de game speeltijd pGameStatus.speeltijd++; // Application.Current.Dispatcher.Invoke(() => // { // TimeSpan gameSpeeltijd = new TimeSpan(0, 0, pGameStatus.speeltijd++); // gameTimer.Text = string.Format("{0}:{1:00}", (int)gameSpeeltijd.TotalMinutes, gameSpeeltijd.Seconds); // }); }
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; } } }
private void SetAanZetVisibility(int spelerIndex, Visibility visibility) { PlayerBord playerBord = playerBords[spelerIndex]; playerBord.status.Visibility = visibility; }