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 序列化 pickle/cPickle模块使用介绍
Nov 30 Python
Python中使用copy模块实现列表(list)拷贝
Apr 14 Python
使用IPython下的Net-SNMP来管理类UNIX系统的教程
Apr 15 Python
Python简单计算文件夹大小的方法
Jul 14 Python
Python 通过URL打开图片实例详解
Jun 01 Python
单链表反转python实现代码示例
Feb 08 Python
Python实现按照指定要求逆序输出一个数字的方法
Apr 19 Python
Python用5行代码写一个自定义简单二维码
Oct 21 Python
详解Django定时任务模块设计与实践
Jul 24 Python
Python基于gevent实现高并发代码实例
May 15 Python
Python使用xlrd实现读取合并单元格
Jul 09 Python
scrapy redis配置文件setting参数详解
Nov 18 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/05/07 PHP
使用PHP接受文件并获得其后缀名的方法
2015/08/05 PHP
WordPress中设置Post Type自定义文章类型的实例教程
2016/05/10 PHP
微信公众号开发客服接口实例代码
2016/10/21 PHP
TP5框架实现一次选择多张图片并预览的方法示例
2020/04/04 PHP
javascript 简单抽屉效果的实现代码
2010/03/09 Javascript
Tips 带三角可关闭的文字提示
2010/10/06 Javascript
jquery ajax 同步异步的执行 return值不能取得的解决方案
2012/01/08 Javascript
js优化针对IE6.0起作用(详细整理)
2012/12/25 Javascript
基于jquery的has()方法以及与find()方法以及filter()方法的区别详解
2013/04/26 Javascript
javascript如何使用bind指定接收者
2014/05/04 Javascript
JavaScript使用DeviceOne开发实战(二) 生成调试安装包
2015/12/01 Javascript
NodeJS实现阿里大鱼短信通知发送
2016/01/17 NodeJs
javascript遍历json对象的key和任意js对象属性实例
2017/03/09 Javascript
Nodejs基于LRU算法实现的缓存处理操作示例
2017/03/17 NodeJs
BootStrap Fileinput上传插件使用实例代码
2017/07/28 Javascript
微信小程序中setInterval的使用方法
2017/09/29 Javascript
vue中SPA单页面应用程序详解
2017/11/07 Javascript
nodejs+mongodb+vue前后台配置ueditor的示例代码
2018/01/02 NodeJs
JavaScript中concat复制数组方法浅析
2019/01/20 Javascript
layUI的验证码功能及校验实例
2019/10/25 Javascript
vue-resource:jsonp请求百度搜索的接口示例
2019/11/09 Javascript
Map与WeakMap类型在JavaScript中的使用详解
2020/11/18 Javascript
js实现鼠标切换图片(无定时器)
2021/01/27 Javascript
Python中的二叉树查找算法模块使用指南
2014/07/04 Python
python输出100以内的质数与合数实例代码
2018/07/08 Python
python中for循环把字符串或者字典添加到列表的方法
2019/07/20 Python
python实现将两个文件夹合并至另一个文件夹(制作数据集)
2020/04/03 Python
python3:excel操作之读取数据并返回字典 + 写入的案例
2020/09/01 Python
html5 canvas 使用示例
2010/10/22 HTML / CSS
HTML5的download属性详细介绍和使用实例
2014/04/23 HTML / CSS
哈萨克斯坦最大的时装、鞋子和配饰在线商店:Lamoda.kz
2019/11/19 全球购物
Farfetch巴西官网:奢侈品牌时尚购物平台
2020/10/19 全球购物
教师自我评价范文
2013/12/16 职场文书
全民健身日活动方案
2014/01/29 职场文书
Nginx HTTP跳转至HTTPS
2022/05/15 Servers