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中的面向对象编程的概念
Apr 27 Python
python类继承用法实例分析
May 27 Python
JSON Web Tokens的实现原理
Apr 02 Python
Python实现PS滤镜的旋转模糊功能示例
Jan 20 Python
pycharm 将python文件打包为exe格式的方法
Jan 16 Python
Python制作微信好友背景墙教程(附完整代码)
Jul 17 Python
对DJango视图(views)和模版(templates)的使用详解
Jul 17 Python
python系统指定文件的查找只输出目录下所有文件及文件夹
Jan 19 Python
关于tf.TFRecordReader()函数的用法解析
Feb 17 Python
Python键鼠操作自动化库PyAutoGUI简介(小结)
May 17 Python
详解python中的lambda与sorted函数
Sep 04 Python
matplotlib绘制正余弦曲线图的实现
Feb 22 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+MySQL插入操作实例
2015/01/21 PHP
PHP查找数值数组中不重复最大和最小的10个数的方法
2015/04/20 PHP
简单的pgsql pdo php操作类实现代码
2016/08/25 PHP
TP5框架实现上传多张图片的方法分析
2020/03/29 PHP
基于jQuery的Spin Button自定义文本框数值自增或自减
2010/07/17 Javascript
基于jquery的仿百度搜索框效果代码
2011/04/11 Javascript
JavaScript实现找出字符串中第一个不重复的字符
2014/09/03 Javascript
浅谈jquery回调函数callback的使用
2015/01/30 Javascript
js+html5实现canvas绘制椭圆形图案的方法
2016/05/21 Javascript
localStorage实现便签小程序
2016/11/28 Javascript
AngularJS过滤器filter用法总结
2016/12/13 Javascript
nodeJs链接Mysql做增删改查的简单操作
2017/02/04 NodeJs
BootStrap selectpicker后台动态绑定数据
2017/06/01 Javascript
Vue实现typeahead组件功能(非常靠谱)
2017/08/26 Javascript
JavaScript实现为事件句柄绑定监听函数的方法分析
2017/11/14 Javascript
React key值的作用和使用详解
2018/08/23 Javascript
JS闭包经典实例详解
2018/12/20 Javascript
详解JavaScript中的坐标和距离
2019/05/27 Javascript
vue响应式更新机制及不使用框架实现简单的数据双向绑定问题
2019/06/27 Javascript
vue实现简单的登录弹出框
2020/10/26 Javascript
线程和进程的区别及Python代码实例
2015/02/04 Python
python实现备份目录的方法
2015/08/03 Python
python 统计代码行数简单实例
2017/05/04 Python
python批量实现Word文件转换为PDF文件
2018/03/15 Python
对python 判断数字是否小于0的方法详解
2019/01/26 Python
10招!看骨灰级Pythoner玩转Python的方法
2019/04/15 Python
python字典一键多值实例代码分享
2019/06/14 Python
Python+appium框架原生代码实现App自动化测试详解
2020/03/06 Python
Python多线程的退出控制实现
2020/08/10 Python
python 使用xlsxwriter循环向excel中插入数据和图片的操作
2021/01/01 Python
python 获取域名到期时间的方法步骤
2021/02/10 Python
HTML5+CSS3模仿优酷视频截图功能示例
2017/01/05 HTML / CSS
2014年母亲节寄语
2014/05/07 职场文书
终止劳动合同通知书
2015/04/16 职场文书
大学组织委员竞选稿
2015/11/21 职场文书
利用Java连接Hadoop进行编程
2022/06/28 Java/Android