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 中的with关键字使用详解
Sep 11 Python
python的scikit-learn将特征转成one-hot特征的方法
Jul 10 Python
python logging重复记录日志问题的解决方法
Jul 12 Python
Python统计python文件中代码,注释及空白对应的行数示例【测试可用】
Jul 25 Python
Pycharm代码无法复制,无法选中删除,无法编辑的解决方法
Oct 22 Python
Python文件打开方式实例详解【a、a+、r+、w+区别】
Mar 30 Python
Python数据可视化 pyecharts实现各种统计图表过程详解
Aug 15 Python
Pytorch抽取网络层的Feature Map(Vgg)实例
Aug 20 Python
使用keras实现Precise, Recall, F1-socre方式
Jun 15 Python
python 实现aes256加密
Nov 27 Python
python爬虫--selenium模块
Mar 31 Python
pytorch中的model=model.to(device)使用说明
May 24 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
改德生G88 - 加装等响度低音提升电路
2021/03/02 无线电
第九节--绑定
2006/11/16 PHP
简单的php文件上传(实例)
2013/10/27 PHP
PHP GD库生成图像的几个函数总结
2014/11/19 PHP
checkbox 复选框不能为空
2009/07/11 Javascript
Javascript 遮罩层和加载效果代码
2013/08/01 Javascript
7个去伪存真的JavaScript面试题
2016/01/07 Javascript
JS实现图片平面旋转的方法
2016/03/01 Javascript
详解jQuery中的isPlainObject()使用方法
2018/02/27 jQuery
vue使用xe-utils函数库的具体方法
2018/03/06 Javascript
JS实现的哈夫曼编码示例【原始版与修改版】
2018/04/22 Javascript
vue项目打包后怎样优雅的解决跨域
2019/05/26 Javascript
Vue事件修饰符native、self示例详解
2019/07/09 Javascript
Flutter实现仿微信底部菜单栏功能
2019/09/18 Javascript
JS实现canvas简单小画板功能
2020/06/23 Javascript
JavaScript动画实例之粒子文本的实现方法详解
2020/07/28 Javascript
Vue +WebSocket + WaveSurferJS 实现H5聊天对话交互的实例
2020/11/18 Vue.js
[15:46]教你分分钟做大人——沙王
2015/03/11 DOTA
[46:53]Secret vs Liquid 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
Python3中常用的处理时间和实现定时任务的方法的介绍
2015/04/07 Python
python的文件操作方法汇总
2017/11/10 Python
python图像常规操作
2017/11/11 Python
python实现聊天小程序
2018/03/13 Python
Django后台admin的使用详解
2019/07/08 Python
python tkinter 设置窗口大小不可缩放实例
2020/03/04 Python
如何基于matlab相机标定导出xml文件
2020/11/02 Python
分享PyCharm最新激活码(真永久激活方法)不用每月找安装参数或最新激活码了
2020/12/27 Python
西班牙伏林航空公司:Vueling
2016/08/05 全球购物
街头时尚在线:JESSICABUURMAN
2019/06/16 全球购物
高中自我鉴定范文
2013/11/03 职场文书
《我的伯父鲁迅先生》教学反思
2014/02/12 职场文书
国贸专业毕业求职信
2014/06/11 职场文书
十佳好少年事迹材料
2014/08/21 职场文书
初中历史教学反思
2016/02/19 职场文书
Z-Order加速Hudi大规模数据集方案分析
2022/03/31 Servers
阿里云 Windows server 2019 配置FTP
2022/04/28 Servers