Beispiel #1
0
        internal override void toUser(CheckUser check)
        {
            if (myTurn)
            {
                base.toUser(check);
            }
            else
            {
                chat.SendObject(all);
                chat.SendObject(new CheckUser(check.Chow, check.Pong, check.Kong, check.DarkKong, check.Win, true, check.Brand));
                sendoutbrand = check.Brand;
                //chat.SendObject(brand);

                /*while (!get_CheckUser)
                *  {
                *
                *   if (get_CheckUser)
                *       break;
                *  }
                *  //lock (this)
                *  //{
                *  //    MessageBox.Show("Lock!");
                *  //    //Monitor.Wait(this);
                *  //}
                *  runCheckUser(check.Brand);
                *
                *
                *  get_CheckUser = false;*/
                chat.SendObject(all);
            }
        }
Beispiel #2
0
 internal void getCheckUser(CheckUser check)
 {
     checkuser = check;
     if (iAmServer)
     {
         get_CheckUser = true;
         //Monitor.Pulse(this);
     }
 }
Beispiel #3
0
        /// <summary>
        /// 把牌丟給玩家,看是否要吃 碰 槓 過水 胡
        /// </summary>
        internal virtual void toUser(CheckUser check)
        {
            CPK cpk = new CPK(this, check);

            CheckBrands c = new CheckBrands(check.Brand, NowPlayer_removeTeam);
            CheckBrands w = new CheckBrands(check.Brand, all.NowPlayer);

            cpk.Enabled_Button(check.Chow, check.Pong, check.Kong, check.DarkKong, check.Win);
            if (check.Chow || check.Pong || check.Kong || check.Win || check.DarkKong)
            {
                cpk.ShowDialog();
            }
        }
Beispiel #4
0
        /// <summary>
        /// ��P�ᵹ���a�A�ݬO�_�n�Y �I �b �L�� �J
        /// </summary>
        internal virtual void toUser(CheckUser check)
        {
            CPK cpk = new CPK(this, check);

            CheckBrands c = new CheckBrands(check.Brand, NowPlayer_removeTeam);
            CheckBrands w = new CheckBrands(check.Brand, all.NowPlayer);
            cpk.Enabled_Button(check.Chow, check.Pong, check.Kong, check.DarkKong, check.Win);
            if (check.Chow || check.Pong || check.Kong || check.Win || check.DarkKong)
                cpk.ShowDialog();
        }
Beispiel #5
0
 internal void getCheckUser(CheckUser check)
 {
     checkuser = check;
     if (iAmServer)
     {
         get_CheckUser = true;
         //Monitor.Pulse(this);
     }
 }
Beispiel #6
0
 public void Enabled_Button(CheckUser check)
 {
     this.Chow.Enabled = check.Chow;
     this.Pong.Enabled = check.Pong;
     this.Kong.Enabled = check.Kong;
     this.Win.Enabled = check.Win;
     this.DarkKong.Enabled = check.DarkKong;
     this.Pass.Enabled = check.Pass;
 }
Beispiel #7
0
 public CPK(ProgramControl pc,CheckUser check)
 {
     InitializeComponent();
     this.pc = pc;
     this.checkuser = check;
 }
Beispiel #8
0
        internal void SendObject(CheckUser cu)
        {
            try
            {
                if (myMark == "Server")
                {
                    for (int i = 0; i < n; i++)
                    {
                        socketStream = new NetworkStream(players[i].connection);

                        writer = new BinaryWriter(socketStream);
                        reader = new BinaryReader(socketStream);
                        writer.Write(Check_Head + getByteArrayWithObject(cu).Length.ToString());
                        writer.Write(getByteArrayWithObject(cu));
                    }

                }
                else
                {
                    writer.Write(Check_Head + getByteArrayWithObject(cu).Length.ToString());
                    writer.Write(getByteArrayWithObject(cu));
                }
            }
            catch (SocketException)
            {
                MessageBox.Show("���f�]�w���~�I");
            }
        }
Beispiel #9
0
 public byte[] getByteArrayWithObject(CheckUser check)
 {
     MemoryStream ms = new MemoryStream();
     BinaryFormatter bf1 = new BinaryFormatter();
     bf1.Serialize(ms, check);
     return ms.ToArray();
 }
Beispiel #10
0
        internal override void toUser(CheckUser check)
        {
            if (myTurn)
                base.toUser(check);
            else
            {
                chat.SendObject(all);
                chat.SendObject(new CheckUser(check.Chow, check.Pong, check.Kong, check.DarkKong, check.Win, true, check.Brand));
                sendoutbrand = check.Brand;
                //chat.SendObject(brand);
                /*while (!get_CheckUser)
                {

                    if (get_CheckUser)
                        break;
                }
                //lock (this)
                //{
                //    MessageBox.Show("Lock!");
                //    //Monitor.Wait(this);
                //}
                runCheckUser(check.Brand);

                get_CheckUser = false;*/
                chat.SendObject(all);
            }
        }