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

2020-12-30 0 997

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

代码如下:

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实现双人五子棋(终端版) http://www.ox520.com/27778.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务