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实现的简单算术游戏实例
May 26 Python
Python基于DES算法加密解密实例
Jun 03 Python
python实现在控制台输入密码不显示的方法
Jul 02 Python
浅谈Python的异常处理
Jun 19 Python
Python增量循环删除MySQL表数据的方法
Sep 23 Python
Python3.5编程实现修改IIS WEB.CONFIG的方法示例
Aug 18 Python
django数据库migrate失败的解决方法解析
Feb 08 Python
python中使用 xlwt 操作excel的常见方法与问题
Jan 13 Python
Python Web静态服务器非堵塞模式实现方法示例
Nov 21 Python
使用Python制作缩放自如的圣诞老人(圣诞树)
Dec 25 Python
Python基于httpx模块实现发送请求
Jul 07 Python
完美解决torch.cuda.is_available()一直返回False的玄学方法
Feb 06 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 for 循环语句使用方法详细说明
2010/05/09 PHP
使用PHP导出Word文档的原理和实例
2013/10/21 PHP
在SAE上搭建最新wordpress的方法
2014/12/21 PHP
PHP文件上传、客户端和服务器端加限制、抓取错误信息、完整步骤解析
2017/01/12 PHP
thinkPHP框架实现的短信接口验证码功能示例
2018/06/20 PHP
PHP大文件分片上传的实现方法
2018/10/28 PHP
javascript 日历提醒系统( 兼容所有浏览器 )
2009/04/07 Javascript
Table冻结表头示例代码
2013/08/20 Javascript
使用AngularJS 应用访问 Android 手机的图片库
2015/03/24 Javascript
jQuery插件StickUp实现网页导航置顶
2015/04/12 Javascript
在javascript中随机数 math random如何生成指定范围数值的随机数
2015/10/21 Javascript
js实现带农历和八字等信息的日历特效
2016/05/16 Javascript
Bootstrap基本组件学习笔记之列表组(11)
2016/12/07 Javascript
vuejs开发组件分享之H5图片上传、压缩及拍照旋转的问题处理
2017/03/06 Javascript
bootstrap3 dialog 更强大、更灵活的模态框
2017/04/20 Javascript
微信小程序图片选择、上传到服务器、预览(PHP)实现实例
2017/05/11 Javascript
vue 中directive功能的简单实现
2018/01/05 Javascript
jQuery实现鼠标响应式淘宝动画效果示例
2018/02/13 jQuery
详解使用angular框架离线你的应用(pwa指南)
2019/01/31 Javascript
浅谈Javascript中的对象和继承
2019/04/19 Javascript
详解JS判断页面是在手机端还是在PC端打开的方法
2019/04/26 Javascript
详解在React-Native中持久化redux数据
2019/05/22 Javascript
利用Python为iOS10生成图标和截屏
2016/09/24 Python
Python Paramiko模块的使用实际案例
2018/02/01 Python
在Python中COM口的调用方法
2019/07/03 Python
Python日志器使用方法及原理解析
2020/09/27 Python
Django-silk性能测试工具安装及使用解析
2020/11/28 Python
新加坡鲜花速递/新加坡网上花店:Ferns N Petals
2020/08/29 全球购物
开水果连锁店创业计划书
2013/12/29 职场文书
仓库管理制度
2014/01/21 职场文书
求职信的最佳写作思路
2014/02/01 职场文书
军训自我鉴定范文
2014/02/13 职场文书
会计电算化应届生自荐信
2014/02/25 职场文书
成人继续教育实施方案
2014/03/01 职场文书
新年爱情寄语
2014/04/08 职场文书
2015年上半年计生工作总结
2015/03/30 职场文书