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);
                }
            }
        }
Beispiel #3
0
 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);
 }
Beispiel #4
0
        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";

            }));
        }
Beispiel #5
0
 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);
 }
Beispiel #6
0
 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);
 }