1. 棋盘初始化
我们可以用一个二维列表来表示棋盘,一个简单的5x5棋盘可以这样表示:
```python
def create_board(size=5):
return [[' ' for _ in range(size)] for _ in range(size)]
2. 棋子放置
玩家需要选择一个位置放置棋子,我们可以通过坐标来选择位置,然后更新棋盘:
```python
def place_piece(board, row, col, piece):
if board[row][col] == ' ':
board[row][col] = piece
return True
return False
3. 胜负判断
为了判断当前玩家是否获胜,我们需要检查最近放置的棋子所在行、列和对角线上的五子是否连成一线:
```python
def check_winner(board, piece):
size = len(board)
检查行
for row in board:
if piece * 5 in ''.join(row):
return True
检查列
for col in range(size):
if piece * 5 in ''.join(board[row][col] for row in range(size)):
return True
检查对角线
if piece * 5 in ''.join(board[i][i] for i in range(size)):
return True
if piece * 5 in ''.join(board[i][size - 1 - i] for i in range(size)):
return True
return False
4. 游戏主循环
控制游戏流程,使两个玩家轮流下棋:
```python
def play_game():
board = create_board()
current_player = 'black'
while True:
print(f"Player {current_player}'s turn")
这里应该有用户输入或其他方式来选择位置
row, col = map(int, input("Enter row and column (0-indexed): ").split())
if place_piece(board, row, col, current_player):
if check_winner(board, current_player):
print(f"Player {current_player} wins!")
break
current_player = 'white' if current_player == 'black' else 'black'
else:
print("Invalid move, try again.")
5. 使用Pygame实现图形界面