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算法之栈(stack)的实现
Aug 18 Python
使用C#配合ArcGIS Engine进行地理信息系统开发
Feb 19 Python
由浅入深讲解python中的yield与generator
Apr 05 Python
Python3安装Scrapy的方法步骤
Nov 23 Python
python爬取基于m3u8协议的ts文件并合并
Apr 26 Python
pandas的连接函数concat()函数的具体使用方法
Jul 09 Python
python3实现带多张图片、附件的邮件发送
Aug 10 Python
Django框架model模型对象验证实现方法分析
Oct 02 Python
Python第三方库的几种安装方式(小结)
Apr 03 Python
在python中list作函数形参,防止被实参修改的实现方法
Jun 05 Python
python用tkinter实现一个gui的翻译工具
Oct 26 Python
Python实现Telnet自动连接检测密码的示例
Apr 16 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
从网上搜到的phpwind 0day的代码
2006/12/07 PHP
php下把数组保存为文件格式的实例应用
2010/02/08 PHP
关于PHP模板Smarty的初级使用方法以及心得分享
2013/06/21 PHP
WordPress中用于获取文章信息以及分类链接的函数用法
2015/12/18 PHP
收藏一些不常用,但是有用的代码
2007/03/12 Javascript
jQuery中:image选择器用法实例
2015/01/03 Javascript
jQuery中filter()方法用法实例
2015/01/06 Javascript
jquery中ajax跨域方法实例分析
2015/12/18 Javascript
JS代码实现table数据分页效果
2016/05/26 Javascript
jQuery实现公告新闻自动滚屏效果实例代码
2016/07/14 Javascript
nodejs如何获取时间戳与时间差
2016/08/03 NodeJs
浅析Node.js实现HTTP文件下载
2016/08/05 Javascript
让DIV的滚动条自动滚动到最底部的3种方法(推荐)
2016/09/24 Javascript
Bootstrap框架实现广告轮播效果
2016/11/28 Javascript
详解nodejs操作mongodb数据库封装DB类
2017/04/10 NodeJs
360提示[高危]使用存在漏洞的JQuery版本的解决方法
2017/10/27 jQuery
VUE重点问题总结
2018/03/19 Javascript
详解关于vue-area-linkage走过的坑
2018/06/27 Javascript
Vue-CLI3.x 设置反向代理的方法
2018/12/06 Javascript
JS/HTML5游戏常用算法之路径搜索算法 随机迷宫算法详解【普里姆算法】
2018/12/13 Javascript
vue实现日历备忘录功能
2020/09/24 Javascript
Vue+Bootstrap实现简易学生管理系统
2021/02/09 Vue.js
Python中json格式数据的编码与解码方法详解
2016/07/01 Python
Python设置默认编码为utf8的方法
2016/07/01 Python
Python根据指定日期计算后n天,前n天是哪一天的方法
2018/05/29 Python
PyQt5实现简单的计算器
2020/05/30 Python
用Python 爬取猫眼电影数据分析《无名之辈》
2020/07/24 Python
Pandas中两个dataframe的交集和差集的示例代码
2020/12/13 Python
html5标记文字_动力节点Java学院整理
2017/07/11 HTML / CSS
中国排名第一的外贸销售网站:LightInTheBox.com(兰亭集势)
2016/10/28 全球购物
澳大利亚在线床零售商:Bedworks
2020/09/01 全球购物
c++工程师面试问题
2013/08/04 面试题
2014年小学图书室工作总结
2014/12/09 职场文书
财务总监岗位职责
2015/02/03 职场文书
运动会1000米加油稿
2015/07/21 职场文书
nginx对http请求处理的各个阶段详析
2021/03/31 Servers