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入门篇之面向对象
Oct 20 Python
在Python中使用PIL模块处理图像的教程
Apr 29 Python
python实现爬虫下载美女图片
Jul 14 Python
Python常用时间操作总结【取得当前时间、时间函数、应用等】
May 11 Python
Python实现统计给定列表中指定数字出现次数的方法
Apr 11 Python
python re正则匹配网页中图片url地址的方法
Dec 20 Python
通过pykafka接收Kafka消息队列的方法
Dec 27 Python
解决pycharm工程启动卡住没反应的问题
Jan 19 Python
Python解析json时提示“string indices must be integers”问题解决方法
Jul 31 Python
python 初始化一个定长的数组实例
Dec 02 Python
解决python图像处理图像赋值后变为白色的问题
Jun 04 Python
详解python的xlwings库读写excel操作总结
Feb 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
图象函数中的中文显示
2006/10/09 PHP
PHP 中文处理技巧
2010/04/25 PHP
php入门学习知识点二 PHP简单的分页过程与原理
2011/07/14 PHP
打造超酷的PHP数据饼图效果实现代码
2011/11/23 PHP
分享一个超好用的php header下载函数
2014/01/31 PHP
PHP易混淆函数的区别及用法汇总
2014/11/22 PHP
php结合正则批量抓取网页中邮箱地址
2015/05/19 PHP
php实现比较两个文件夹异同的方法
2015/06/18 PHP
PHP Curl模拟登录微信公众平台、新浪微博实例代码
2016/01/28 PHP
php文件操作小结(删除指定文件/获取文件夹下的文件名/读取文件夹下图片名)
2016/05/09 PHP
PHP类相关知识点实例总结
2016/09/28 PHP
Javascript打印网页部分内容的脚本
2008/11/17 Javascript
浅析Javascript使用include/require
2013/11/13 Javascript
jquery自定义函数的多种方法
2014/01/09 Javascript
jQuery获取cookie值及删除cookie用法实例
2016/04/15 Javascript
后端接收不到AngularJs中$http.post发送的数据原因分析及解决办法
2016/07/05 Javascript
从零开始学习Node.js系列教程之设置HTTP头的方法示例
2017/04/13 Javascript
vue iview实现动态路由和权限验证功能
2018/04/17 Javascript
vue2.0项目实现路由跳转的方法详解
2018/06/21 Javascript
关于vue编译版本引入的问题的解决
2018/09/17 Javascript
Node.js原生api搭建web服务器的方法步骤
2019/02/15 Javascript
layui实现二维码弹窗、并下载到本地的方法
2019/09/25 Javascript
在Python中利用Into包整洁地进行数据迁移的教程
2015/03/30 Python
用实例详解Python中的Django框架中prefetch_related()函数对数据库查询的优化
2015/04/01 Python
Python外星人入侵游戏编程完整版
2020/03/30 Python
利用Celery实现Django博客PV统计功能详解
2017/05/08 Python
Python中Numpy包的安装与使用方法简明教程
2018/07/03 Python
解决ROC曲线画出来只有一个点的问题
2020/02/28 Python
踩坑:pytorch中eval模式下结果远差于train模式介绍
2020/06/23 Python
基于 HTML5 WebGL 实现的医疗物流系统
2019/10/08 HTML / CSS
html table呈现个人简历以及单元格宽度失效的问题解决
2021/01/22 HTML / CSS
会计实习期自我鉴定
2013/10/06 职场文书
关于读书的演讲稿
2014/05/07 职场文书
会计工作态度自我评价
2015/03/06 职场文书
2016年幼儿园教师师德承诺书
2016/03/25 职场文书
Pyqt5将多个类组合在一个界面显示的完整示例
2021/09/04 Python