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教程之用py2exe将PY文件转成EXE文件
Jun 12 Python
python的else子句使用指南
Feb 27 Python
浅析Python中yield关键词的作用与用法
Nov 29 Python
Python网络爬虫神器PyQuery的基本使用教程
Feb 03 Python
python Pandas 读取txt表格的实例
Apr 29 Python
值得收藏的10道python 面试题
Apr 15 Python
Python实现的爬取百度贴吧图片功能完整示例
May 10 Python
python实现的Iou与Giou代码
Jan 18 Python
高考考python编程是真的吗
Jul 20 Python
matplotlib阶梯图的实现(step())
Mar 02 Python
Python基础知识学习之类的继承
May 31 Python
Python&Matlab实现灰狼优化算法的示例代码
Mar 21 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
JS与PHP向函数传递可变参数的区别实例代码
2011/05/18 PHP
使ecshop模板中可引用常量的实现方法
2011/06/02 PHP
深入php函数file_get_contents超时处理的方法详解
2013/06/03 PHP
PHP使用mysqli操作MySQL数据库的简单方法
2017/02/04 PHP
PHP将英文数字转换为阿拉伯数字实例讲解
2019/01/28 PHP
php5对象复制、clone、浅复制与深复制实例详解
2019/08/14 PHP
js键盘事件的keyCode
2014/07/29 Javascript
AngularJS表单编辑提交功能实例
2015/02/13 Javascript
Js可拖拽放大的层拖动特效实现方法
2015/02/25 Javascript
如何使用jquery easyui创建标签组件
2015/11/18 Javascript
原生js实现移动端瀑布流式代码示例
2015/12/18 Javascript
canvas绘图不清晰的解决方案
2017/02/28 Javascript
JavaScript实现左右下拉框动态增删示例
2017/03/09 Javascript
js中作用域的实例解析
2017/03/16 Javascript
Vue动态加载异步组件的方法
2018/11/21 Javascript
全面了解JavaScript的作用域链
2019/04/03 Javascript
浅谈目前可以使用ES10的5个新特性
2019/06/25 Javascript
layui 中select下拉change事件失效的解决方法
2019/09/20 Javascript
Vue axios 跨域请求无法带上cookie的解决
2020/09/08 Javascript
JS实现小米轮播图
2020/09/21 Javascript
微信小程序实现登录注册功能
2020/12/29 Javascript
linux查找当前python解释器的位置方法
2019/02/20 Python
Python3.5常见内置方法参数用法实例详解
2019/04/29 Python
python中dict使用方法详解
2019/07/17 Python
matplotlib.pyplot.plot()参数使用详解
2020/07/28 Python
python简单实现插入排序实例代码
2020/12/16 Python
使用Python实现音频双通道分离
2020/12/25 Python
python如何调用php文件中的函数详解
2020/12/29 Python
毕业生找工作的自我评价
2013/10/18 职场文书
经典大学生求职信范文
2014/01/06 职场文书
公司员工离职证明书
2014/10/04 职场文书
违章停车检讨书
2014/10/21 职场文书
人事主管岗位职责
2015/02/04 职场文书
孟佩杰观后感
2015/06/17 职场文书
《日月潭》教学反思
2016/02/20 职场文书
《极主夫道》真人电影正式预告 定档6月3日上映
2022/04/05 日漫