python五子棋人机对战
时间: 2023-06-21 17:21:11 浏览: 94
好的,我可以为您提供一个简单的五子棋人机对战的Python程序。您可以通过以下代码开始:
```python
import random
# 初始化棋盘
def init_board():
board = []
for i in range(15):
row = ['+' for j in range(15)]
board.append(row)
return board
# 打印棋盘
def print_board(board):
print(" ", end="")
for i in range(15):
print(chr(ord('a')+i), end=" ")
print()
for i in range(15):
print("%2d" % (i+1), end=" ")
for j in range(15):
print(board[i][j], end=" ")
print()
# 判断是否赢了
def is_win(board, symbol):
# 横向判断
for i in range(15):
for j in range(11):
if board[i][j] == symbol and board[i][j+1] == symbol and board[i][j+2] == symbol and board[i][j+3] == symbol and board[i][j+4] == symbol:
return True
# 竖向判断
for i in range(11):
for j in range(15):
if board[i][j] == symbol and board[i+1][j] == symbol and board[i+2][j] == symbol and board[i+3][j] == symbol and board[i+4][j] == symbol:
return True
# 左上到右下判断
for i in range(11):
for j in range(11):
if board[i][j] == symbol and board[i+1][j+1] == symbol and board[i+2][j+2] == symbol and board[i+3][j+3] == symbol and board[i+4][j+4] == symbol:
return True
# 右上到左下判断
for i in range(11):
for j in range(4, 15):
if board[i][j] == symbol and board[i+1][j-1] == symbol and board[i+2][j-2] == symbol and board[i+3][j-3] == symbol and board[i+4][j-4] == symbol:
return True
return False
# 人类下棋
def human_move(board):
while True:
print("请您输入您下棋的位置,例如 a1:")
move = input()
x = ord(move[0]) - ord('a')
y = int(move[1:]) - 1
if x < 0 or x > 14 or y < 0 or y > 14:
print("您输入的位置不符合要求,请重新输入!")
elif board[y][x] != '+':
print("您输入的位置已经有棋子了,请重新输入!")
else:
board[y][x] = 'X'
break
# AI下棋
def ai_move(board):
while True:
x = random.randint(0, 14)
y = random.randint(0, 14)
if board[y][x] == '+':
board[y][x] = 'O'
break
# 主函数
def main():
board = init_board()
print_board(board)
while True:
human_move(board)
print_board(board)
if is_win(board, 'X'):
print("恭喜您,您赢了!")
break
ai_move(board)
print_board(board)
if is_win(board, 'O'):
print("很遗憾,您输了!")
break
if __name__ == '__main__':
main()
```
这个程序会初始化一个 15x15 的棋盘,然后让人类和AI轮流下棋,判断是否胜利,直到有一方胜利。您可以运行这个程序,与AI进行五子棋的对战。
阅读全文
相关推荐














