python制作简单五子棋游戏


Posted in Python onJune 18, 2019

本文实例为大家分享了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()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
学习python处理python编码问题
Mar 13 Python
python如何通过protobuf实现rpc
Mar 06 Python
对Python进行数据分析_关于Package的安装问题
May 22 Python
Python+matplotlib+numpy绘制精美的条形统计图
Jan 02 Python
PyQt5每天必学之进度条效果
Apr 19 Python
Python简单I/O操作示例
Mar 18 Python
Python比较配置文件的方法实例详解
Jun 06 Python
django框架防止XSS注入的方法分析
Jun 21 Python
Python爬虫爬取杭州24时温度并展示操作示例
Mar 27 Python
使用Python FastAPI构建Web服务的实现
Jun 08 Python
PyCharm 2020.1版安装破解注册码永久激活(激活到2089年)
Sep 24 Python
pytorch 6 batch_train 批训练操作
May 28 Python
Python利用pandas处理Excel数据的应用详解
Jun 18 #Python
PyQt5固定窗口大小的方法
Jun 18 #Python
Python格式化字符串f-string概览(小结)
Jun 18 #Python
Python 安装第三方库 pip install 安装慢安装不上的解决办法
Jun 18 #Python
PyQt编程之如何在屏幕中央显示窗体的实例
Jun 18 #Python
pycharm访问mysql数据库的方法步骤
Jun 18 #Python
python实现五子棋人机对战游戏
Mar 25 #Python
You might like
php打造属于自己的MVC框架
2012/03/07 PHP
php过滤html中的其他网站链接的方法(域名白名单功能)
2014/04/24 PHP
POST一个JSON格式的数据给Restful服务实例详解
2017/04/07 PHP
php实现微信发红包功能
2018/07/13 PHP
控制打印时页眉角的代码
2007/02/08 Javascript
使用正则替换变量
2007/05/05 Javascript
关于jQuery object and DOM element
2013/04/15 Javascript
javascript:json数据的页面绑定示例代码
2014/01/26 Javascript
jQuery scroll事件实现监控滚动条分页示例
2014/04/04 Javascript
使用JQ来编写最基本的淡入淡出效果附演示动画
2014/10/31 Javascript
Bootstrap组件学习之导航、标签、面包屑导航(精品)
2016/05/17 Javascript
利用Vue.js实现checkbox的全选反选效果
2017/01/18 Javascript
AngularJS双向绑定和依赖反转实例详解
2017/04/15 Javascript
layui表格实现代码
2017/05/20 Javascript
SpringMVC简单整合Angular2的示例
2017/07/31 Javascript
vuex与组件联合使用的方法
2018/05/10 Javascript
详解在React.js中使用PureComponent的重要性和使用方式
2018/07/10 Javascript
Vue中使用clipboard实现复制功能
2018/09/05 Javascript
Vue.js页面中有多个input搜索框如何实现防抖操作
2019/11/04 Javascript
Vue实现附件上传功能
2020/05/28 Javascript
Python实现二分查找算法实例
2015/05/26 Python
Python字典简介以及用法详解
2016/11/15 Python
Python中的默认参数实例分析
2018/01/29 Python
python使用正则表达式来获取文件名的前缀方法
2018/10/21 Python
解决pycharm运行程序出现卡住scanning files to index索引的问题
2019/06/27 Python
Python猜数字算法题详解
2020/03/01 Python
Python闭包装饰器使用方法汇总
2020/06/29 Python
python logging模块的使用详解
2020/10/23 Python
英国邮购活的植物主要供应商:Gardening Direct
2019/01/28 全球购物
三八妇女节超市活动方案
2014/08/18 职场文书
中学生运动会新闻稿
2014/09/24 职场文书
三潭印月的导游词
2015/02/12 职场文书
2015年财务个人工作总结范文
2015/05/22 职场文书
2015年信息宣传工作总结
2015/05/26 职场文书
又涨知识了,自律到底多重要?
2019/06/27 职场文书
分享7个 Python 实战项目练习
2022/03/03 Python