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新手编程过程中如何规避一些常见问题的建议
Apr 01 Python
Python中encode()方法的使用简介
May 18 Python
Python socket实现简单聊天室
Apr 01 Python
Python 从相对路径下import的方法
Dec 04 Python
Python3实现取图片中特定的像素替换指定的颜色示例
Jan 24 Python
python简单贪吃蛇开发
Jan 28 Python
python实现顺时针打印矩阵
Mar 02 Python
flask框架蓝图和子域名配置详解
Jan 25 Python
flask框架url与重定向操作实例详解
Jan 25 Python
python opencv实现直线检测并测出倾斜角度(附源码+注释)
Dec 31 Python
解决pytorch 数据类型报错的问题
Mar 03 Python
python的netCDF4批量处理NC格式文件的操作方法
Mar 21 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创建sprite
2014/02/11 PHP
php实现无限级分类
2014/12/24 PHP
javascript编程起步(第三课)
2007/02/27 Javascript
JavaScript 异步调用框架 (Part 6 - 实例 &amp; 模式)
2009/08/04 Javascript
Jquery 一次处理多个ajax请求的代码
2011/09/02 Javascript
分享一个asp.net pager分页控件
2012/01/04 Javascript
Javascript模块化编程(一)模块的写法最佳实践
2013/01/17 Javascript
JS.getTextContent(element,preformatted)使用介绍
2013/09/21 Javascript
javascript怎么禁用浏览器后退按钮
2014/03/27 Javascript
Jquery实现的角色左右选择特效
2014/05/21 Javascript
JsRender for object语法简介
2014/10/31 Javascript
JavaScript分秒倒计时器实现方法
2015/02/02 Javascript
jquery实现列表上下移动功能
2016/02/25 Javascript
通过node-mysql搭建Windows+Node.js+MySQL环境的教程
2016/03/01 Javascript
js不间断滚动的简单实现
2016/06/03 Javascript
jQuery动态生成表格及右键菜单功能示例
2017/01/13 Javascript
Vuejs仿网易云音乐实现听歌及搜索功能
2017/03/30 Javascript
微信小程序 实现点击添加移除class
2017/06/12 Javascript
如何编写一个完整的Angular4 FormText 组件
2017/11/18 Javascript
Bootstrap table 服务器端分页功能实现方法示例
2020/06/01 Javascript
快速实现基于Python的微信聊天机器人示例代码
2017/03/03 Python
python排序函数sort()与sorted()的区别
2018/09/18 Python
Python实现检测文件的MD5值来查找重复文件案例
2020/03/12 Python
CentOS 7如何实现定时执行python脚本
2020/06/24 Python
快速解释如何使用pandas的inplace参数的使用
2020/07/23 Python
python进行二次方程式计算的实例讲解
2020/12/06 Python
pytest fixtures装饰器的使用和如何控制用例的执行顺序
2021/01/28 Python
adidas瑞典官方网站:购买阿迪达斯鞋子和运动服
2019/12/11 全球购物
香港百佳网上超级市场:PARKNSHOP.com
2020/06/10 全球购物
介绍一下SQL Server的全文索引
2013/08/15 面试题
上海雨人软件技术开发有限公司测试题
2015/07/14 面试题
毕业生个人求职信范例分享
2013/12/17 职场文书
信息与工商管理职业规划范文:为梦想而搏击
2014/09/11 职场文书
酒店管理失职检讨书
2014/09/16 职场文书
副校长个人对照检查材料思想汇报
2014/10/04 职场文书
合作合同协议书
2016/03/21 职场文书