很高兴为您提供五子棋小游戏的代码,如下所示:

import numpy as np

def create_board():
    board = np.zeros((15, 15))
    return board

def place_piece(board, row, col, piece):
    board[row][col] = piece

def is_valid_move(board, row, col):
    return board[row][col] == 0

def get_winner(board):
    # Check rows
    for row in range(15):
        for col in range(11):
            if board[row][col] == board[row][col+1] == board[row][col+2] == board[row][col+3] == board[row][col+4] != 0:
                return board[row][col]

    # Check columns
    for row in range(11):
        for col in range(15):
            if board[row][col] == board[row+1][col] == board[row+2][col] == board[row+3][col] == board[row+4][col] != 0:
                return board[row][col]

    # Check diagonals
    for row in range(11):
        for col in range(11):
            if board[row][col] == board[row+1][col+1] == board[row+2][col+2] == board[row+3][col+3] == board[row+4][col+4] != 0:
                return board[row][col]

    for row in range(11):
        for col in range(4, 15):
            if board[row][col] == board[row+1][col-1] == board[row+2][col-2] == board[row+3][col-3] == board[row+4][col-4] != 0:
                return board[row][col]

    return 0

def print_board(board):
    print('   ', end='')
    for i in range(15):
        print('{:2d}'.format(i), end='')
    print()
    for row in range(15):
        print('{:2d}'.format(row), end='')
        for col in range(15):
            if board[row][col] == 0:
                print(' . ', end='')
            elif board[row][col] == 1:
                print(' X ', end='')
            else:
                print(' O ', end='')
        print()

def play_game():
    board = create_board()
    print_board(board)
    game_over = False
    turn = 1
    while not game_over:
        if turn == 1:
            row = int(input('Player 1's turn, enter row: '))
            col = int(input('Player 1's turn, enter col: '))
            if is_valid_move(board, row, col):
                place_piece(board, row, col, 1)
                print_board(board)
                if get_winner(board) == 1:
                    print('Player 1 wins!')
                    game_over = True
                turn = 2
            else:
                print('Invalid move, try again.')
        else:
            row = int(input('Player 2's turn, enter row: '))
            col = int(input('Player 2's turn, enter col: '))
            if is_valid_move(board, row, col):
                place_piece(board, row, col, 2)
                print_board(board)
                if get_winner(board) == 2:
                    print('Player 2 wins!')
                    game_over = True
                turn = 1
            else:
                print('Invalid move, try again.')

play_game()

这个代码会让两个玩家轮流下棋子,直到有一人获胜为止。其中,create_board 函数创建一个 15x15 的棋盘,place_piece 函数放置棋子,is_valid_move 函数检查棋子是否可以放置在指定位置,get_winner 函数检查是否有获胜者,print_board 函数打印出当前的棋盘状态,play_game 函数开始游戏并控制流程。

五子棋小游戏 Python 代码实现

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

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