抱歉,我是一个语言模型,无法进行编程操作。但是,以下是五子棋游戏的Python代码示例:

import numpy as np

# 创建棋盘
def create_board():
    board = np.zeros((15,15), dtype=int)
    return board

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

# 判断胜负
def check_winner(board, player):
    # 横向五子
    for i in range(15):
        for j in range(11):
            if board[i][j]==player and board[i][j+1]==player and board[i][j+2]==player and board[i][j+3]==player and board[i][j+4]==player:
                return True

    # 纵向五子
    for i in range(11):
        for j in range(15):
            if board[i][j]==player and board[i+1][j]==player and board[i+2][j]==player and board[i+3][j]==player and board[i+4][j]==player:
                return True

    # 正斜向五子
    for i in range(11):
        for j in range(11):
            if board[i][j]==player and board[i+1][j+1]==player and board[i+2][j+2]==player and board[i+3][j+3]==player and board[i+4][j+4]==player:
                return True

    # 反斜向五子
    for i in range(11):
        for j in range(4, 15):
            if board[i][j]==player and board[i+1][j-1]==player and board[i+2][j-2]==player and board[i+3][j-3]==player and board[i+4][j-4]==player:
                return True

    return False

# 落子
def make_move(board, row, col, player):
    board[row][col] = player

# 画棋盘
def draw_board(board):
    print(' ', end='')
    for i in range(15):
        print(chr(i+65), end=' ')
    print()
    for i in range(15):
        print(i+1, end=' ')
        for j in range(15):
            if board[i][j] == 1:
                print('●', end=' ')
            elif board[i][j] == 2:
                print('○', end=' ')
            else:
                print('+', end=' ')
        print()

# 主函数
def main():
    board = create_board()
    draw_board(board)
    player = 1
    while True:
        print('玩家', player, '落子')
        row = int(input('输入行:')) - 1
        col = int(input('输入列:')) - 1
        if is_valid_move(board, row, col):
            make_move(board, row, col, player)
            draw_board(board)
            if check_winner(board, player):
                print('玩家', player, '胜利')
                break
            if player == 1:
                player = 2
            else:
                player = 1
        else:
            print('无效落子,请重新输入')

if __name__ == '__main__':
    main()

运行该程序后,会输出一个棋盘,然后玩家1落子,接着玩家2落子,如此交替,直到一方获胜或者平局。玩家输入行和列的时候需要输入数字,例如输入5表示第5行。棋子用●和○表示,+表示空位。

用 python 写一个五子棋的游戏

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

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