基于python的五子棋游戏的设计和实现,python游戏代码五子棋

  基于python的五子棋游戏的设计和实现,python游戏代码五子棋

  本文主要详细介绍了简单五子棋游戏的python实现。本文中的示例代码非常详细,具有一定的参考价值。感兴趣的朋友可以参考一下。

  本文分享python实现简单五子棋游戏的具体代码,供大家参考。具体如下。

  操作效果:

  完整的代码注释:

  Finish=False #游戏结束了吗?

  当前棋手的1号标志

  当前棋手的棋子

  X=当前棋子的0 #横坐标

  Y=当前棋子的0 #纵坐标

  打印(-)

  #棋盘初始化

  棋盘=[]

  对于范围(10):内的I

  checkerboard.append([])

  对于范围(10):内的j

  棋盘[i]。追加(-)

  定义消息():

  #输出最后胜利的棋盘

  打印( \ 033[1;37;44m -)

  打印( 1 2 3 4 5 6 7 8 9 10 )

  对于范围内的I(透镜(棋盘)):

  print(chr(I order( A ) ,end= )

  对于范围内的j(len(checkerboard[I])):

  print(棋盘[i][j] ,end= )

  打印()

  打印(- \033[0m )

  #输出获胜者

  if (flagNum==1):

  打印( \033[32m*棋局胜利!***\033[0m )

  else:

  打印( \033[32mo棋局胜利!***\033[0m )

  虽然没有完成:

  #印花棋盘

  打印( \ 033[1;30;46米-)

  打印( 1 2 3 4 5 6 7 8 9 10 )

  对于范围内的I(透镜(棋盘)):

  print(chr(I order( A )) ,end= );

  对于范围内的j(len(checkerboard[I])):

  print(棋盘[i][j] ,end= )

  打印()

  打印(- \033[0m )

  #判断当前棋手

  如果flagNum==1:

  flagch=*

  打印( \ 033[1;37;40m请*输入棋子的坐标(如A1): \ 033 [0m ,end=) #白底黑字

  else:

  flagch=o

  打印( \ 033[1;30;42m请O输入棋子的坐标(例如J5): \ 033 [0m ,end=) #黑色和绿色背景

  #输入棋子坐标

  str=input()

  Ch=str[0] #获取首字符的大写形式

  x=ord(ch) - 65

  y=int(str[1]) - 1

  #确定坐标是否在棋盘内。

  if (x 0或x 9或y 0或y 9):

  Print(\033[31m***您输入的坐标是错误的。请重新输入!***\033[0m )

  继续

  #判断坐标上是否有棋子

  if(棋盘[x][y]==-):

  if (flagNum==1):

  棋盘[x][y]=*

  else:

  棋盘[x][y]=o

  else:

  打印( \ 033 [31m * * * * *您输入的位置已经有其他棋子,请重新输入!\ 033[0m ]

  继续

  #判断棋子的左边

  if (y - 4=0):

  我

  f (checkerboard[x][y - 1] == flagch

                  and checkerboard[x][y - 2] == flagch

                  and checkerboard[x][y - 3] == flagch

                  and checkerboard[x][y - 4] == flagch):

              finish = True

              msg()

      # 判断棋子右侧

      if (y + 4 <= 9):

          if (checkerboard[x][y + 1] == flagch

                  and checkerboard[x][y + 2] == flagch

                  and checkerboard[x][y + 3] == flagch

                  and checkerboard[x][y + 4] == flagch):

              finish = True

              msg()

      # 判断棋子上方

      if (x - 4 >= 0):

          if (checkerboard[x - 1][y] == flagch

                  and checkerboard[x - 2][y] == flagch

                  and checkerboard[x - 3][y] == flagch

                  and checkerboard[x - 4][y] == flagch):

              finish = True

              msg()

      # 判断棋子下方

      if (x + 4 <= 9):

          if (checkerboard[x + 1][y] == flagch

                  and checkerboard[x + 2][y] == flagch

                  and checkerboard[x + 3][y] == flagch

                  and checkerboard[x + 4][y] == flagch):

              finish = True

              msg()

      # 判断棋子右上方向

      if (x - 4 >= 0 and y - 4 >= 0):

          if (checkerboard[x - 1][y - 1] == flagch

                  and checkerboard[x - 2][y - 2] == flagch

                  and checkerboard[x - 3][y - 3] == flagch

                  and checkerboard[x - 4][y - 4] == flagch):

              finish = True

              msg()

      # 判断棋子右下方向

      if (x + 4 <= 9 and y - 4 >= 0):

          if (checkerboard[x + 1][y - 1] == flagch

                  and checkerboard[x + 2][y - 2] == flagch

                  and checkerboard[x + 3][y - 3] == flagch

                  and checkerboard[x + 4][y - 4] == flagch):

              finish = True

              msg()

      # 判断棋子左上方向

      if (x - 4 >= 0 and y + 4 <= 9):

          if (checkerboard[x - 1][y + 1] == flagch

                  and checkerboard[x - 2][y + 2] == flagch

                  and checkerboard[x - 3][y + 3] == flagch

                  and checkerboard[x - 4][y + 4] == flagch):

              finish = True

              msg()

      # 判断棋子左下方向

      if (x + 4 <= 9 and y + 4 <= 9):

          if (checkerboard[x + 1][y + 1] == flagch

                  and checkerboard[x + 2][y + 2] == flagch

                  and checkerboard[x + 3][y + 3] == flagch

                  and checkerboard[x + 4][y + 4] == flagch):

              finish = True

              msg()

      flagNum *= -1; # 更换下棋者标记

  以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持盛行IT软件开发工作室。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: