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生成文件md5校验值函数的方法
Jan 10 Python
解决Ubuntu pip 安装 mysql-python包出错的问题
Jun 11 Python
用pandas中的DataFrame时选取行或列的方法
Jul 11 Python
python opencv实现切变换 不裁减图片
Jul 26 Python
pytorch 自定义数据集加载方法
Aug 18 Python
python3.8下载及安装步骤详解
Jan 15 Python
python的列表List求均值和中位数实例
Mar 03 Python
python多进程使用函数封装实例
May 02 Python
python判断是空的实例分享
Jul 06 Python
社区版pycharm创建django项目的方法(pycharm的newproject左侧没有项目选项)
Sep 23 Python
python操作ini类型配置文件的实例教程
Oct 30 Python
Python对excel的基本操作方法
Feb 18 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
现磨咖啡骗局!现磨咖啡=新鲜咖啡?现磨咖啡背后的猫腻你不懂!
2019/03/28 冲泡冲煮
PHP 服务器配置(使用Apache及IIS两种方法)
2009/06/01 PHP
php中使用__autoload()自动加载未定义类的实现代码
2013/02/06 PHP
php可生成缩略图的文件上传类实例
2014/12/17 PHP
PHP echo()函数讲解
2019/02/15 PHP
Laravel框架源码解析之反射的使用详解
2020/05/14 PHP
PHP数组基本用法与知识点总结
2020/06/02 PHP
JavaScript版代码高亮
2006/06/26 Javascript
JavaScript 异步调用框架 (Part 6 - 实例 & 模式)
2009/08/04 Javascript
javascript强制点击广告的方法
2015/02/06 Javascript
JavaScript编程中布尔对象的基本使用
2015/10/25 Javascript
angularjs 表单密码验证自定义指令实现代码
2016/10/27 Javascript
基于jQuery实现弹幕APP
2017/02/10 Javascript
React.js中常用的ES6写法总结(推荐)
2017/05/09 Javascript
QRCode.js:基于JQuery的生成二维码JS库的使用
2017/06/23 jQuery
vue组件父子间通信之综合练习(聊天室)
2017/11/07 Javascript
在Vue项目中取消ESLint代码检测的步骤讲解
2019/01/27 Javascript
Webpack中loader打包各种文件的方法实例
2019/09/03 Javascript
原生js+css调节音量滑块
2020/01/15 Javascript
Vue3.0的优化总结
2020/10/16 Javascript
[59:48]DOTA2-DPC中国联赛 正赛 VG vs Magma BO3 第一场 1月26日
2021/03/11 DOTA
Python引用(import)文件夹下的py文件的方法
2014/08/26 Python
PyQt5 多窗口连接实例
2019/06/19 Python
Python实现井字棋小游戏
2020/03/09 Python
Python如何发送与接收大型数组
2020/08/07 Python
html5 http的轮询和Websocket原理
2018/10/19 HTML / CSS
奥地利网上书店:Weltbild
2017/07/14 全球购物
我想声明一个指针并为它分配一些空间, 但却不行。这些代码有什么 问题?char *p; *p = malloc(10);
2016/10/06 面试题
材料专业大学毕业生自荐书
2014/07/02 职场文书
婚宴邀请函
2015/01/30 职场文书
2015迎新晚会开场白
2015/05/29 职场文书
心灵捕手观后感
2015/06/02 职场文书
患者身份识别制度
2015/08/06 职场文书
商业计划书如何写?关键问题有哪些?
2019/07/11 职场文书
导游词之无锡梅园
2019/11/28 职场文书
vscode内网访问服务器的方法
2022/06/28 Servers