示例#1
0
        public void GameTurn(string message)
        {
            //TTTPacket packet = new Gson().FromJson(message, typeof(TTTPacket));
            TTTPacket packet = TTTPacket.DecodeJson(message);

            if (!init)
            {
                Init(packet);
                init = true;
            }
            else
            {
                if (packet.GameResult != null)
                {
                    init = false;
                    RefreshGameField(packet);
                    string str = packet.GameResult;
                    FragmentManagerXO.activity.ExecuteOnUi(() => MessageBox(str, "Game over"));
                }
                else
                {
                    RefreshGameField(packet);
                }
            }
        }
        public void GameTurn(string message)
        {
            TTTPacket packet = TTTPacket.DecodeJson(message);

            if (!init)
            {
                Init(packet);
                init = true;
            }
            else
            {
                if (packet.GameResult != null)
                {
                    init = false;
                    RefreshGameField(packet);
                    string str = packet.GameResult;
                    FragmentManagerXO.activity.ExecuteOnUi(() => MessageBox(str,
                                                                            Resources.GetString(Resource.String.messagebox_game_over_header)));
                }
                else
                {
                    RefreshGameField(packet);
                }
            }
        }
示例#3
0
        public void Send(string key, TTTPacket packet)
        {
            string xmlStr = XmlPacketDecoder.Encode(packet);

            sw.WriteLine("game:" + key + "," + xmlStr);
            sw.Flush();
        }
示例#4
0
        private void InitHandler(object sender, EventArgs e)
        {
            TTTPacket packet = sender as TTTPacket;

            playerTurn = packet.PlayerTurn;
            unit       = packet.Unit;

            StatusBar_ShapeType.Text = unit;
            StatusBar_Turn.Text      = playerTurn.ToString();
        }
 private void OnTileClick(object sender, EventArgs e)
 {
     if (!unit.Equals(""))
     {
         if (playerTurn.Equals("Turn"))
         {
             string json = TTTPacket.EncodeJson(new TTTPacket(playerTurn, unit, Convert.ToInt32((sender as Button).Tag), null, null));
             json = json.Replace(",", ";");
             FragmentManagerXO.Send("game:" + FragmentManagerXO.SessionKey + "," + json);
         }
     }
 }
 private void RefreshGameField(TTTPacket packet)
 {
     FragmentManagerXO.activity.ExecuteOnUi(() => {
         string[] matrix = packet.Matrix;
         int i           = 0;
         while (i < matrix.Length)
         {
             buttons[i].Text = matrix[i];
             i++;
         }
     });
     playerTurn = packet.PlayerTurn;
     ChangeStatusBar(unit + " | " + playerTurn);
 }
示例#7
0
 private void Refresh(TTTPacket packet)
 {
     if (this.InvokeRequired)
     {
         this.Invoke(new Action(() =>
         {
             for (int i = 0; i < packet.Matrix.Length; i++)
             {
                 buttons[i].Text = packet.Matrix[i];
             }
         }));
     }
     playerTurn          = packet.PlayerTurn;
     StatusBar_Turn.Text = playerTurn.ToString();
 }
示例#8
0
        private void TurnHandler(object sender, EventArgs e)
        {
            TTTPacket packet = sender as TTTPacket;

            if (packet.GameResult != null)
            {
                Refresh(packet);
                MessageBox.Show(packet.GameResult, "Game over", MessageBoxButtons.OK, MessageBoxIcon.Information);
                if (this.InvokeRequired)
                {
                    this.Invoke(new Action(() =>
                    {
                        this.Close();
                        this.session.IsConnection = false;
                    }));
                }
            }
            else
            {
                Refresh(packet);
            }
        }
示例#9
0
 private void Init(TTTPacket packet)
 {
     playerTurn = packet.PlayerTurn;
     unit       = packet.Unit;
     ChangeStatusBar(unit + " | " + playerTurn);
 }