python怎么实现简易五子棋游戏控制台版
发表于:2024-10-28 作者:千家信息网编辑
千家信息网最后更新 2024年10月28日,今天小编给大家分享一下python怎么实现简易五子棋游戏控制台版的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,
千家信息网最后更新 2024年10月28日python怎么实现简易五子棋游戏控制台版
今天小编给大家分享一下python怎么实现简易五子棋游戏控制台版的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
运行效果:
完整代码+注释:
finish = False # 游戏是否结束flagNum = 1 # 当前下棋者标记flagch = '*' # 当前下棋者棋子x = 0 # 当前棋子的横坐标y = 0 # 当前棋子的纵坐标print('---------五子棋游戏(控制台版)---------')# 棋盘初始化checkerboard=[]for i in range(10): checkerboard.append([]) for j in range(10): checkerboard[i].append('-')def msg(): # 输出最后胜利的棋盘 print("\033[1;37;44m--------------------------------") print(" 1 2 3 4 5 6 7 8 9 10") for i in range(len(checkerboard)): print(chr(i + ord('A')) + " ", end=' ') for j in range(len(checkerboard[i])): print(checkerboard[i][j] + " ", end=' ') print() print("--------------------------------\033[0m") # 输出赢家 if (flagNum == 1): print('\033[32m*棋胜利!***\033[0m') else: print('\033[32mo棋胜利!***\033[0m') while not finish: # 打印棋盘 print("\033[1;30;46m--------------------------------") print(" 1 2 3 4 5 6 7 8 9 10") for i in range(len(checkerboard)): print(chr(i + ord('A')) + " ", end=' '); for j in range(len(checkerboard[i])): print(checkerboard[i][j] + " ", end=' ') print() print("--------------------------------\033[0m") # 判断当前下棋者 if flagNum == 1: flagch = '*' print('\033[1;37;40m请*输入棋子坐标(例如A1):\033[0m', end=' ') # 白字黑底 else: flagch = 'o' print('\033[1;30;42m请o输入棋子坐标(例如J5):\033[0m', end=' ') # 黑字绿底 # 输入棋子坐标 str = input() ch = str[0] # 获取第一个字符的大写形式 x = ord(ch) - 65 y = int(str[1]) - 1 # 判断坐标是否在棋盘之内 if (x < 0 or x > 9 or y < 0 or y > 9): print('\033[31m***您输入的坐标有误请重新输入!***\033[0m') continue # 判断坐标上是否有棋子 if (checkerboard[x][y] == '-'): if (flagNum == 1): checkerboard[x][y] = '*' else: checkerboard[x][y] = 'o' else: print('\033[31m******您输入位置已经有其他棋子,请重新输入!\033[0m') continue # 判断棋子左侧 if (y - 4 >= 0): if (checkerboard[x][y - 1] == flagch and checkerboard[x][y - 2] == flagch and checkerboard[x][y - 3] == flagch and checkerboard[x][y - 4] == flagch): finish = True msg() # 判断棋子右侧 if (y + 4 <= 9): if (checkerboard[x][y + 1] == flagch and checkerboard[x][y + 2] == flagch and checkerboard[x][y + 3] == flagch and checkerboard[x][y + 4] == flagch): finish = True msg() # 判断棋子上方 if (x - 4 >= 0): if (checkerboard[x - 1][y] == flagch and checkerboard[x - 2][y] == flagch and checkerboard[x - 3][y] == flagch and checkerboard[x - 4][y] == flagch): finish = True msg() # 判断棋子下方 if (x + 4 <= 9): if (checkerboard[x + 1][y] == flagch and checkerboard[x + 2][y] == flagch and checkerboard[x + 3][y] == flagch and checkerboard[x + 4][y] == flagch): finish = True msg() # 判断棋子右上方向 if (x - 4 >= 0 and y - 4 >= 0): if (checkerboard[x - 1][y - 1] == flagch and checkerboard[x - 2][y - 2] == flagch and checkerboard[x - 3][y - 3] == flagch and checkerboard[x - 4][y - 4] == flagch): finish = True msg() # 判断棋子右下方向 if (x + 4 <= 9 and y - 4 >= 0): if (checkerboard[x + 1][y - 1] == flagch and checkerboard[x + 2][y - 2] == flagch and checkerboard[x + 3][y - 3] == flagch and checkerboard[x + 4][y - 4] == flagch): finish = True msg() # 判断棋子左上方向 if (x - 4 >= 0 and y + 4 <= 9): if (checkerboard[x - 1][y + 1] == flagch and checkerboard[x - 2][y + 2] == flagch and checkerboard[x - 3][y + 3] == flagch and checkerboard[x - 4][y + 4] == flagch): finish = True msg() # 判断棋子左下方向 if (x + 4 <= 9 and y + 4 <= 9): if (checkerboard[x + 1][y + 1] == flagch and checkerboard[x + 2][y + 2] == flagch and checkerboard[x + 3][y + 3] == flagch and checkerboard[x + 4][y + 4] == flagch): finish = True msg() flagNum *= -1; # 更换下棋者标记
以上就是"python怎么实现简易五子棋游戏控制台版"这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注行业资讯频道。
棋子
输入
坐标
棋盘
知识
篇文章
五子棋
控制台
五子
控制
方向
胜利
简易
内容
标记
输出
不同
很大
代码
位置
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
福山区安卓软件开发推荐
无锡数据网络技术咨询热线
软件开发的行业领域
数据库应用技术王珊版答案
软件开发三年以上工作经历证明
食品药品安全数据库
服务器主板支持双通道吗
深圳空气质量数据库供货报价
服务器安全性要求 国标
网络安全的研究报告单
湖南网络技术学院分数线
高级数据库系统及其应用
华为AR做证书服务器
所以我们要注意网络安全的英语
从事eda软件开发工资多少
数据库怎么连通
民间网络安全志愿者
辰阔网络技术有限公司
软件工程数据库设计说明书
华阳通用电子 软件开发
计算机三级网络技术如何准备
阳江市服务器设置
新歌下载软件开发
手机软件开发风险规划明细
服务器上跑jar包
佳达互联网科技有限公司
我的世界所有服务器列表
网吧服务器hdd闪红
x86服务器巡检
亚沙委网络安全培训