请安装我们的客户端
终生免费,永无广告!
第32章 五子棋的游戏代码(1/2)
你现在是营养丰富的程序员,写一段五子棋的游戏代码
很好,我可以帮你写一段简单的五子棋游戏代码。下面是示例代码:
```
import numpy as np
# 初始化棋盘
def init_board(n):
board = np.zeros((n, n))
return board
# 判断某个位置是否合法
def is_valid(board, move):
x, y = move
if board[x][y] == 0:
return True
else:
return False
# 下棋
def move(board, move, player):
if is_valid(board, move):
board[move[0]][move[1]] = player
return True
else:
return False
# 判断胜利条件
def check_win(board, player):
n = len(board)
# 检查行
for i in range(n):
count = 0
for j in range(n):
if board[i][j] == player:
count += 1
else:
count = 0
if count >= 5:
return True
# 检查列
for j in range(n):
count = 0
for i in range(n):
if board[i][j] == player:
count += 1
else:
count = 0
if count >= 5:
return True
# 检查主对角线
for k in range(n*2-1):
count = 0
for i in range(n):
j = k - i
if j >= 0 and j < n and board[i][j] == player:
count += 1
else:
count = 0
if count >= 5:
return True
# 检查副对角线
for k in range(-n+1, n):
count = 0
for i in range(n):
j = i - k
if j >= 0 and j < n and board[i][j] == player:
count += 1
else:
count = 0
if count >= 5:
return True
return False
# 游戏主循环
def play_game(n):
board = init_board(n)
players = [1, 2]
cur_player = 1
while True:
print("当前棋盘状态:")
print(board)
move_str = input("玩家{}请输入你要下的位置,格式为x,y:".format(cur_player))
move = tuple(map(int, move_str.split(",")))
if move[0] >= n or move[1] >= n:
print("输入的位置不合法,请重新输入")
continue
if not move(board, move, cur_player):
print("该位置已有棋子,请重新输入")
contin
本章未完,点击下一页继续阅读。
不想错过《AI帮你赚大钱,白捡的大便宜》更新?安装看书屋专用APP,作者更新立即推送!终生免费,永无广告!可换源阅读!