共享VIP立即开通
原创VIP立即开通
办公VIP立即开通
超级VIP立即开通
企业VIP立即开通

[网站设计] python制作简单五子棋游戏

[复制链接]
云盟 发表于 2020-9-30 13:15:02 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
 

本文实例为大家分享了python五子棋游戏的具体代码,供大家参考,具体内容如下

#五子棋
‘''
矩阵做棋盘 16*16 “+”

打印棋盘 for for

游戏是否结束

开始下棋 while 游戏是否结束:
黑白交替 player=0 p%2==0 ==1 p+=1
下棋动作一样 但是棋子不一样
‘''

代码


  1. #创建棋盘的程序
  2. def initBoard():
  3. global board #调用全局的board
  4. board=[None]*16
  5. for i in range(len(board)):
  6. board[i]=["+ "]*16
  7. #打印棋盘的程序
  8. def printBoard():
  9. global board
  10. for i in range(len(board)):
  11. for j in range(len(board[i])):
  12.   print(board[i][j],end=" ")
  13. print("")
  14. #开始下棋的程序
  15. def startGame():
  16. global board
  17. player=0
  18. while isGameContinue():
  19. if player%2==0:
  20.   #黑方下棋
  21.   print("==>黑方下棋")
  22.   if not playChess("●"):
  23.   continue
  24. else:
  25.   #白方下棋
  26.   print("==>白方下棋")
  27.   if not playChess("○"):
  28.   continue
  29. player+=1

  30. def playChess(chess):
  31. #获取位置
  32. x=int(input("==> X="))-1
  33. y=int(input("==> Y="))-1
  34. if board[x][y]=="+ ":
  35. board[x][y]=chess
  36. printBoard()
  37. return True #落子成功
  38. else:
  39. print("==> 已有棋子 请重新落子\a")
  40. printBoard()
  41. return False#落子失败
  42. def isGameContinue():
  43. for i in range(len(board)):
  44. for j in range(len(board[i])):
  45.   if board[i][j]!="+ ":
  46.   #横向
  47.   if j<=11:
  48.    if board[i][j]==board[i][j+1]==board[i][j+2]==board[i][j+3]==board[i][j+4]:
  49.    whoWin(i,j)
  50.    return False
  51.   #竖向
  52.   if i<=11:
  53.    if board[i][j]==board[i+1][j]==board[i+2][j]==board[i+3][j]==board[i+4][j]:
  54.    whoWin(i,j)
  55.    return False
  56.   #反斜
  57.   if i<=11 and j<=11:
  58.    if board[i][j]==board[i+1][j+1]==board[i+2][j+2]==board[i+3][j+3]==board[i+4][j+4]:
  59.    whoWin(i,j)
  60.    return False
  61.   #正斜
  62.   if i>=4 and j<=11:
  63.    if board[i][j]==board[i-1][j+1]==board[i-2][j+2]==board[i-3][j+3]==board[i-4][j+4]:
  64.    whoWin(i,j)
  65.    return False
  66. return True
  67. def whoWin(i,j):
  68. if board[i][j]=="●":
  69. print("黑方胜!")
  70. else:
  71. print("白方胜!")
  72. for i in range(10):
  73. print("\a")
  74. board=[]
  75. initBoard()
  76. printBoard()
  77. startGame()
复制代码

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持亿速云。


高防服务器,棋牌高防服务器,游戏高防服务器,bgp高防服务器,美国高防服务器,香港高防服务器,租用服务器,高防服务器租用,高防服务器出租,高防IP
回复

使用道具 举报

 
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

排行榜

关注我们:微信订阅号

官方微信

APP下载

全国服务热线:

2020-018-018

公司地址:上海市嘉定区银翔路20号B区2020室

运营中心:成都市锦江区东华正街2020号广电仕百达国际大厦2020楼

邮编:2020 Email:2818466886#qq.com

Copyright   ©2015-2016  云盟Powered by©Discuz!技术支持:云盟网络     ( 服务器租用 高防服务器 云服务器租用 亿速云香港5G云支持 )