用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - python代码库

和人工智能下的“井字棋”

2023-05-28 作者: 小guo举报

[python]代码库

import random

# 定义棋盘
board = [[' ' for _ in range(3)] for _ in range(3)]


# 打印棋盘
def print_board():
    print('-------------')
    for i in range(3):
        print('|', board[i][0], '|', board[i][1], '|', board[i][2], '|')
        print('-------------')


# 判断胜负
def check_win(player):
    for i in range(3):
        if board[i][0] == board[i][1] == board[i][2] == player:
            return True
        if board[0][i] == board[1][i] == board[2][i] == player:
            return True
    if board[0][0] == board[1][1] == board[2][2] == player:
        return True
    if board[0][2] == board[1][1] == board[2][0] == player:
        return True
    return False


# 人类玩家落子
def human_player():
    while True:
        row = int(input('请输入行号(1-3):'))
        col = int(input('请输入列号(1-3):'))
        if row < 1 or row > 3 or col < 1 or col > 3:
            print('输入有误,请重新输入!')
        elif board[row - 1][col - 1] != ' ':
            print('该位置已经有棋子了,请重新输入!')
        else:
            board[row - 1][col - 1] = 'X'
            break


# AI玩家落子
def ai_player():
    while True:
        row = random.randint(1, 3)
        col = random.randint(1, 3)
        if board[row - 1][col - 1] == ' ':
            board[row - 1][col - 1] = 'O'
            break


# 主函数
def main():
    print('欢迎来到人工智能PK棋盘游戏!')
    print_board()
    while True:
        human_player()
        print_board()
        if check_win('X'):
            print('恭喜你获胜了!')
            break
        if ' ' not in [cell for row in board for cell in row]:
            print('平局!')
            break
        ai_player()
        print_board()
        if check_win('O'):
            print('很遗憾,你输了!')
            break


# 运行主函数
if __name__ == '__main__':
    main()


网友评论    (发表评论)

共1 条评论 1/1页

发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...