python制作简单五子棋游戏

作者:Eric· Charles 时间:2021-09-13 06:49:47 

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

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

打印棋盘 for for

游戏是否结束

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

代码


#创建棋盘的程序
def initBoard():
global board #调用全局的board
board=[None]*16
for i in range(len(board)):
board[i]=["+ "]*16
#打印棋盘的程序
def printBoard():
global board
for i in range(len(board)):
for j in range(len(board[i])):
 print(board[i][j],end=" ")
print("")
#开始下棋的程序
def startGame():
global board
player=0
while isGameContinue():
if player%2==0:
 #黑方下棋
 print("==>黑方下棋")
 if not playChess("●"):
 continue
else:
 #白方下棋
 print("==>白方下棋")
 if not playChess("○"):
 continue
player+=1

def playChess(chess):
#获取位置
x=int(input("==> X="))-1
y=int(input("==> Y="))-1
if board[x][y]=="+ ":
board[x][y]=chess
printBoard()
return True #落子成功
else:
print("==> 已有棋子 请重新落子\a")
printBoard()
return False#落子失败
def isGameContinue():
for i in range(len(board)):
for j in range(len(board[i])):
 if board[i][j]!="+ ":
 #横向
 if j<=11:
  if board[i][j]==board[i][j+1]==board[i][j+2]==board[i][j+3]==board[i][j+4]:
  whoWin(i,j)
  return False
 #竖向
 if i<=11:
  if board[i][j]==board[i+1][j]==board[i+2][j]==board[i+3][j]==board[i+4][j]:
  whoWin(i,j)
  return False
 #反斜
 if i<=11 and j<=11:
  if board[i][j]==board[i+1][j+1]==board[i+2][j+2]==board[i+3][j+3]==board[i+4][j+4]:
  whoWin(i,j)
  return False
 #正斜
 if i>=4 and j<=11:
  if board[i][j]==board[i-1][j+1]==board[i-2][j+2]==board[i-3][j+3]==board[i-4][j+4]:
  whoWin(i,j)
  return False
return True
def whoWin(i,j):
if board[i][j]=="●":
print("黑方胜!")
else:
print("白方胜!")
for i in range(10):
print("\a")
board=[]
initBoard()
printBoard()
startGame()

来源:https://blog.csdn.net/qq_42197548/article/details/85073198

标签:python,五子棋
0
投稿

猜你喜欢

  • Go简单实现协程池的实现示例

    2024-02-19 07:35:16
  • PHP PDOStatement::getColumnMeta讲解

    2023-06-22 08:34:14
  • Python中的for循环详情

    2022-04-11 04:30:54
  • python多线程同步实例教程

    2022-08-15 20:45:19
  • Golang导入包的几种方式(点,别名与下划线)

    2023-09-17 23:09:42
  • python人工智能tensorflow常用激活函数Activation Functions

    2023-08-01 12:45:02
  • 你真的了解触发器么 数据实时同步更新问题剖析

    2024-01-24 00:48:40
  • 深入了解Golang interface{}的底层原理实现

    2024-05-05 09:31:13
  • Python MySQL进行数据库表变更和查询

    2024-01-17 04:35:24
  • Python pandas中read_csv参数示例详解

    2021-05-14 06:17:12
  • tornado框架blog模块分析与使用

    2023-01-29 10:39:27
  • mysql日志文件在哪 如何修改MySQL日志文件位置

    2024-01-22 22:09:14
  • Python光学仿真之对光的干涉理解学习

    2021-05-24 04:47:52
  • Python中矩阵库Numpy基本操作详解

    2021-07-09 18:13:05
  • 解决方案,而不是功能

    2011-01-30 18:11:00
  • Django框架静态文件处理、中间件、上传文件操作实例详解

    2021-03-07 14:31:04
  • Python seaborn barplot画图案例

    2023-11-07 00:50:55
  • 详解Python中__str__和__repr__方法的区别

    2023-02-28 17:29:17
  • python 实现矩阵按对角线打印

    2022-08-01 02:01:07
  • 详解python程序中的多任务

    2021-01-10 18:55:37
  • asp之家 网络编程 m.aspxhome.com