五子棋悔棋的代码
时间: 2023-07-02 15:19:59 浏览: 184
以下是一个简单的五子棋悔棋代码示例,你可以参考一下:
```python
# 定义棋盘大小
BOARD_SIZE = 15
# 初始化棋盘
board = [['+' for x in range(BOARD_SIZE)] for y in range(BOARD_SIZE)]
# 保存棋子历史记录
history = []
# 定义悔棋函数
def undo_move():
if len(history) > 0:
x, y = history.pop()
board[x][y] = '+'
print("已悔棋,当前棋盘:")
print_board()
# 定义落子函数
def make_move(x, y, player):
if board[x][y] == '+':
board[x][y] = player
history.append((x, y))
print("当前棋盘:")
print_board()
else:
print("该位置已经有棋子,请重新落子!")
# 定义打印棋盘函数
def print_board():
for i in range(BOARD_SIZE):
print(' '.join(board[i]))
# 测试代码
make_move(7, 7, 'X')
make_move(6, 6, 'O')
make_move(7, 6, 'X')
make_move(5, 5, 'O')
undo_move()
undo_move()
```
上述代码中,我们使用一个二维列表来表示棋盘,'+'表示该位置没有棋子,'X'表示黑子,'O'表示白子。当落子时,将对应位置的值改为玩家的棋子,并将该位置的坐标保存到历史记录中。当悔棋时,将取出最后一次落子的坐标,并将该位置的值改为'+'。最后,我们编写了一个简单的测试代码,检查悔棋功能是否正常工作。
阅读全文