python实现双人五子棋(终端版)

 更新时间:2020年12月30日 14:23:47   作者:Miku丨无形  
这篇文章主要为大家详细介绍了python实现终端版的双人五子棋,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

五子棋还是有很多大佬发的,今天我也发一篇萌新写的小五子棋,这个是终端版的,如果有问题请大家指出,我去修改

代码如下:

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数据封装json格式数据

    python数据封装json格式数据

    本次内容是小编在网上整理的关于如何python数据封装json格式的内容总结,有兴趣的读者们参考下。
    2018-03-03
  • 使用python实现kNN分类算法

    使用python实现kNN分类算法

    这篇文章主要为大家详细介绍了使用python实现kNN分类算法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10
  • Python类的定义和使用详情

    Python类的定义和使用详情

    这篇文章主要介绍了Python类的定义和使用详情,在Python中,类表示具有相同属性和方法的对象的集合,文章围绕主题相关资料展开更多的相关介绍,需要的小伙伴可以参考一下
    2022-06-06
  • Python企业编码生成系统总体系统设计概述

    Python企业编码生成系统总体系统设计概述

    这篇文章主要介绍了Python企业编码生成系统总体系统设计,简单描述了Python企业编码生成系统的功能、结构与相关编码实现技巧,需要的朋友可以参考下
    2019-07-07
  • Python类装饰器实现方法详解

    Python类装饰器实现方法详解

    这篇文章主要介绍了Python类装饰器实现方法,结合实例形式较为详细的分析了Python类装饰器的相关概念、原理、实现方法与使用技巧,需要的朋友可以参考下
    2018-12-12
  • python百行代码自制电脑端网速悬浮窗的实现

    python百行代码自制电脑端网速悬浮窗的实现

    这篇文章主要介绍了python百行代码自制电脑端网速悬浮窗的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • python 偷懒技巧——使用 keyboard 录制键盘事件

    python 偷懒技巧——使用 keyboard 录制键盘事件

    这篇文章主要介绍了python如何使用 keyboard 录制键盘事件,帮助大家提高工作效率,感兴趣的朋友可以了解下
    2020-09-09
  • torchxrayvision包安装过程(附pytorch1.6cpu版安装)

    torchxrayvision包安装过程(附pytorch1.6cpu版安装)

    这篇文章主要介绍了torchxrayvision包安装过程(附pytorch1.6cpu版安装),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • Python中的迭代器你了解吗

    Python中的迭代器你了解吗

    迭代器是一种特殊的对象,它实现了迭代协议,允许按照一定的顺序逐个访问元素,本文就来带大家深入了解一下Python中迭代器的使用,需要的可以参考下
    2023-05-05
  • Python中使用装饰器来优化尾递归的示例

    Python中使用装饰器来优化尾递归的示例

    这里我们用典型的斐波那契数列作为例子,来展示Python中使用装饰器来优化尾递归的示例,需要的朋友可以参考下
    2016-06-06

最新评论