本文整理汇总了Python中pychess.Utils.lutils.LBoard.LBoard.opIsChecked方法的典型用法代码示例。如果您正苦于以下问题:Python LBoard.opIsChecked方法的具体用法?Python LBoard.opIsChecked怎么用?Python LBoard.opIsChecked使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pychess.Utils.lutils.LBoard.LBoard
的用法示例。
在下文中一共展示了LBoard.opIsChecked方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_apply_pop
# 需要导入模块: from pychess.Utils.lutils.LBoard import LBoard [as 别名]
# 或者: from pychess.Utils.lutils.LBoard.LBoard import opIsChecked [as 别名]
def test_apply_pop(self):
"""Testing Atomic applyMove popMove"""
board = LBoard(variant=ATOMICCHESS)
board.applyFen(FEN1)
print(board)
hist_exploding_around0 = [a[:] for a in board.hist_exploding_around]
print_apply_pop = False
for lmove1 in genAllMoves(board):
board.applyMove(lmove1)
if board.opIsChecked():
if print_apply_pop: print("popMove1 (invalid)", Move(lmove1))
board.popMove()
continue
hist_exploding_around1 = [a[:] for a in board.hist_exploding_around]
for lmove2 in genAllMoves(board):
board.applyMove(lmove2)
if print_apply_pop: print(" applyMove2", Move(lmove2))
if board.opIsChecked():
if print_apply_pop: print(" popMove2 (invalid)", Move(lmove2))
board.popMove()
continue
hist_exploding_around2 = [a[:] for a in board.hist_exploding_around]
for lmove3 in genAllMoves(board):
board.applyMove(lmove3)
if print_apply_pop: print(" applyMove3", Move(lmove3))
if board.opIsChecked():
if print_apply_pop: print(" popMove3 (invalid)", Move(lmove3))
board.popMove()
continue
board.popMove()
if print_apply_pop: print(" popMove3", Move(lmove3))
self.assertEqual(hist_exploding_around2, board.hist_exploding_around)
board.popMove()
if print_apply_pop: print(" popMove2", Move(lmove2))
self.assertEqual(hist_exploding_around1, board.hist_exploding_around)
board.popMove()
if print_apply_pop: print("popMove1", Move(lmove1))
self.assertEqual(hist_exploding_around0, board.hist_exploding_around)
示例2: test_parseFAN
# 需要导入模块: from pychess.Utils.lutils.LBoard import LBoard [as 别名]
# 或者: from pychess.Utils.lutils.LBoard.LBoard import opIsChecked [as 别名]
def test_parseFAN(self):
"""Testing parseFAN"""
board = LBoard()
board.applyFen("rnbqkbnr/8/8/8/8/8/8/RNBQKBNR w KQkq - 0 1")
for lmove in genAllMoves(board):
board.applyMove(lmove)
if board.opIsChecked():
board.popMove()
continue
board.popMove()
fan = toFAN(board, lmove)
self.assertEqual(parseFAN(board, fan), lmove)
示例3: create_fen
# 需要导入模块: from pychess.Utils.lutils.LBoard import LBoard [as 别名]
# 或者: from pychess.Utils.lutils.LBoard.LBoard import opIsChecked [as 别名]
def create_fen(pieces):
""" Create a random FEN position using given pieces """
pos = pieces.rfind("k")
pieces = pieces[:pos], pieces[pos:]
ok = False
while not ok:
lboard = LBoard()
lboard.applyFen("8/8/8/8/8/8/8/8 w - - 0 1")
bishop_cords = [[], []]
bishop_colors_ok = True
cords = list(range(0, 64))
pawn_cords = list(range(0 + 8, 64 - 8))
# Order of color is important here to prevent offering
# positions with trivial captures in first move
for color in (WHITE, BLACK):
for char in pieces[color]:
piece = chrU2Sign[char.upper()]
attacked = True
limit = 100
while attacked and limit > 0:
cord = random.choice(pawn_cords if char == "p" else cords)
attacked = isAttacked(lboard, cord, 1 - color)
limit -= 1
lboard._addPiece(cord, piece, color)
cords.remove(cord)
if cord in pawn_cords:
pawn_cords.remove(cord)
if char == "b":
bishop_cords[color].append(cord)
# 2 same color bishop is not ok
if len(bishop_cords[color]) == 2 and bishop_colors_ok:
b0, b1 = bishop_cords[color]
b0_color = BLACK if RANK(b0) % 2 == FILE(b0) % 2 else WHITE
b1_color = BLACK if RANK(b1) % 2 == FILE(b1) % 2 else WHITE
if b0_color == b1_color:
bishop_colors_ok = False
break
ok = (not lboard.isChecked()) and (not lboard.opIsChecked()) and bishop_colors_ok
fen = lboard.asFen()
return fen
示例4: test_apply_pop
# 需要导入模块: from pychess.Utils.lutils.LBoard import LBoard [as 别名]
# 或者: from pychess.Utils.lutils.LBoard.LBoard import opIsChecked [as 别名]
def test_apply_pop(self):
"""Testing Crazyhouse applyMove popMove"""
board = LBoard(variant=CRAZYHOUSECHESS)
board.applyFen(FEN1)
holding0 = (board.holding[0].copy(), board.holding[1].copy())
promoted0 = board.promoted[:]
capture_promoting0 = board.capture_promoting
hist_capture_promoting0 = board.hist_capture_promoting[:]
print_board_promoted = False
print_apply_pop = False
for lmove1 in genAllMoves(board):
#if lmove1 != parseAN(board, "c7b8=Q"):
# continue
board.applyMove(lmove1)
if print_apply_pop: print("applyMove1", Move(lmove1), board.holding, board.capture_promoting)
if print_board_promoted: print(board.promoted)
if board.opIsChecked():
if print_apply_pop: print("popMove1 (invalid)", Move(lmove1))
board.popMove()
continue
holding1 = (board.holding[0].copy(), board.holding[1].copy())
promoted1 = board.promoted[:]
capture_promoting1 = board.capture_promoting
hist_capture_promoting1 = board.hist_capture_promoting[:]
for lmove2 in genAllMoves(board):
#if lmove2 != parseAN(board, "e8f7"):
# continue
board.applyMove(lmove2)
if print_apply_pop: print(" applyMove2", Move(lmove2), board.holding, board.capture_promoting)
if print_board_promoted: print(board.promoted)
if board.opIsChecked():
if print_apply_pop: print(" popMove2 (invalid)", Move(lmove2))
board.popMove()
continue
holding2 = (board.holding[0].copy(), board.holding[1].copy())
promoted2 = board.promoted[:]
capture_promoting2 = board.capture_promoting
hist_capture_promoting2 = board.hist_capture_promoting[:]
for lmove3 in genAllMoves(board):
#if lmove3 != parseAN(board, "b8c8"):
# continue
board.applyMove(lmove3)
if print_apply_pop: print(" applyMove3", Move(lmove3), board.holding, board.capture_promoting)
if print_board_promoted: print(board.promoted)
if board.opIsChecked():
if print_apply_pop: print(" popMove3 (invalid)", Move(lmove3))
board.popMove()
continue
board.popMove()
if print_apply_pop: print(" popMove3", Move(lmove3), board.holding, board.capture_promoting)
if print_board_promoted: print(board.promoted)
self.assertEqual(holding2, board.holding)
self.assertEqual(promoted2, board.promoted)
self.assertEqual(capture_promoting2, board.capture_promoting)
self.assertEqual(hist_capture_promoting2, board.hist_capture_promoting)
board.popMove()
if print_apply_pop: print(" popMove2", Move(lmove2), board.holding, board.capture_promoting)
if print_board_promoted: print(board.promoted)
self.assertEqual(holding1, board.holding)
self.assertEqual(promoted1, board.promoted)
self.assertEqual(capture_promoting1, board.capture_promoting)
self.assertEqual(hist_capture_promoting1, board.hist_capture_promoting)
board.popMove()
if print_apply_pop: print("popMove1", Move(lmove1), board.holding, board.capture_promoting)
if print_board_promoted: print(board.promoted)
self.assertEqual(holding0, board.holding)
self.assertEqual(promoted0, board.promoted)
self.assertEqual(capture_promoting0, board.capture_promoting)
self.assertEqual(hist_capture_promoting0, board.hist_capture_promoting)