实现一个简单的五子棋python
时间: 2024-10-02 08:04:33 浏览: 14
实现一个简单的五子棋游戏在Python中需要考虑游戏规则、用户界面交互以及AI对手的策略。以下是一个基础版本的示例:
```python
import numpy as np
# 定义棋盘大小和初始状态
CHessBoard_SIZE = 15
board = np.zeros((CHessBoard_SIZE, CHessBoard_SIZE), dtype=int)
def draw_board():
print("-------------")
for row in board:
print("|", " ".join(["X" if cell == 1 else "O" if cell == -1 else "." for cell in row]))
print("|--")
def make_move(player, x, y):
board[x][y] = player
check_win(player, x, y)
def check_win(player, x, y):
# 检查四个方向是否有五个连续的棋子
directions = [(0, 1), (1, 0), (0, -1), (-1, 0)]
for dx, dy in directions:
count = 1
while 0 <= x + dx < ChessBoard_SIZE and 0 <= y + dy < ChessBoard_SIZE:
if board[x + dx][y + dy] == player:
count += 1
else:
break
if count >= 5:
print(f"{player} wins!")
return True
def main():
player_x = 1 # X先手
player_o = -1 # O后手
while not check_win(player_x, 7, 7) and not check_win(player_o, 7, 7): # 直到一方赢得比赛
draw_board()
move = input(f"Player {player_x}, enter your move (x, y): ")
try:
x, y = map(int, move.split(","))
make_move(player_x, x, y)
if check_win(player_o, x, y):
break
except ValueError:
print("Invalid move, please try again.")
if __name__ == "__main__":
main()
```