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实现TCP服务器端与客户端的方法详解
Apr 30 Python
Django框架中数据的连锁查询和限制返回数据的方法
Jul 17 Python
python操作 hbase 数据的方法
Dec 18 Python
pytorch构建网络模型的4种方法
Apr 13 Python
利用Python求阴影部分的面积实例代码
Dec 05 Python
用python给自己做一款小说阅读器过程详解
Jul 11 Python
pytorch forward两个参数实例
Jan 17 Python
Python 序列化和反序列化库 MarshMallow 的用法实例代码
Feb 25 Python
关于python 的legend图例,参数使用说明
Apr 17 Python
python连接mongodb数据库操作数据示例
Nov 30 Python
python os.rename实例用法详解
Dec 06 Python
Python字节单位转换(将字节转换为K M G T)
Mar 02 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
PHP连接SQLServer2005方法及代码
2013/12/26 PHP
php数据访问之查询关键字
2016/05/09 PHP
php-fpm添加service服务的例子
2018/04/27 PHP
JavaScript 拖拉缩放效果
2008/12/10 Javascript
js函数使用技巧之 setTimeout(function(){},0)
2009/02/09 Javascript
js 删除数组的几种方法小结
2014/02/21 Javascript
jQuery Easyui学习教程之实现datagrid在没有数据时显示相关提示内容
2016/07/09 Javascript
如何防止INPUT按回车自动提交表单FORM
2016/12/06 Javascript
js实现漫天星星效果
2017/01/19 Javascript
Node.js之网络通讯模块实现浅析
2017/04/01 Javascript
JavaScript常用数学函数用法示例
2018/05/14 Javascript
Vue运用transition实现过渡动画
2019/05/06 Javascript
vue中typescript装饰器的使用方法超实用教程
2019/06/17 Javascript
微信小程序文章详情功能完整实例
2020/06/03 Javascript
浅谈javascript如何获取文件后缀名
2020/08/07 Javascript
vue3.0自定义指令(drectives)知识点总结
2020/12/27 Vue.js
[50:54]完美世界DOTA2联赛 GXR vs IO 第三场 11.07
2020/11/10 DOTA
python使用cStringIO实现临时内存文件访问的方法
2015/03/26 Python
Python正则表达式匹配HTML页面编码
2015/04/08 Python
Python实现字符串逆序输出功能示例
2017/06/24 Python
python3处理含有中文的url方法
2018/05/10 Python
PyTorch中的padding(边缘填充)操作方式
2020/01/03 Python
基于python-pptx库中文文档及使用详解
2020/02/14 Python
UGG雪地靴荷兰官网:UGG荷兰
2016/09/09 全球购物
荷兰最大的儿童服装店:The Kids Republic
2019/04/13 全球购物
Melissa鞋英国官方网站:Nonnon
2019/05/01 全球购物
生物技术研究生自荐信
2013/11/12 职场文书
园林施工员岗位职责
2013/12/11 职场文书
打架检讨书300字
2014/02/02 职场文书
村级环境卫生整治方案
2014/05/04 职场文书
党支部反对四风思想汇报
2014/10/10 职场文书
2015年八一建军节活动总结
2015/03/20 职场文书
2016年保险公众宣传日活动总结
2016/04/05 职场文书
游戏开发中如何使用CocosCreator进行音效处理
2021/04/14 Javascript
Vue.js中v-for指令的用法介绍
2022/03/13 Vue.js
聊聊mysql都有哪几种分区方式
2022/04/13 MySQL