python实现双人五子棋(终端版)


Posted in Python onDecember 30, 2020

五子棋还是有很多大佬发的,今天我也发一篇萌新写的小五子棋,这个是终端版的,如果有问题请大家指出,我去修改

代码如下:

screen = []
screen_change=0

def into():#初始空白棋盘
 for i in range(screen_change):
 list_width=[]
 for j in range(screen_change):
 list_width.append(' '+' |')
 screen.append(list_width)

def user_black():
 while True:
 coordinate = input("黑方请输入你想填下子的坐标 例1,2或者5,5")
 coordinate=coordinate.split(',')
 width_num = int(coordinate[0]) - 1
 high_num = int(coordinate[1]) - 1
 if screen[width_num][high_num][1]!=' ':
 print('你输入的地方已经有棋子了,请重新输入')
 continue
 screen[width_num][high_num] = ' ' + '@' + ' |'
 break
 screen_print()

def user_white():
 while True:
 coordinate = input("白方请输入你想填下子的坐标 例1,2或者5,5")
 coordinate = coordinate.split(',')
 width_num = int(coordinate[0]) - 1
 high_num = int(coordinate[1]) - 1
 if screen[width_num][high_num][1] != ' ':
 print('你输入的地方已经有棋子了,请重新输入')
 continue
 screen[width_num][high_num] = ' ' + '#' + ' |'
 break
 screen_print()

def eeferee():#判断输赢
 #判断行
 for i in range(screen_change):
 for j in range(screen_change-4):
 if screen[i][j][1]==screen[i][j+1][1]==screen[i][j+2][1]==screen[i][j+3][1]==screen[i][j+4][1] and screen[i][j][1]!=' ':
 return False
 for i in range(screen_change - 4):
 for j in range(screen_change):
 if screen[i][j][1]==screen[i+1][j][1]==screen[i+2][j][1]==screen[i+3][j][1]==screen[i+4][j][1] and screen[i][j][1]!=' ':
 return False
 for i in range(screen_change - 4):
 for j in range(screen_change - 4):
 if screen[i][j][1]==screen[i+1][j+1][1]==screen[i+2][j+2][1]==screen[i+3][j+3][1]==screen[i+4][j+4][1] and screen[i][j][1]!=' ':
 return False
 for k in range(4,screen_change):
 if k>=4:
 if screen[i][k][1] == screen[i+1][k-1][1] == screen[i+2][k-2][1] == screen[i+3][k-3][1] == screen[i+4][k-4][1] and screen[i][k][1] != ' ':
  return False
 return True

def screen_print():#打印棋盘
 print('——' * (screen_change*3+1))
 for i in range(screen_change):
 print('|',end=' ')
 for j in range(screen_change):
 print(screen[i][j],end=' ')
 print()
 print('——'*(screen_change*3+1))

def main():
 global screen_change
 screen_change = int(input('请输入你设定的棋盘大小:'))
 into()
 screen_print()
 while eeferee():
 user_black()
 if not eeferee():
 break
 user_white()
 print('游戏结束')

if __name__=='__main__':
 main()

效果图如下:

python实现双人五子棋(终端版)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python+Django在windows下的开发环境配置图解
Nov 11 Python
深入浅析Python中join 和 split详解(推荐)
Jun 30 Python
python使用openpyxl库修改excel表格数据方法
May 03 Python
Python爬虫抓取代理IP并检验可用性的实例
May 07 Python
浅谈python的深浅拷贝以及fromkeys的用法
Mar 08 Python
解决django同步数据库的时候app models表没有成功创建的问题
Aug 09 Python
Django获取该数据的上一条和下一条方法
Aug 12 Python
python 判断txt每行内容中是否包含子串并重新写入保存的实例
Mar 12 Python
详解Python中pyautogui库的最全使用方法
Apr 01 Python
Python openpyxl 插入折线图实例
Apr 17 Python
关于Keras Dense层整理
May 21 Python
在终端启动Python时报错的解决方案
Nov 20 Python
pandas 数据类型转换的实现
Dec 29 #Python
python中xlutils库用法浅析
Dec 29 #Python
Python操作PostgreSql数据库的方法(基本的增删改查)
Dec 29 #Python
python中uuid模块实例浅析
Dec 29 #Python
python中pickle模块浅析
Dec 29 #Python
vue.js刷新当前页面的实例讲解
Dec 29 #Python
Python实现对word文档添加密码去除密码的示例代码
Dec 29 #Python
You might like
2019年漫画销量排行榜:鬼灭登顶 海贼单卷制霸 尾田盛赞鬼灭
2020/03/08 日漫
一个捕获函数输出的函数
2007/02/14 PHP
php方法调用模式与函数调用模式简例
2011/09/20 PHP
windows下安装php的memcache模块的方法
2015/04/07 PHP
php array_map使用自定义的函数处理数组中的每个值
2016/10/26 PHP
利用PHP实现一个简单的用户登记表示例
2017/04/25 PHP
PHP中str_split()函数的用法讲解
2019/04/11 PHP
JavaScript asp.net 获取当前超链接中的文本
2009/04/14 Javascript
基于jquery1.4.2的仿flash超炫焦点图播放效果
2010/04/20 Javascript
jquery struts 验证唯一标识(公用方法)
2013/03/27 Javascript
浏览器兼容性问题大汇总
2015/12/17 Javascript
原生js实现倒计时功能(多种格式调用)
2017/01/12 Javascript
vue生成token保存在客户端localStorage中的方法
2017/10/25 Javascript
vue使用axios时关于this的指向问题详解
2017/12/22 Javascript
基于 D3.js 绘制动态进度条的实例详解
2018/02/26 Javascript
关于Angularjs中自定义指令一些有价值的细节和技巧小结
2018/04/22 Javascript
小程序实现单选多选功能
2018/11/04 Javascript
解决Vue打包上线之后部分CSS不生效的问题
2019/11/12 Javascript
Vue 实现创建全局组件,并且使用Vue.use() 载入方式
2020/08/11 Javascript
vue中h5端打开app(判断是安卓还是苹果)
2021/02/26 Vue.js
[02:57]DOTA2亚洲邀请赛 SECRET战队出场宣传片
2015/02/07 DOTA
Python基于Floyd算法求解最短路径距离问题实例详解
2018/05/16 Python
python3之模块psutil系统性能信息使用
2018/05/30 Python
Python中 map()函数的用法详解
2018/07/10 Python
python+pyqt5编写md5生成器
2019/03/18 Python
Python time库基本使用方法分析
2019/12/13 Python
解决redis与Python交互取出来的是bytes类型的问题
2020/07/16 Python
Sunglasses Shop丹麦:欧洲第一的太阳镜在线销售网站
2017/10/22 全球购物
英国独特的时尚和生活方式品牌:JOY
2018/03/17 全球购物
JAVA的事件委托机制和垃圾回收机制
2014/09/07 面试题
表决心的诗句大全
2014/03/11 职场文书
传播学专业毕业生自荐书
2014/07/01 职场文书
员工评语范文
2014/12/31 职场文书
2016年社区党支部公开承诺书
2016/03/25 职场文书
Nginx的rewrite模块详解
2021/03/31 Servers
golang import自定义包方式
2021/04/29 Golang