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使用plotly绘制数据图表的方法
Jul 18 Python
python获取指定字符串中重复模式最高的字符串方法
Jun 29 Python
使用Django连接Mysql数据库步骤
Jan 15 Python
Python3中的最大整数和最大浮点数实例
Jul 09 Python
如何实现Django Rest framework版本控制
Jul 25 Python
python常用数据重复项处理方法
Nov 22 Python
Pytorch技巧:DataLoader的collate_fn参数使用详解
Jan 08 Python
Python中sorted()排序与字母大小写的问题
Jan 14 Python
Python搭建Keras CNN模型破解网站验证码的实现
Apr 07 Python
pip已经安装好第三方库但pycharm中import时还是标红的解决方案
Oct 09 Python
Django celery异步任务实现代码示例
Nov 26 Python
python 爬取吉首大学网站成绩单
Jun 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目录管理函数小结
2008/09/10 PHP
PHP通过内置函数memory_get_usage()获取内存使用情况
2014/11/20 PHP
php简单获取文件扩展名的方法
2015/03/24 PHP
使用PHPUnit进行单元测试并生成代码覆盖率报告的方法
2019/03/08 PHP
Laravel创建数据库表结构的例子
2019/10/09 PHP
JavaScript高级程序设计 扩展--关于动态原型
2010/11/09 Javascript
JQuery实现倒计时按钮具体方法
2013/11/14 Javascript
JavaScript中的Promise使用详解
2015/06/24 Javascript
js+css实现超简洁的二级下拉菜单效果代码
2015/09/07 Javascript
使用Angular缓存父页面数据的方法
2017/01/03 Javascript
JavaScript实现图像模糊化的方法实例
2017/01/15 Javascript
Angular指令封装jQuery日期时间插件datetimepicker实现双向绑定示例
2017/01/22 Javascript
JavaScript 事件对内存和性能的影响
2017/01/22 Javascript
jQuery源码分析之sizzle选择器详解
2017/02/13 Javascript
Nodejs之TCP服务端与客户端聊天程序详解
2017/07/07 NodeJs
浅析node Async异步处理模块用例分析及常用方法介绍
2017/11/17 Javascript
nodejs+koa2 实现模仿springMVC框架
2020/10/21 NodeJs
Python简单获取二维数组行列数的方法示例
2018/12/21 Python
pyqt远程批量执行Linux命令程序的方法
2019/02/14 Python
wxPython绘图模块wxPyPlot实现数据可视化
2019/11/19 Python
django实现模型字段动态choice的操作
2020/04/01 Python
Win10下用Anaconda安装TensorFlow(图文教程)
2020/06/18 Python
Python爬虫爬取微信朋友圈
2020/08/06 Python
python批量检查两个对应的txt文件的行数是否一致的实例代码
2020/10/31 Python
通用的Django注册功能模块实现方法
2021/02/05 Python
matplotlib之多边形选区(PolygonSelector)的使用
2021/02/24 Python
初一家长会邀请函
2014/01/31 职场文书
六年级学生评语
2014/04/22 职场文书
2014年人事行政工作总结
2014/12/03 职场文书
人事文员岗位职责
2015/02/04 职场文书
文艺节目主持词
2015/07/06 职场文书
感恩主题班会教案
2015/08/12 职场文书
详细聊聊浏览器是如何看闭包的
2021/11/11 Javascript
苹果电脑mac os中货币符号快捷输入
2022/02/17 杂记
Python中的嵌套循环详情
2022/03/23 Python
《极主夫道》真人电影正式预告 定档6月3日上映
2022/04/05 日漫