Python——五子棋游戏
以上代码使用numpy创建了一个15x15的空棋盘,通过输入行和列的方式让两个玩家交替在棋盘上放置自己的棋子。每次放置后,会检查是否有五子连线,如果有则宣布当前玩家获胜。游戏循环会一直进行,直到有玩家获胜为止。
·
import numpy as np
# 创建一个棋盘
board = np.zeros((15, 15))
# 定义当前玩家和另一个玩家的标记
current_player = 1
other_player = 2
# 检查是否有五子连线
def check_win(player):
# 检查水平方向
for i in range(11):
for j in range(15):
if board[i:i+5, j].sum() == 5 * player:
return True
# 检查垂直方向
for i in range(15):
for j in range(11):
if board[i, j:j+5].sum() == 5 * player:
return True
# 检查对角线
for i in range(11):
for j in range(11):
if board[i:i+5, j:j+5].diagonal().sum() == 5 * player:
return True
if np.fliplr(board[i:i+5, j:j+5]).diagonal().sum() == 5 * player:
return True
return False
# 游戏循环
while True:
print("当前棋盘:")
print(board)
print("当前玩家:", current_player)
# 提示玩家输入行和列
row = int(input("请输入行号:"))
column = int(input("请输入列号:"))
# 判断输入是否合法
if row < 0 or row >= 15 or column < 0 or column >= 15 or board[row, column] != 0:
print("无效的位置,请重新输入!")
continue
# 在棋盘上放置棋子
board[row, column] = current_player
# 检查是否有五子连线
if check_win(current_player):
print("玩家", current_player, "获胜!")
break
# 切换玩家
current_player, other_player = other_player, current_player
以上代码使用numpy创建了一个15x15的空棋盘,通过输入行和列的方式让两个玩家交替在棋盘上放置自己的棋子。每次放置后,会检查是否有五子连线,如果有则宣布当前玩家获胜。游戏循环会一直进行,直到有玩家获胜为止。
更多推荐
所有评论(0)