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 相关文章推荐
安装dbus-python的简要教程
May 05 Python
Python 实现一个颜色色值转换的小工具
Dec 06 Python
Python实现类似比特币的加密货币区块链的创建与交易实例
Mar 20 Python
python处理数据,存进hive表的方法
Jul 04 Python
浅谈python连续赋值可能引发的错误
Nov 10 Python
Windows 安装 Anaconda3+PyCharm的方法步骤
Jun 13 Python
python画图的函数用法以及技巧
Jun 28 Python
在python里面运用多继承方法详解
Jul 01 Python
python中的&amp;&amp;及||的实现示例
Aug 07 Python
Python 函数list&amp;read&amp;seek详解
Aug 28 Python
解决jupyter运行pyqt代码内核重启的问题
Apr 16 Python
Python Socket多线程并发原理及实现
Dec 11 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
网页上facebook分享功能具体实现
2014/01/26 PHP
限制文本字节数js代码
2007/03/06 Javascript
javascript 动态调整图片尺寸实现代码
2009/12/28 Javascript
Javascript中的五种数据类型详解
2014/12/26 Javascript
jQuery中Ajax的get、post等方法详解
2015/01/20 Javascript
JS使用ajax从xml文件动态获取数据显示的方法
2015/03/24 Javascript
jQuery fancybox在ie浏览器下无法显示关闭按钮的解决办法
2016/02/19 Javascript
webpack处理 css\less\sass 样式的方法
2017/08/21 Javascript
js 显示日期时间的实例(时间过一秒加1)
2017/10/25 Javascript
js实现各浏览器全屏代码实例
2018/07/03 Javascript
vue-router中的hash和history两种模式的区别
2018/07/17 Javascript
JavaScript实现多张图片放大镜效果示例【不限定图片尺寸,rem单位】
2019/05/14 Javascript
vue iview的菜单组件Mune 点击不高亮的解决方案
2019/11/01 Javascript
微信小程序开发数据缓存基础知识辨析及运用实例详解
2020/11/06 Javascript
python实现在无须过多援引的情况下创建字典的方法
2014/09/25 Python
python实现文件快照加密保护的方法
2015/06/30 Python
Python实用技巧之利用元组代替字典并为元组元素命名
2018/07/11 Python
Python 读取串口数据,动态绘图的示例
2019/07/02 Python
Python列表切片常用操作实例解析
2020/03/10 Python
在keras中实现查看其训练loss值
2020/06/16 Python
tensorflow 大于某个值为1,小于为0的实例
2020/06/30 Python
python中复数的共轭复数知识点总结
2020/12/06 Python
如何利用cmp命令比较文件
2013/09/23 面试题
EJB需直接实现它的业务接口或Home接口吗,请简述理由
2016/11/23 面试题
编辑硕士自荐信范文
2013/11/27 职场文书
客服主管岗位职责
2013/12/13 职场文书
风险评估实施方案
2014/03/09 职场文书
外国人聘用意向书
2014/04/01 职场文书
《卖木雕的少年》教学反思
2014/04/11 职场文书
股指期货心得体会
2014/09/13 职场文书
优秀少先队辅导员事迹材料
2014/12/24 职场文书
2015年税务稽查工作总结
2015/05/26 职场文书
电影开国大典观后感
2015/06/04 职场文书
Redis可视化客户端小结
2021/06/10 Redis
python中出现invalid syntax报错的几种原因分析
2022/02/12 Python
vue选项卡切换的实现案例
2022/04/11 Vue.js