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脚本对Linux服务器进行监控的教程
Apr 02 Python
使用Python脚本将Bing的每日图片作为桌面的教程
May 04 Python
浅谈Python2.6和Python3.0中八进制数字表示的区别
Apr 28 Python
Redis使用watch完成秒杀抢购功能的代码
May 07 Python
python将回车作为输入内容的实例
Jun 23 Python
浅谈Python traceback的优雅处理
Aug 31 Python
Python PyAutoGUI模块控制鼠标和键盘实现自动化任务详解
Sep 04 Python
python实现多层感知器
Jan 18 Python
Python中print和return的作用及区别解析
May 05 Python
Python中注释(多行注释和单行注释)的用法实例
Aug 28 Python
python 使用while循环输出*组成的菱形实例
Apr 12 Python
Pytorch distributed 多卡并行载入模型操作
Jun 05 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
关于PHPDocument 代码注释规范的总结
2013/06/25 PHP
zf框架的校验器InArray使用示例
2014/03/13 PHP
php中将一个对象保存到Session中的方法
2015/03/13 PHP
yii2中添加验证码的实现方法
2016/01/09 PHP
Centos6.5和Centos7 php环境搭建方法
2016/05/27 PHP
微信公众号开发客服接口实例代码
2016/10/21 PHP
php判断电子邮件是否正确方法
2018/12/04 PHP
YII框架行为behaviors用法示例
2019/04/26 PHP
基于PHP实现邮箱验证激活过程详解
2020/10/28 PHP
比较简单的异步加载JS文件的代码
2009/07/18 Javascript
分享一个自定义的console类 让你不再纠结JS中的调试代码的兼容
2012/04/20 Javascript
HTML上传控件取消选择
2013/03/06 Javascript
js控制再次点击按钮之间的间隔时间可防止重复提交
2014/08/01 Javascript
JavaScript实现自动生成网页元素功能(按钮、文本等)
2015/11/21 Javascript
vue数据双向绑定原理解析(get &amp; set)
2017/03/08 Javascript
JavaScript运动框架 解决速度正负取整问题(一)
2017/05/17 Javascript
JavaScript中this关键字用法实例分析
2018/08/24 Javascript
Vue2.0 v-for filter列表过滤功能的实现
2018/09/07 Javascript
11个教程中不常被提及的JavaScript小技巧(推荐)
2019/04/17 Javascript
layui实现根据table数据判断按钮显示情况的方法
2019/09/26 Javascript
Python 爬虫学习笔记之正则表达式
2016/09/21 Python
Django Admin 实现外键过滤的方法
2017/09/29 Python
详解Python3之数据指纹MD5校验与对比
2019/06/11 Python
Python的numpy库下的几个小函数的用法(小结)
2019/07/12 Python
Python性能分析工具py-spy原理用法解析
2020/07/27 Python
python实现自动清理重复文件
2020/08/24 Python
详解css3 object-fit属性
2018/07/27 HTML / CSS
WebSphere 应用服务器都支持哪些认证
2013/12/26 面试题
工艺工程师工作职责
2013/11/23 职场文书
给面试官的感谢信
2014/02/01 职场文书
煤矿机修工岗位职责
2014/02/07 职场文书
市级优秀班主任事迹材料
2014/05/13 职场文书
商场促销活动总结
2014/07/10 职场文书
运动会通讯稿50字
2015/07/20 职场文书
python实现简单倒计时功能
2021/04/21 Python
电频谱管理的原则是什么
2022/02/18 无线电