private void Update_Tick(object sender, EventArgs e) { if (!game.GameIsEnded()) { game.Draw(); switch (game.WhoIsWon()) { case Player.X: game.EndGame(); MessageBox.Show("X"); break; case Player.O: game.EndGame(); MessageBox.Show("O"); break; case Player.DRAW: game.EndGame(); MessageBox.Show("DRAW"); break; } } }
private void CheckGameState() { Player winner = botGame.WhoIsWon(); if (winner != Player.NONE) { botGame.EndGame(); botGameIsPlaying = false; } if (winner == Player.X) { MessageBox.Show("Blue player won!"); } else if (winner == Player.O) { MessageBox.Show("Red player won!"); } else if (winner == Player.DRAW) { MessageBox.Show("Draw!"); } }
private void RoomUpdate(object sender, EventArgs e) { String response = Client.SendMessage("getRoomInfo;" + Client.GetSelectedGame()); if (response == "gameIsCanceled") { leave_Click(sender, e); MessageBox.Show("Game is canceled"); } String[] tokens = response.Split(';'); if (response.Split(';').First() == Client.GetLogin()) { leave.Text = "Close room"; } if (response.Contains(";Playing")) { leave.Text = "Leave room"; accept.Enabled = false; this.Text = "Playing: " + tokens[0] + " [" + tokens[1] + "] " + " - " + tokens[2] + " [" + tokens[3] + "] "; time.Text = "Time:\r\n\r\n" + tokens[0] + ": " + ToClockFormat(tokens[4]) + "\r\n" + tokens[2] + ": " + ToClockFormat(tokens[5]); turn.Text = tokens[9] + "'S TURN"; if (tokens[9] == Client.GetLogin()) { isMyTurn = true; } else { isMyTurn = false; } if (tokens[10] == "X") { player = Player.X; } if (tokens[10] == "O") { player = Player.O; } String history = response.Split('{')[1].Split('}').First(); if (gameHistory != history) { gameHistory = history; game = new UTTT(gameField); String[] moves = history.Split(';'); foreach (String move in moves) { game.SetMark(move); } } } else if (response.Contains(";Ended")) { if (!game.GameIsEnded()) { game.EndGame(); } if (response.Contains('{')) { String history = response.Split('{')[1].Split('}').First(); if (gameHistory != history) { gameHistory = history; game = new UTTT(gameField); String[] moves = history.Split(';'); foreach (String move in moves) { game.SetMark(move); } } } } else if (response.Contains(";Created")) { accept.Enabled = true; turn.Text = ""; this.Text = Client.GetSelectedGame() + "'s room"; time.Text = "Time: " + (int.Parse(tokens[2]) / 60).ToString() + " minutes."; } if (response.Split(';').First() == Client.GetLogin()) { accept.Enabled = false; } chat.Text = tokens.Last(); }