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

作者:Miku丨无形 时间:2022-08-26 14:28:57 

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

代码如下:


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实现双人五子棋(终端版)

来源:https://blog.csdn.net/Miku_wx/article/details/111831268

标签:python,五子棋
0
投稿

猜你喜欢

  • Windows10下mysql 8.0.19 安装配置方法图文教程

    2024-01-21 06:33:27
  • Sanic框架安装与简单入门示例

    2022-06-08 19:37:41
  • Python pip 常用命令汇总

    2023-06-10 06:11:38
  • 详解numpy1.19.4与python3.9版本冲突解决

    2021-10-26 22:51:26
  • 在主机商的共享服务器上部署Django站点的方法

    2021-03-20 22:41:34
  • SpringBoot集成内存数据库Sqlite的实践

    2024-01-15 10:24:11
  • 论坛首页效果图设计

    2009-03-19 13:46:00
  • IE6浮出层穿透解决方案中的iframe高度自适应

    2009-10-30 18:08:00
  • 你应当了解的5个CSS3新技术

    2009-02-11 13:01:00
  • php 删除一维数组中某一个值元素的操作方法

    2024-06-05 09:51:01
  • Django上传xlsx文件直接转化为DataFrame或直接保存的方法

    2023-12-02 14:42:16
  • 深入浅出解析mssql在高频,高并发访问时键查找死锁问题

    2024-01-29 02:32:54
  • 基于telepath库实现Python和JavaScript之间交换数据

    2023-05-24 04:20:39
  • asp ajax跨域提交数据

    2011-04-11 10:56:00
  • Python 模板引擎的注入问题分析

    2021-05-26 17:05:30
  • Django通过json格式收集主机信息

    2022-03-23 19:58:49
  • MySQL主从同步原理及应用

    2024-01-18 07:42:24
  • python对一个数向上取整的实例方法

    2023-04-12 09:07:50
  • Python命令行参数argv和argparse该如何使用

    2022-04-05 01:38:52
  • SQL SERVER中各类触发器的完整语法及参数说明

    2024-01-15 20:54:17
  • asp之家 网络编程 m.aspxhome.com