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 02 Python
在Linux下调试Python代码的各种方法
Apr 17 Python
Python使用bs4获取58同城城市分类的方法
Jul 08 Python
Python中return语句用法实例分析
Aug 04 Python
Python数字图像处理之霍夫线变换实现详解
Jan 12 Python
详解python 注释、变量、类型
Aug 10 Python
python单例模式的多种实现方法
Jul 26 Python
Flask教程之重定向与错误处理实例分析
Aug 01 Python
Python 爬取必应壁纸的实例讲解
Feb 24 Python
Django import export实现数据库导入导出方式
Apr 03 Python
Django如何继承AbstractUser扩展字段
Nov 27 Python
python 统计list中各个元素出现的次数的几种方法
Feb 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
php curl 上传文件代码实例
2015/04/27 PHP
详解WordPress中创建和添加过滤器的相关PHP函数
2015/12/29 PHP
PHP mongodb操作类定义与用法示例【适合mongodb2.x和mongodb3.x】
2018/06/16 PHP
JavaScript 计算当天是本年本月的第几周
2009/03/22 Javascript
javascript parseInt与Number函数的区别
2010/01/21 Javascript
js取滚动条的尺寸的函数代码
2011/11/30 Javascript
javascript测试题练习代码
2012/10/10 Javascript
通过AJAX的JS、JQuery两种方式解析XML示例介绍
2013/09/23 Javascript
jQuery替换字符串(实例代码)
2013/11/13 Javascript
深入理解JQuery keyUp和keyDown的区别
2013/12/12 Javascript
js的正则test,match,exec详细解析
2014/01/29 Javascript
jquery实现可旋转可拖拽的文字效果代码
2016/01/27 Javascript
html5+javascript实现简单上传的注意细节
2016/04/18 Javascript
深究AngularJS——ng-checked(回写:带真实案例代码)
2017/06/13 Javascript
基于vue.js中关于下拉框的值默认及绑定问题
2018/08/22 Javascript
解决vue字符串换行问题(绝对管用)
2020/08/06 Javascript
javascript中正则表达式语法详解
2020/08/07 Javascript
[28:48]《真视界》- 2017年国际邀请赛
2017/09/27 DOTA
简单介绍利用TK在Python下进行GUI编程的教程
2015/04/13 Python
Python单元测试框架unittest使用方法讲解
2015/04/13 Python
python解决汉字编码问题:Unicode Decode Error
2017/01/19 Python
python os.listdir按文件存取时间顺序列出目录的实例
2018/10/21 Python
Python3标准库之dbm UNIX键-值数据库问题
2020/03/24 Python
pyqt5中动画的使用详解
2020/04/01 Python
django模型类中,null=True,blank=True用法说明
2020/07/09 Python
Python面向对象多态实现原理及代码实例
2020/09/16 Python
英国计算机产品零售商:Novatech(定制个人电脑、笔记本电脑、工作站和服务器)
2018/01/28 全球购物
英国信箱在线鲜花速递公司:Bloom & Wild
2019/03/10 全球购物
DBA的职责都有哪些
2012/05/16 面试题
百货商场楼层班组长竞聘书
2014/03/31 职场文书
出纳试用期自我鉴定
2014/04/07 职场文书
公司委托书怎么写
2014/08/02 职场文书
2014年党委工作总结
2014/11/22 职场文书
python实现简单的三子棋游戏
2022/04/28 Python
vue项目如何打包之项目打包优化(让打包的js文件变小)
2022/04/30 Vue.js
Win11右下角图标点了没反应怎么办?Win11点击右下角图标无反应解决方法汇总
2022/07/07 数码科技