python制作简单五子棋游戏
时间:2019-06-18
这篇文章主要为大家详细介绍了python制作简单五子棋游戏,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了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()
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- R语言教程,去除重复的蛋白质、基因互作关系
- Python自学成才之路 with到上下文管理器
- Python自动化运维之LVS
- Python自动化运维之Keepalived
- Python人工智能经典算法之机器学习第一篇
- Python人工智能经典算法之机器学习第二篇
- Python人工智能经典算法之机器学习第三篇
- Python人工智能经典算法之K-近邻算法
- Python人工智能经典算法之线性回归
- Python人工智能经典算法之逻辑回归
- Python人工智能经典算法之决策树
- Python人工智能经典算法之聚类算法
- 【NPM库】- 0x06 - WebSocket
- 代码详解——《无人驾驶车辆模型预测控制》3.3.3代码详解
- 【前端】:模块化 - 打包技术