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 类与元类的深度挖掘 II【经验】
May 06 Python
Python中在脚本中引用其他文件函数的实现方法
Jun 23 Python
全面了解python中的类,对象,方法,属性
Sep 11 Python
python奇偶行分开存储实现代码
Mar 19 Python
Python3中内置类型bytes和str用法及byte和string之间各种编码转换 问题
Sep 27 Python
Python中函数的返回值示例浅析
Aug 28 Python
Pytorch之Variable的用法
Dec 31 Python
pytorch 修改预训练model实例
Jan 18 Python
python+OpenCV实现图像拼接
Mar 05 Python
Python3开发环境搭建详细教程
Jun 18 Python
python 逆向爬虫正确调用 JAR 加密逻辑
Jan 12 Python
Django后端按照日期查询的方法教程
Feb 28 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中判断文件空目录是否有读写权限的函数代码
2012/08/07 PHP
使用php统计字符串中中英文字符的个数
2013/06/23 PHP
php遍历、读取文件夹中图片并分页显示图片的方法
2016/11/15 PHP
php文件上传及下载附带显示文件及目录功能
2017/04/27 PHP
JavaScript DOM 学习第五章 表单简介
2010/02/19 Javascript
kmock javascript 单元测试代码
2011/02/06 Javascript
常用Extjs工具:Extjs.util.Format使用方法
2012/03/22 Javascript
js里怎么取select标签里的值并修改
2012/12/10 Javascript
js多级树形弹出一个小窗口层(非常好用)实例代码
2013/03/19 Javascript
使用jquery解析XML的方法
2014/09/05 Javascript
bootstrap弹出层的多种触发方式
2017/05/10 Javascript
BootStrap Select清除选中的状态恢复默认状态
2017/06/20 Javascript
在Js页面通过POST传递参数跳转到新页面详解
2017/08/25 Javascript
vue 使用ref 让父组件调用子组件的方法
2018/02/08 Javascript
还不懂递归?读完这篇文章保证你会懂
2018/07/29 Javascript
在vue中解决提示警告 for循环报错的方法
2018/09/28 Javascript
关于Vue Router中路由守卫的应用及在全局导航守卫中检查元字段的方法
2018/12/09 Javascript
Node.js一行代码实现静态文件服务器的方法步骤
2019/05/07 Javascript
vue改变循环遍历后的数据实例
2019/11/07 Javascript
vue实现图片上传功能
2020/05/28 Javascript
Python轻量级ORM框架Peewee访问sqlite数据库的方法详解
2017/07/20 Python
python爬虫之模拟登陆csdn的实例代码
2018/05/18 Python
python3.6 tkinter实现屏保小程序
2019/07/30 Python
Python configparser模块配置文件过程解析
2020/03/03 Python
Python爬虫实现自动登录、签到功能的代码
2020/08/20 Python
python中pop()函数的语法与实例
2020/12/01 Python
next在python中返回迭代器的实例方法
2020/12/15 Python
用python对excel进行操作(读,写,修改)
2020/12/25 Python
计算机开发个人求职信范文
2013/09/26 职场文书
应届大学生自荐书
2014/06/17 职场文书
国家税务局干部作风整顿整改措施
2014/09/18 职场文书
走群众路线学习笔记
2014/11/06 职场文书
订货会邀请函
2015/01/31 职场文书
大学生就业指导课心得体会
2016/01/15 职场文书
读《钢铁是怎样炼成的》有感:百炼方成钢
2019/11/05 职场文书
Java Optional<Foo>转换成List<Bar>的实例方法
2021/06/20 Java/Android