Exemplo n.º 1
0
 private void Game() //確認 時間到0或是分數到頂
 {
     if (user_scro >= 100)
     {
         timer1.Stop();
         string[] win_play = textBox3.Text.Split(':');
         Send("M" + "(系統)" + win_play[0] + ":(WINER) Done");
         Start_btu.Show();
     }
     if (this.progressBar1.Value == 0)
     {
         Send("T" + 100);
         timer1.Stop();
         if (Player[p_num] != Netname)
         {
             OtherPanel();
         }
         else
         {
             Gm_btu.Enabled = true;
         }
         C.Shapes.Clear();
         D.Shapes.Clear();
         Draw_panel1.Controls.Clear();
         Count            = 0; //猜的人數歸零
         Skip_btu.Visible = false;
     }
 }
Exemplo n.º 2
0
 private void Start_btu_Click(object sender, EventArgs e)
 {
     if (Player.Count > 1)
     {
         Start_btu.Hide();
         Gm_btu.Enabled = false;
         if (Player[p_num] == Netname)
         {
             Gm_btu.Enabled = true;
         }
         else
         {
             OtherPanel();
         }
         SoundPlayer sound = new SoundPlayer
         {
             SoundLocation = Application.StartupPath + @"//Click.wav"
         };
         sound.Play();
     }
     else
     {
         textBox1.AppendText("(系統) : 必須要兩個人以上的玩家 。 \r\n");
     }
 }
Exemplo n.º 3
0
        private void Recetor(byte[] B, int inLen)
        {
            string Msg = Encoding.Default.GetString(B, 0, inLen); //解讀完整訊息
            string St  = Msg.Substring(0, 1);                     //取出命令碼 (第一個字)
            string Str = Msg.Substring(1);                        //取出命令碼之後的訊息

            switch (St)                                           //依命令碼執行功能
            {
            case "L":                                             //接收線上名單
                listBox1.Items.Clear();
                Player.Clear();                                   //清除名單
                string[] M = Str.Split(',');                      //拆解名單成陣列
                for (int i = 0; i < M.Length; i++)
                {
                    Player.Add(M[i]);
                    listBox1.Items.Add(M[i] + ":" + user_scro + "分");
                }     //逐一加入名單
                break;

            case "9":     //接收離開玩家
                textBox1.AppendText("(系統) :" + Str + " 已離開伺服器! \r\n");
                Player.Remove(Str);
                listBox1.Items.Remove(Str);
                if (Player.Count == 1)
                {
                    Start_btu.Show();
                    this.timer1.Stop();
                    progressBar1.Value = 100;
                    user_scro          = 0;
                }
                break;

            case "3": textBox1.AppendText("(私密)" + Str + "\r\n"); break;    //私密訊息

            case "C": D.Shapes.Clear(); break;

            case "P": PointShape(Str); break;

            case "A": Ans = Str; break;

            case "G":     //Draw 資訊
                p_num      = int.Parse(Str);
                Draw_plays = Player[p_num];
                textBox1.AppendText("(系統) :" + Draw_plays + " Draw \r\n");
                if (Draw_plays != Netname)
                {
                    OtherPanel();
                }
                p_num++;
                if (Player.Count - 1 < p_num)
                {
                    p_num = 0;
                }
                break;

            case "D": textBox1.AppendText("(公開)" + Str + "\r\n"); break; //聊天室

            case "M": textBox2.AppendText(Str + "\r\n"); break;          //猜題未答對

            case "T":
                if (progressBar1.Value > 0)
                {
                    progressBar1.Value--;
                }
                if (Str != "")
                {
                    progressBar1.Value = 100;
                    if (p_num > Player.Count - 1)
                    {
                        p_num = 0;
                    }
                    if (Player[p_num] == Netname)
                    {
                        Gm_btu.Enabled = true;
                    }
                    else
                    {
                        OtherPanel();
                    }
                    C.Shapes.Clear();
                    Draw_panel1.Controls.Clear();
                    Count = 0;
                    Game();
                }
                break;

            case "S":
                Count++;
                listBox1.Items.Add(Str);
                if (Draw_plays == Netname || Count < 1)
                {
                    user_scro += 10;
                    listBox1.Items.Add(Draw_plays + ":" + user_scro + "分");
                }
                if (p_num > Player.Count - 1)
                {
                    p_num = 0;
                }
                break;
            }
        } //接收ServerC回傳