Ejemplo n.º 1
0
        private void btnStart_Click(object sender, EventArgs e)
        {
            BoBai x = new BoBai();

            x.xaoBai();
            textBox1.Text = x.inbai() + "fsdfsdfsdfsdf\r\n" + x.boBai[0].LayBai();
            txbPort.Text  = x.ktra();
        }
Ejemplo n.º 2
0
        //public int Ready()
        //{
        //    readyPlayers++;
        //    return readyPlayers;
        //}

        public void chiaBai(SocketModel[] SocketList)
        {
            //Khi chia bài thì đưa ra tín hiệu là phòng đang chơi và set role của người chơi là 1
            isPlaying = true;
            soNguoiChoiTaiLucChiaBai = players.Count();
            bobai.xaoBai();
            int count = players.Count();        // Số người chơi hiện tại trong phòng

            string[] NguoiChoi = new string[4]; //Giá trị bài mà mỗi người chơi nhận được sẽ được lưu tạm vào đây, Sau khi đủ 13 lá sẽ được gửi về client
            int      indexOfPlayer;             // chỉ số của List Player chạy từ 0 tới count (max(count)=4)

            for (int i = 0; i < count * 13; i = indexOfPlayer + i)
            {
                indexOfPlayer = 0;
                for (int k = nguoiDangThang; k < count; k++)
                {
                    if (i + indexOfPlayer < count * 13)
                    {
                        NguoiChoi[k] += bobai.boBai[i + indexOfPlayer].LayBai() + "\r\t";
                    }
                    indexOfPlayer++;
                }
                nguoiDangThang = 0;
            }

            //Nếu là ván đầu tiên, thì lượt đánh dành cho người có cầm lá nhỏ nhất
            if (sovan == 0)
            {
                for (int i = 0; i < count; i++)
                {
                    if (NguoiChoiCoQuanBaiNhoNhat(NguoiChoi) == i)
                    {
                        turn = i;
                        SocketList[players[i].pos].SendData(NguoiChoi[i] + "turn" + count + i);//Khi gửi bài về cho người chơi thì gửi kèm theo STT trong bàn
                    }
                    else
                    {
                        SocketList[players[i].pos].SendData(NguoiChoi[i] + count + i);//Như trên
                    }
                }
            }
            //Nếu là ván thứ hai trở đi, thì lượt đánh dành cho người chơi thắng ván trước đó
            else
            {
                SocketList[players[turn].pos].SendData(NguoiChoi[turn] + "turn" + count + turn);
                for (int i = 0; i < count; i++)
                {
                    if (i != turn)
                    {
                        SocketList[players[i].pos].SendData(NguoiChoi[i] + count + i);
                    }
                }
            }
        }
Ejemplo n.º 3
0
        void chiaBai()
        {
            BoBai bobai = new BoBai();

            bobai.xaoBai();

            List <SocketModel> SocketList = new List <SocketModel>();
            int count   = players.Count(); // Số người chơi hiện tại trong phòng
            int SoLaBai = 0;               // Nếu có đủ 4 người chơi thì số lá bài là 52, 3 người chơi thì số lá bài là 39, 2 người chơi thì số lá là 26

            if (count == 2)
            {
                SoLaBai = 26;
            }
            else if (count == 3)
            {
                SoLaBai = 39;
            }
            else if (count == 4)
            {
                SoLaBai = 52;
            }

            int indexOfPlayer;// chỉ số của List Player chạy từ 0 tới count (max(count)=4)

            for (int i = 1; i < SoLaBai; i = indexOfPlayer + i)
            {
                indexOfPlayer = 0;
                for (int k = nguoiDangThang; k < count; k++)
                {
                    SocketList[players[k].pos].SendData(bobai.boBai[i + indexOfPlayer].LayBai());
                    indexOfPlayer++;
                }
                nguoiDangThang = 0;
            }
        }