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中处理字符串之islower()方法的使用简介
May 19 Python
基于Django filter中用contains和icontains的区别(详解)
Dec 12 Python
Python3实现的爬虫爬取数据并存入mysql数据库操作示例
Jun 06 Python
Pandas 合并多个Dataframe(merge,concat)的方法
Jun 08 Python
python 获取url中的参数列表实例
Dec 18 Python
python实现抖音点赞功能
Apr 07 Python
Pandas中DataFrame的分组/分割/合并的实现
Jul 16 Python
Python socket服务常用操作代码实例
Jun 22 Python
python能否java成为主流语言吗
Jun 22 Python
python中如何写类
Jun 29 Python
Python3+Flask安装使用教程详解
Feb 16 Python
python基础学习之递归函数知识总结
May 26 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/08/19 PHP
PHP中大于2038年时间戳的问题处理方案
2015/03/03 PHP
PHP实现批量删除(封装)
2017/04/28 PHP
PHP实现批量清空删除指定文件夹所有内容的方法
2017/05/30 PHP
用JQuery 判断某个属性是否存在hasAttr的解决方法
2013/04/26 Javascript
jquery实现点击消失的代码
2014/03/03 Javascript
JavaScript中数组的合并以及排序实现示例
2015/10/24 Javascript
JavaScript中的冒泡排序法
2016/08/03 Javascript
jQuery实现Select左右复制移动内容
2016/08/05 Javascript
简单学习vue指令directive
2016/11/03 Javascript
微信小程序中使元素占满整个屏幕高度实现方法
2016/12/14 Javascript
Boostrap栅格系统与自己额外定义的媒体查询的冲突问题
2017/02/19 Javascript
React简单介绍
2017/05/24 Javascript
微信小程序实践之动态控制组件的显示/隐藏功能
2018/07/18 Javascript
angular的输入和输出的使用方法
2018/09/22 Javascript
用npm安装vue和vue-cli,并使用webpack创建项目的方法
2018/09/28 Javascript
JS字典Dictionary类定义与用法示例
2019/02/01 Javascript
js实现内置计时器
2019/12/16 Javascript
Vue引入Stylus知识点总结
2020/01/16 Javascript
vue + node如何通过一个Txt文件批量生成MP3并压缩成Zip
2020/06/02 Javascript
详解vue-router的导航钩子(导航守卫)
2020/11/02 Javascript
Django重装mysql后启动报错:No module named ‘MySQLdb’的解决方法
2018/04/22 Python
详解用TensorFlow实现逻辑回归算法
2018/05/02 Python
Python中最好用的命令行参数解析工具(argparse)
2019/08/23 Python
python应用文件读取与登录注册功能
2019/09/23 Python
pytorch实现用CNN和LSTM对文本进行分类方式
2020/01/08 Python
斯洛伐克电子产品购物网站:DATART
2020/04/05 全球购物
财务会计人员岗位职责
2013/11/30 职场文书
村委会贫困证明范文
2014/09/21 职场文书
群众路线自查自纠工作情况报告
2014/10/28 职场文书
党的群众路线教育实践活动个人对照检查材料(四风)
2014/11/05 职场文书
2014年学校工会工作总结
2014/12/06 职场文书
以权谋私检举信范文
2015/03/02 职场文书
银行优秀员工推荐信
2015/03/24 职场文书
CSS预处理框架——Stylus
2021/04/21 HTML / CSS
JAVA长虹键法之建造者Builder模式实现
2022/04/10 Java/Android