Beispiel #1
0
 public bool KiemTraChienThang()
 {
     if (stk_CacNuocDaDi.Count == _BanCo.SoDong * _BanCo.SoCot)
     {
         _ketThuc = KetThuc.HoaCo;
         return(true);
     }
     foreach (OCo oco in stk_CacNuocDaDi)
     {
         if (DuyetDoc(oco.Dong, oco.Cot, oco.SoHuu) || DuyetNgang(oco.Dong, oco.Cot, oco.SoHuu) || DuyetCheoXuoi(oco.Dong, oco.Cot, oco.SoHuu) || DuyetCheoNguoc(oco.Dong, oco.Cot, oco.SoHuu))
         {
             _ketThuc = oco.SoHuu == 1 ? KetThuc.Player1 : KetThuc.Player2;
             return(true);
         }
     }
     return(false);
 }
Beispiel #2
0
        // Kiểm tra kẻ thắng
        public bool KiemTraThang()
        {
            // nếu đã đi full các nước
            if (stk_CacNuocDaDi.Count == _banco.Socot * _banco.Sodong)
            {
                // bị hòa
                _kethuc = KetThuc.HoaCo;
                return(true);
            }
            // Xét các trường hợp còn lại
            foreach (OCo oco in stk_CacNuocDaDi)
            {
                // Nếu có kẻ thắng
                if (DuyetDoc(oco.Dong, oco.Cot, oco.Sohuu) || DuyetNgang(oco.Dong, oco.Cot, oco.Sohuu) || DuyetCheoXuoi(oco.Dong, oco.Cot, oco.Sohuu) || DuyetCheoNguoc(oco.Dong, oco.Cot, oco.Sohuu))
                {
                    // kiểm tra người thắng hiện tại
                    _kethuc = (oco.Sohuu == 1 ? KetThuc.Player1 : KetThuc.Player2);
                    return(true);
                }
            }

            return(false);
        }