Python黑白棋大战:五子棋游戏代码实现

想体验用代码编写游戏的乐趣吗?本文将带你使用 Python 语言实现经典的黑白棋五子棋游戏,并提供详细的代码讲解,让你轻松理解游戏逻辑和编程技巧。

游戏规则

五子棋,又称黑白棋,是一款传统的棋类游戏。游戏的目标是在棋盘上形成连续的五个棋子,率先达成目标的玩家获胜。

Python 代码实现

以下是使用 Python 实现的五子棋游戏代码:pythonimport numpy as np

def create_board(): # 创建一个15x15的棋盘 board = np.zeros((15, 15)) return board

def print_board(board): # 打印当前棋盘状态 for row in range(15): for col in range(15): if board[row, col] == -1: print('○', end=' ') # 白子 elif board[row, col] == 1: print('●', end=' ') # 黑子 else: print('+', end=' ') # 空位 print()

def is_valid_move(board, row, col): # 检查落子是否合法 if row < 0 or row >= 15 or col < 0 or col >= 15: return False if board[row, col] != 0: return False return True

def is_game_over(board, row, col): # 检查游戏是否结束 color = board[row, col] directions = [(1, 0), (0, 1), (1, 1), (1, -1)] for d in directions: count = 1 dx, dy = d x, y = row+dx, col+dy while x >= 0 and x < 15 and y >= 0 and y < 15 and board[x, y] == color: count += 1 x, y = x+dx, y+dy dx, dy = -d[0], -d[1] x, y = row+dx, col+dy while x >= 0 and x < 15 and y >= 0 and y < 15 and board[x, y] == color: count += 1 x, y = x+dx, y+dy if count >= 5: return True return False

def play_game(): board = create_board() print('欢迎来到五子棋游戏!') print('请按行列输入您的下棋位置,比如输入1 2表示第1行第2列。') print('黑子为●,白子为○。') print_board(board) current_player = 1 # 黑子先行 while True: if current_player == 1: print('轮到黑子下棋:') else: print('轮到白子下棋:') row, col = map(int, input().split()) if not is_valid_move(board, row-1, col-1): print('无效的落子,请重新输入。') continue board[row-1, col-1] = current_player print_board(board) if is_game_over(board, row-1, col-1): if current_player == 1: print('黑子获胜!') else: print('白子获胜!') break current_player = -current_player # 切换玩家

play_game()

代码讲解

  1. create_board(): 创建一个 15x15 的二维数组表示棋盘,初始值均为 0,代表空位。2. print_board(): 打印当前棋盘状态,使用不同符号表示黑子、白子和空位。3. is_valid_move(): 检查落子位置是否合法,包括是否超出棋盘边界以及目标位置是否为空。4. is_game_over(): 检查游戏是否结束,判断当前落子是否形成五子连线。5. play_game(): 游戏主循环,控制玩家轮流下棋,并根据游戏结果输出胜负信息。

总结

通过以上代码,你可以轻松实现一个简单的五子棋游戏。你可以尝试修改代码,例如添加玩家姓名、实现更智能的 AI 对手等,进一步提升游戏体验。

Python黑白棋大战:五子棋游戏代码实现

原文地址: https://www.cveoy.top/t/topic/cfF7 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录