public override void Set(string player, BaseGame baseGame) { ConnectFour setConnectFour = (ConnectFour)baseGame; lastSet = setConnectFour; if (setConnectFour.Situation == GameSituation.Disconnect) { serverMain.RemoveGame(this); } else if (setConnectFour.Situation == GameSituation.Win) { Packet packet = new Packet(); packet.Flag = Flag.Connect4; String you = setConnectFour.Opponent; setConnectFour.Opponent = setConnectFour.You; setConnectFour.You = you; packet.Data = setConnectFour; serverMain.SendResolvedGameSituation(you, packet); serverMain.RemoveGame(this); } else { sets++; if (player == Players[0]) { game[setConnectFour.X-1][setConnectFour.Y-1] = 1; } else { game[setConnectFour.X-1][setConnectFour.Y-1] = 2; } GameCheck(); } }
public override void GameCheck() { GameSituation situation = GameSituation.Normal; if (checkRow(1) || checkColumn(1) || checkDiagonal(1)) { situation = GameSituation.Win; } if (checkRow(2) || checkColumn(2) || checkDiagonal(2)) { situation = GameSituation.Loss; } if (sets == 48 && situation == GameSituation.Normal) { situation = GameSituation.Tie; } Packet packet = new Packet(); packet.Flag = Flag.Connect4; for (int i = 0; i < Players.Count; i++) { if (i == 1) { if (situation == GameSituation.Win) situation = GameSituation.Loss; else if (situation == GameSituation.Loss) situation = GameSituation.Win; } ConnectFour g = new ConnectFour(Players[i], Players[(i + 1) % Players.Count], situation); g.X = lastSet.X; g.Y = lastSet.Y; g.SetPlayedBy = lastSet.SetPlayedBy; g.ItIsYourTurn = (lastSet.SetPlayedBy != Players[i]); packet.Data = g; serverMain.SendResolvedGameSituation(Players[i], packet); if (situation == GameSituation.Win || situation == GameSituation.Tie || situation == GameSituation.Loss) { serverMain.RemoveGame(this); } } }
public void SendConnect4Request(string opp) { ConnectFour con4Request = new ConnectFour(name, opp, GameSituation.Connect); Packet packet = new Packet(); packet.Flag = Flag.GameRequest; packet.Data = con4Request; Comm.OutgoingMessageHandler(packet); }
public void playingConnect4(ConnectFour connect_four, Packet packet) { this.Invoke(new MethodInvoker(() => { labelSituation.Text = "Playing..."; if (connect_four.SetPlayedBy != name) { tabControlGame.SelectTab(connect_four.Opponent); connect4.Play(packet); labelSituation2.Text = "Your Move"; } else labelSituation2.Text = "Opponent's Move"; })); }
private void buttonGiveUp_Click(object sender, EventArgs e) { Packet packet = new Packet(); packet.Flag = Flag.Connect4; ConnectFour con4 = new ConnectFour(name, opponent, GameSituation.Win); packet.Data = con4; OnConnect4SChoice(packet); }
public void forSending(int column, int row) { Packet packet = new Packet(); packet.Flag = Flag.Connect4; ConnectFour con4 = new ConnectFour(name, opponent, GameSituation.Normal); con4.X = column; con4.Y = row; con4.SetPlayedBy = name; con4.ItIsYourTurn = true; packet.Data = con4; OnConnect4SChoice(packet); }