做个五子棋谢谢 ptyhon
好的,以下是一个简单的五子棋游戏的Python代码示例:
# 创建一个 15x15 的棋盘
board = [[' ' for _ in range(15)] for _ in range(15)]
# 打印棋盘
def print_board():
print(" 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15")
for i in range(15):
print(chr(ord('A') + i) + ' ' + ' '.join(board[i]))
# 判断某个位置是否可下棋
def is_valid_move(row, col):
if row < 0 or row >= 15 or col < 0 or col >= 15:
return False
if board[row][col] == ' ':
return True
return False
# 下棋
def make_move(row, col, player):
board[row][col] = player
# 检查游戏是否结束
def is_game_over(row, col, player):
directions = [(0, 1), (1, 0), (1, 1), (1, -1)] # 横、竖、斜向检查
for dx, dy in directions:
count = 1
x, y = row, col
while count < 5:
x += dx
y += dy
if not is_valid_move(x, y) or board[x][y] != player:
break
count += 1
x, y = row, col
while count < 5:
x -= dx
y -= dy
if not is_valid_move(x, y) or board[x][y] != player:
break
count += 1
if count >= 5:
return True
return False
# 游戏主循环
def game_loop():
current_player = 'X'
while True:
print_board()
move = input("玩家 {} 输入下棋位置(例如 A1):".format(current_player))
col = ord(move[0]) - ord('A')
row = int(move[1:]) - 1
if not is_valid_move(row, col):
print("无效的位置,请重新输入!")
continue
make_move(row, col, current_player)
if is_game_over(row, col, current_player):
print("玩家 {} 获胜!".format(current_player))
break
current_player = 'O' if current_player == 'X' else 'X'
# 启动游戏
game_loop()
以上代码实现了一个简单的控制台五子棋游戏,玩家可以输入行列坐标来下棋,输入例如 "A1" 表示在第一行第一列下棋。游戏会判断是否有玩家获胜并打印棋盘
原文地址: https://www.cveoy.top/t/topic/hyr0 著作权归作者所有。请勿转载和采集!