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 21 Python
简单的Apache+FastCGI+Django配置指南
Jul 22 Python
在arcgis使用python脚本进行字段计算时是如何解决中文问题的
Oct 18 Python
Python进行数据提取的方法总结
Aug 22 Python
python线程池threadpool使用篇
Apr 27 Python
python3.5 email实现发送邮件功能
May 22 Python
python3 http提交json参数并获取返回值的方法
Dec 19 Python
将string类型的数据类型转换为spark rdd时报错的解决方法
Feb 18 Python
关于TensorFlow新旧版本函数接口变化详解
Feb 10 Python
浅谈keras通过model.fit_generator训练模型(节省内存)
Jun 17 Python
Python实现上下文管理器的方法
Aug 07 Python
Python如何用re模块实现简易tokenizer
May 02 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实现文件下载简单示例(代码实现文件下载)
2014/03/10 PHP
Yii框架实现的验证码、登录及退出功能示例
2017/05/20 PHP
thinkphp 抓取网站的内容并且保存到本地的实例详解
2017/08/25 PHP
php intval函数用法总结
2019/04/14 PHP
为你的 Laravel 验证器加上多验证场景的实现
2020/04/07 PHP
不用写JS也能使用EXTJS视频演示
2008/12/29 Javascript
THREE.JS入门教程(5)你应当知道的十件事
2013/01/24 Javascript
关于extjs treepanel复选框选中父节点与子节点的问题
2013/04/02 Javascript
Javascript 鼠标移动上去 滑块跟随效果代码分享
2013/11/23 Javascript
jQuery拖拽 &amp; 弹出层 介绍与示例
2013/12/27 Javascript
加随机数引入脚本不让浏览器读取缓存
2014/09/04 Javascript
vue渲染方式render和template的区别
2020/06/05 Javascript
OpenLayer3自定义测量控件MeasureTool
2020/09/28 Javascript
itchat和matplotlib的结合使用爬取微信信息的实例
2017/08/25 Python
Python3实现简单可学习的手写体识别(实例讲解)
2017/10/21 Python
Python并发编程协程(Coroutine)之Gevent详解
2017/12/27 Python
django初始化数据库的实例
2018/05/27 Python
Python使用sort和class实现的多级排序功能示例
2018/08/15 Python
浅谈Python基础—判断和循环
2019/03/22 Python
python实现接口并发测试脚本
2019/06/25 Python
python生成器推导式用法简单示例
2019/10/08 Python
Python使用QQ邮箱发送邮件实例与QQ邮箱设置详解
2020/02/18 Python
关于Django Models CharField 参数说明
2020/03/31 Python
深入理解css属性的选择对动画性能的影响
2016/04/20 HTML / CSS
德国鞋子网上商店:Omoda.de
2017/03/31 全球购物
婚鞋、新娘鞋、礼服鞋、童鞋:Nina Shoes
2019/09/04 全球购物
阿德的梦教学反思
2014/02/06 职场文书
人力资源经理的岗位职责范本
2014/02/28 职场文书
银行先进个人事迹材料
2014/05/11 职场文书
社区志愿者培训方案
2014/06/10 职场文书
2014年科室工作总结
2014/11/20 职场文书
普宁寺导游词
2015/02/04 职场文书
2016优秀教师先进个人事迹材料
2016/02/25 职场文书
写好求职信的技巧解密
2019/05/14 职场文书
MySQL索引篇之千万级数据实战测试
2021/04/05 MySQL
python使用shell脚本创建kafka连接器
2022/04/29 Python