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中防止sql注入的方法详解
Feb 25 Python
Python实现向服务器请求压缩数据及解压缩数据的方法示例
Jun 09 Python
基于python的Tkinter编写登陆注册界面
Jun 30 Python
python中requests库session对象的妙用详解
Oct 30 Python
Python调用adb命令实现对多台设备同时进行reboot的方法
Oct 15 Python
python中下标和切片的使用方法解析
Aug 27 Python
python的time模块和datetime模块实例解析
Nov 29 Python
使用Python合成图片的实现代码(图片添加个性化文本,图片上叠加其他图片)
Apr 30 Python
Python xpath表达式如何实现数据处理
Jun 13 Python
keras实现图像预处理并生成一个generator的案例
Jun 17 Python
在Ubuntu中安装并配置Pycharm教程的实现方法
Jan 06 Python
python中Pyqt5使用Qlabel标签播放视频
Apr 22 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
PHP中文汉字验证码
2007/04/08 PHP
php微信公众平台开发类实例
2015/04/01 PHP
Laravel框架实现抢红包功能示例
2019/10/31 PHP
JavaScript高级程序设计阅读笔记(五) ECMAScript中的运算符(一)
2012/02/27 Javascript
jquery中的过滤操作详细解析
2013/12/02 Javascript
js点击事件链接的问题解决
2014/04/25 Javascript
javascript将url中的参数加密解密代码
2014/11/17 Javascript
JavaScript监听文本框回车事件并过滤文本框空格的方法
2015/04/16 Javascript
js实现兼容性好的微软官网导航下拉菜单效果
2015/09/07 Javascript
Bootstrap源码解读媒体对象、列表组和面板(10)
2016/12/26 Javascript
原生js轮播特效
2017/05/18 Javascript
简单的网页广告特效实例
2017/08/19 Javascript
Express使用html模板的详细代码
2017/09/18 Javascript
微信小程序实现留言板(Storage)
2018/11/02 Javascript
js如何获取访问IP、地区、当前操作浏览器
2019/07/23 Javascript
详解Vue-cli3.X使用px2rem遇到的问题
2019/08/09 Javascript
JS实现利用闭包判断Dom元素和滚动条的方向示例
2019/08/26 Javascript
vue 监听窗口变化对页面部分元素重新渲染操作
2020/07/28 Javascript
Python实现将数据框数据写入mongodb及mysql数据库的方法
2018/04/02 Python
python 中的9个实用技巧,助你提高开发效率
2020/08/30 Python
Python Opencv图像处理基本操作代码详解
2020/08/31 Python
Python hashlib模块的使用示例
2020/10/09 Python
Python os库常用操作代码汇总
2020/11/03 Python
Python结合百度语音识别实现实时翻译软件的实现
2021/01/18 Python
利用CSS3实现自定义滚动条代码分享
2016/08/18 HTML / CSS
Kivari官网:在线购买波西米亚服装
2018/10/29 全球购物
Intersport西班牙:在线体育商店
2019/11/06 全球购物
高校学生干部的自我评价分享
2013/11/04 职场文书
前台文员的岗位职责
2013/11/14 职场文书
现金会计岗位职责
2013/12/05 职场文书
保安拾金不昧表扬信
2014/01/15 职场文书
优秀教师事迹简介
2014/02/02 职场文书
市场部业务员岗位职责
2014/04/02 职场文书
干部个人对照检查材料
2014/08/25 职场文书
作弊检讨书范文
2015/05/06 职场文书
建房合同协议书
2016/03/21 职场文书