温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

使用python怎么实现一个井字棋游戏

发布时间:2021-05-26 11:49:09 来源:亿速云 阅读:350 作者:Leah 栏目:开发技术

这篇文章将为大家详细讲解有关使用python怎么实现一个井字棋游戏,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

使用python实现井字棋游戏,没有具体算法,只是用随机下棋简单实现:

import random board = [['+','+','+'],['+','+','+'],['+','+','+']] def ma(board):     if isempty(board):         a = random.randint(0, 2)         b = random.randint(0, 2)         if board[a][b] != 'X' and board[a][b] != 'O':             print("机器走:")             board[a][b] = 'O'             oput(board)         else:             ma(board)     else:         print("平局") def oput(board):     print("  0 1 2")     for i in range(3):         print(i, end=' ')         for j in range(3):             print(board[i][j], end=" ")         print("") def winput(i,j):     if board[i][j] == 'X':         print("human win")     else:         print("machine win")     return 1 def test(board):     for i in range(3):         for j in range(3):             if board[i][j] != '+':                 if j == 0:                     if board[i][j] == board[i][j + 1] == board[i][j + 2]:                         return winput(i,j)                 if i == 0:                     if board[i][j] == board[i + 1][j] == board[i + 2][j]:                         return winput(i,j)                 if i == 0 and j == 0:                     if board[i][j] == board[i + 1][j + 1] == board[i + 2][j + 2]:                         return winput(i,j)                 if i == 2 and j == 0:                     if board[i][j] == board[i - 1][j + 1] == board[i - 2][j + 2]:                         return winput(i,j) def isempty(board):     for i in range(3):         for j in range(3):             if board[i][j] == '+':                 return True     return False def main():     print("初始棋盘:")     oput(board)     flag = 0     t = input("human first? Y/N  human for X, machine for O\n")     if t == 'Y':         while isempty(board):             print("人走:  ")             a, b = map(int, input("输入落子纵横坐标: a,b \n").split(','))             if board[a][b] == '+':                board[a][b] = 'X'                oput(board)                flag = test(board)                if flag == 1:                   break             else:                 print("落子位置不对")                 continue             ma(board)             flag = test(board)             if flag == 1:                 break             if isempty(board) == 0 and flag == 0:                 print("平局")                 break     elif t == 'N':         while isempty(board):             ma(board)             flag = test(board)             if isempty(board) == 0 and flag == 0:                 print("平局")                 break             if flag == 1:                 break             print("人走:  ")             a, b = map(int, input("输入落子纵横坐标: a,b \n").split(','))             if board[a][b] == '+':                 board[a][b] = 'X'                 oput(board)                 flag = test(board)                 if flag == 1:                     break             else:                 print("落子位置不对")                 continue if __name__ == "__main__":     main()

结果:

使用python怎么实现一个井字棋游戏

关于使用python怎么实现一个井字棋游戏就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI