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写的一个squid访问日志分析的小程序
Sep 17 Python
详细探究Python中的字典容器
Apr 14 Python
深入理解python函数递归和生成器
Jun 06 Python
Python编程判断这天是这一年第几天的方法示例
Apr 18 Python
mac安装scrapy并创建项目的实例讲解
Jun 13 Python
python2和python3实现在图片上加汉字的方法
Aug 22 Python
wxPython绘图模块wxPyPlot实现数据可视化
Nov 19 Python
Python3 shutil(高级文件操作模块)实例用法总结
Feb 19 Python
python用pip install时安装失败的一系列问题及解决方法
Feb 24 Python
解决Django提交表单报错:CSRF token missing or incorrect的问题
Mar 13 Python
五种Python转义表示法
Nov 27 Python
Python jieba库分词模式实例用法
Jan 13 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 图像处理类1
2009/06/15 PHP
php实现比较两个字符串日期大小的方法
2015/05/12 PHP
PHP统计目录中文件以及目录中目录大小的方法
2016/01/09 PHP
PHP基于递归算法解决兔子生兔子问题
2018/05/11 PHP
Windows上php5.6操作mongodb数据库示例【配置、连接、获取实例】
2019/02/13 PHP
PHP笛卡尔积实现原理及代码实例
2020/12/09 PHP
js 自制滚动条的小例子
2013/03/16 Javascript
JavaScript中textRange对象使用方法小结
2015/03/24 Javascript
js实现鼠标点击文本框自动选中内容的方法
2015/08/20 Javascript
javascript生成随机数方法汇总
2015/11/12 Javascript
如何在Angular2中使用jQuery及其插件的方法
2017/02/09 Javascript
使用原生js写ajax实例(推荐)
2017/05/31 Javascript
浅谈关于.vue文件中style的scoped属性
2017/08/19 Javascript
详解mpvue中小程序自定义导航组件开发指南
2019/02/11 Javascript
VUE单页面切换动画代码(全网最好的切换效果)
2019/10/31 Javascript
微信小程序 SOTER 生物认证DEMO 指纹识别功能
2019/12/13 Javascript
[07:49]2014DOTA2国际邀请赛 Newbee夺冠后采访xiao8坦言奖金会上交
2014/07/23 DOTA
详解Python中的装饰器、闭包和functools的教程
2015/04/02 Python
python使用mailbox打印电子邮件的方法
2015/04/30 Python
Python中的下划线详解
2015/06/24 Python
详解Python的Lambda函数与排序
2016/10/25 Python
python使用Qt界面以及逻辑实现方法
2019/07/10 Python
Python pandas实现excel工作表合并功能详解
2019/08/29 Python
使用OpenCV实现仿射变换—平移功能
2019/08/29 Python
PyQt5如何将.ui文件转换为.py文件的实例代码
2020/05/26 Python
CSS3实现多背景模拟动态边框的效果
2016/11/08 HTML / CSS
html通过canvas转成base64的方法
2019/07/18 HTML / CSS
基于HTML5 的人脸识别活体认证的实现方法
2016/06/22 HTML / CSS
HTML5 移动页面自适应手机屏幕四类方法总结
2017/08/17 HTML / CSS
ONLY德国官方在线商店:购买时尚女装
2017/09/21 全球购物
全球第二大家装零售商:Lowe’s
2018/01/13 全球购物
吉列剃须刀英国官网:Gillette英国
2019/03/28 全球购物
土木工程专业自荐信
2013/10/04 职场文书
偷看我的初中毕业鉴定
2014/01/29 职场文书
告诉你一个秘密:富人致富的五大优点
2019/07/11 职场文书
Java GUI编程菜单组件实例详解
2022/04/07 Java/Android