示例#1
0
        public XuLyBanCo(Panel banco, TextBox tennguoichoi, PictureBox kyhieu)
        {
            this.BanCo           = banco;
            this.TenNguoiChoi    = tennguoichoi;
            this.KyHieuNguoiChoi = kyhieu;

            this.NguoiChoi = new List <Player>()
            {
                new Player("First Player", Image.FromFile("X.jpg"), Amthanh1),
                new Player("Second Player", Image.FromFile("O.jpg"), Amthanh2)
            };

            //Khởi Tạo stack

            PlayTimeLine = new MyTack <PlayInfo>();

            Stack2 = new MyTack <Point>();

            //Lấy thông tin tên người chơi từ formNhapThongTin
            FormNhapthongTin f = new FormNhapthongTin();

            //Nếu không nhập tên thì sẽ không cập nhật tên người chơi
            if (f.Name11 != "" && f.Name21 != "")
            {
                nguoichoi[0].Name = f.Name11;
                nguoichoi[1].Name = f.Name21;
            }

            N1 = nguoichoi[0].Name;
            N2 = nguoichoi[1].Name;
            NguoiChoiHienTai = 0;        //Mặc định người thứ nhất đi trước ( X đi trước )

            DoiNguoiChoi();              //Để picture Mark hiện ảnh và cho biết ai đi trước.
        }
示例#2
0
        /////////////////////

        public void VeBanCo()
        {
            BanCo.Enabled = true;                        //panel phải dc enable để chơi
            Matrix        = new List <List <Button> >(); //Khởi tạo 2 list lồng nhau

            PlayTimeLine = new MyTack <PlayInfo>();

            Button ButtonCu = new Button()
            {
                Width = 0, Location = new Point(0, 0)                   //Khởi tạo nút đầu làm mốc
            };

            //Sử dụng hai vòng lặp lồng nhau để tạo ra bàn cờ, mỗi ô đánh là một button
            for (int i = 0; i < Cons.ChieuCaoBC; i++)                   //Đi hết hàng
            {
                Matrix.Add(new List <Button>());                        //Tạo ra một list mới để lưu lại

                for (int j = 0; j < Cons.ChieuRongBC; j++)              //Đi hết cột
                {
                    Button btn = new Button()
                    {
                        Width  = Cons.ChieuRongbtn,     //Tạo ra các nút có chiều rộng là cons.ChieuRongbtn, chiều cao là cons.ChieuCaobtn
                        Height = Cons.ChieuCaobtn,

                        //Tạo nên button tiếp theo dựa vào ButtonCu
                        Location = new Point(ButtonCu.Location.X + ButtonCu.Width, ButtonCu.Location.Y),

                        //Định dạng lại ảnh cho vừa với PictureBox
                        BackgroundImageLayout = ImageLayout.Stretch,

                        Tag = i.ToString()                                              //Lưu lại hàng của button
                    };

                    btn.Click += btn_Click;                             //Tạo event Click

                    //Thêm button vào panel bàn cờ.
                    BanCo.Controls.Add(btn);

                    Matrix[i].Add(btn); //Add button vào hàng thứ i của Matrix
                    ButtonCu = btn;     //gán Button mới được tạo thành button cũ để tạo ra các button tiếp theo
                }
                //Hết một hàng, khởi tạo lại hàng mới
                ButtonCu.Location = new Point(0, ButtonCu.Location.Y + Cons.ChieuCaobtn);
                ButtonCu.Width    = 0;
                ButtonCu.Height   = 0;
            }
        }