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批量查询域名是否被注册过
Jun 21 Python
python发送邮件实例分享
Jul 28 Python
解决python3中自定义wsgi函数,make_server函数报错的问题
Nov 21 Python
基于Python pip用国内镜像下载的方法
Jun 12 Python
Python字符串、整数、和浮点型数相互转换实例
Aug 04 Python
示例详解Python3 or Python2 两者之间的差异
Aug 23 Python
Python3爬楼梯算法示例
Mar 04 Python
django实现模型字段动态choice的操作
Apr 01 Python
Python+Kepler.gl实现时间轮播地图过程解析
Jul 20 Python
Python切片列表字符串如何实现切换
Aug 06 Python
python实现简单遗传算法
Sep 18 Python
史上最详细的Python打包成exe文件教程
Jan 17 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程序开发范例学习之表单 获取文本框的值
2011/08/08 PHP
Apache实现Web Server负载均衡详解(不考虑Session版)
2013/07/05 PHP
php define的第二个参数使用方法
2013/11/04 PHP
destoon网站转移服务器后搜索汉字出现乱码的解决方法
2014/06/21 PHP
PHP使用curl制作简易百度搜索
2016/11/03 PHP
thinkphp5框架调用其它控制器方法 实现自定义跳转界面功能示例
2019/07/03 PHP
JS实现获取剪贴板内容的方法
2016/06/21 Javascript
AngularJS基础 ng-init 指令简单示例
2016/08/02 Javascript
js时间控件只显示年月
2017/01/08 Javascript
利用jQuery解析获取JSON数据
2017/04/08 jQuery
BootStrap的双日历时间控件使用
2017/07/25 Javascript
一个Js文件函数中调用另一个Js文件函数的方法演示
2017/08/14 Javascript
Node.js 利用cheerio制作简单的网页爬虫示例
2018/03/01 Javascript
VUE+Element环境搭建与安装的方法步骤
2019/01/24 Javascript
javascript实现倒计时效果
2020/02/17 Javascript
微信小程序图片右边加两行文字的代码
2020/04/23 Javascript
Vue自动构建发布脚本的方法示例
2020/07/24 Javascript
Python中字典映射类型的学习教程
2015/08/20 Python
Python列表删除的三种方法代码分享
2017/10/31 Python
python实现图书馆研习室自动预约功能
2018/04/27 Python
Python可变参数*args和**kwargs用法实例小结
2018/04/27 Python
编写多线程Python服务器 最适合基础
2018/09/14 Python
基于python实现学生管理系统
2018/10/17 Python
Form表单及django的form表单的补充
2019/07/25 Python
用python爬取历史天气数据的方法示例
2019/12/30 Python
详解python模块pychartdir安装及导入问题
2020/10/22 Python
使用html5制作loading图的示例
2014/04/14 HTML / CSS
Raffaello Network德国:意大利拉斐尔时尚购物网
2019/05/01 全球购物
简历自荐信
2013/12/02 职场文书
四年大学生活的自我评价范文
2014/02/07 职场文书
《长江之歌》教学反思
2014/04/17 职场文书
校园文明倡议书
2014/05/16 职场文书
红色故事演讲稿
2014/05/22 职场文书
教师节倡议书
2014/08/30 职场文书
关爱空巢老人感想
2015/08/11 职场文书
新娘婚礼答谢词
2015/09/29 职场文书