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脚本抓取网络小说来制作自己的阅读器
Aug 20 Python
Python 中 list 的各项操作技巧
Apr 13 Python
Python 判断文件或目录是否存在的实例代码
Jul 19 Python
python 使用 requests 模块发送http请求 的方法
Dec 09 Python
python将txt文档每行内容循环插入数据库的方法
Dec 28 Python
python交互界面的退出方法
Feb 16 Python
pycharm重命名文件的方法步骤
Jul 29 Python
python匿名函数用法实例分析
Aug 03 Python
Pytorch中Tensor与各种图像格式的相互转化详解
Dec 26 Python
浅谈tensorflow模型保存为pb的各种姿势
May 25 Python
如何在python中处理配置文件代码实例
Sep 27 Python
python blinker 信号库
May 04 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
Oracle Faq(Oracle的版本)
2006/10/09 PHP
PHP Class&Object -- 解析PHP实现二叉树
2013/06/25 PHP
分享微信扫码支付开发遇到问题及解决方案-附Ecshop微信支付插件
2015/08/23 PHP
Yii框架表单模型和验证用法
2016/05/20 PHP
理解 JavaScript 预解析
2009/10/25 Javascript
jQuery动态添加 input type=file的实现代码
2012/06/14 Javascript
JavaScript中的apply()方法和call()方法使用介绍
2012/07/25 Javascript
js动态添加表格数据使用insertRow和insertCell实现
2014/05/22 Javascript
jquery插件推荐 jquery.cookie
2014/11/09 Javascript
浅谈JavaScript中的作用域和闭包问题
2015/07/07 Javascript
jQuery实现两款有动画功能的导航菜单代码
2015/09/16 Javascript
JavaScript函数内部属性和函数方法实例详解
2016/03/17 Javascript
详解JavaScript中Hash Map映射结构的实现
2016/05/21 Javascript
原生JS查找元素的方法(推荐)
2016/11/22 Javascript
ionic2打包android时gradle无法下载的解决方法
2017/04/05 Javascript
微信小程序中data-key属性之数据传输(经验总结)
2020/08/22 Javascript
[14:56]教你分分钟做大人:巫医
2014/10/30 DOTA
[01:57]2018DOTA2亚洲邀请赛赛前采访-iG
2018/04/03 DOTA
简单的抓取淘宝图片的Python爬虫
2014/12/25 Python
Python文件操作基本流程代码实例
2017/12/11 Python
python多环境切换及pyenv使用过程详解
2019/09/27 Python
详解python 破解网站反爬虫的两种简单方法
2020/02/09 Python
解决python父线程关闭后子线程不关闭问题
2020/04/25 Python
python开发入门——set的使用
2020/09/03 Python
4款Python 类型检查工具,你选择哪个呢?
2020/10/30 Python
英国最红的高街时尚品牌:Topshop
2016/08/05 全球购物
个人应聘自我评价分享
2013/11/18 职场文书
电话销售经理岗位职责
2013/12/07 职场文书
乔迁之喜主持词
2014/03/27 职场文书
文明和谐家庭事迹材料
2014/05/18 职场文书
运动会演讲稿300字
2014/08/25 职场文书
乡镇党员干部四风对照检查材料思想汇报
2014/09/27 职场文书
2014光棍节大学生联谊活动方案
2014/10/10 职场文书
2015年公司行政后勤工作总结
2015/05/20 职场文书
Centos环境下Postgresql 安装配置及环境变量配置技巧
2021/05/18 PostgreSQL
Vite + React从零开始搭建一个开源组件库
2022/06/25 Javascript