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中super关键字用法实例分析
May 28 Python
python基于隐马尔可夫模型实现中文拼音输入
Apr 01 Python
python解决方案:WindowsError: [Error 2]
Aug 28 Python
Python数据分析之双色球中蓝红球分析统计示例
Feb 03 Python
python 通过logging写入日志到文件和控制台的实例
Apr 28 Python
解决Tensorboard 不显示计算图graph的问题
Feb 15 Python
Django 博客实现简单的全文搜索的示例代码
Feb 17 Python
python os模块常用的29种方法使用详解
Jun 02 Python
Python控制台实现交互式环境执行
Jun 09 Python
深入浅析Python代码规范性检测
Jul 31 Python
Python numpy大矩阵运算内存不足如何解决
Nov 19 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和ACCESS写聊天室(三)
2006/10/09 PHP
批量修改RAR文件注释的php代码
2010/11/20 PHP
PHP图片处理之使用imagecopy函数添加图片水印实例
2014/11/19 PHP
ecshop实现smtp发送邮件
2015/02/03 PHP
php使用event扩展的io复用测试的示例
2020/10/20 PHP
Javascript与flash交互通信基础教程
2008/08/07 Javascript
HTML代码中标签的全部属性 中文注释说明
2009/03/26 Javascript
jquery 图片截取工具jquery.imagecropper.js
2010/04/09 Javascript
3Z版基于jquery的图片复选框(asp.net+jquery)
2010/04/12 Javascript
jQuery学习基础知识小结
2010/11/25 Javascript
JavaScript flash复制库类 Zero Clipboard
2011/01/17 Javascript
JS中自定义定时器让它在某一时刻执行
2014/09/02 Javascript
js中的json对象详细介绍
2014/10/29 Javascript
使用jQuery操作HTML的table表格的实例解析
2016/03/13 Javascript
javascript实现随机生成DIV背景色
2016/06/20 Javascript
微信小程序 教程之事件
2016/10/18 Javascript
JavaScript实现数组降维详解
2017/01/05 Javascript
docker中编译nodejs并使用nginx启动
2017/06/23 NodeJs
jQuery动态添加.active 实现导航效果代码思路详解
2017/08/29 jQuery
Node.js Stream ondata触发时机与顺序的探索
2019/03/08 Javascript
vue 获取视频时长的实例代码
2019/08/20 Javascript
微信小程序自定义底部弹出框功能
2020/11/18 Javascript
[02:41]DOTA2英雄基础教程 谜团
2013/12/10 DOTA
Tensorflow简单验证码识别应用
2017/05/25 Python
python2.7实现邮件发送功能
2018/12/12 Python
python实现比较类的两个instance(对象)是否相等的方法分析
2019/06/26 Python
解决Python列表字符不区分大小写的问题
2019/12/19 Python
初任培训自我鉴定
2013/10/07 职场文书
党委书记岗位职责
2013/11/24 职场文书
护士演讲稿范文
2014/01/05 职场文书
竞聘副主任科员演讲稿
2014/01/11 职场文书
聘用意向书
2014/07/29 职场文书
三八妇女节寄语
2015/02/27 职场文书
稽核岗位职责范本
2015/04/13 职场文书
Mysql中有关Datetime和Timestamp的使用总结
2021/12/06 MySQL
MySQL深分页问题解决思路
2022/12/24 MySQL