五子棋Python代码
时间: 2023-07-10 18:10:01 浏览: 43
好的,下面是一个简单的五子棋Python代码示例:
```python
import numpy as np
# 初始化棋盘大小和棋子类型
BOARD_SIZE = 15 # 棋盘大小
BLACK = 1 # 黑棋
WHITE = 2 # 白棋
# 初始化一个空棋盘
board = np.zeros((BOARD_SIZE, BOARD_SIZE))
# 定义棋盘落子函数
def move(board, x, y, player):
board[x][y] = player
# 定义判断胜利条件的函数
def check_win(board, player):
# 横向判断
for i in range(BOARD_SIZE):
for j in range(BOARD_SIZE - 4):
if board[i][j] == player and board[i][j+1] == player and board[i][j+2] == player and board[i][j+3] == player and board[i][j+4] == player:
return True
# 竖向判断
for i in range(BOARD_SIZE - 4):
for j in range(BOARD_SIZE):
if board[i][j] == player and board[i+1][j] == player and board[i+2][j] == player and board[i+3][j] == player and board[i+4][j] == player:
return True
# 左上到右下判断
for i in range(BOARD_SIZE - 4):
for j in range(BOARD_SIZE - 4):
if board[i][j] == player and board[i+1][j+1] == player and board[i+2][j+2] == player and board[i+3][j+3] == player and board[i+4][j+4] == player:
return True
# 右上到左下判断
for i in range(BOARD_SIZE - 4):
for j in range(4, BOARD_SIZE):
if board[i][j] == player and board[i+1][j-1] == player and board[i+2][j-2] == player and board[i+3][j-3] == player and board[i+4][j-4] == player:
return True
return False
# 测试代码
move(board, 7, 7, BLACK)
move(board, 7, 8, WHITE)
move(board, 8, 7, BLACK)
move(board, 8, 8, WHITE)
move(board, 9, 7, BLACK)
print(board)
print(check_win(board, BLACK)) # True
print(check_win(board, WHITE)) # False
```
这段代码实现了一个简单的五子棋游戏。其中,`board`代表棋盘,`move()`函数用于落子,`check_win()`函数用于判断胜利条件。您可以自行调整落子位置,测试代码的效果。