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的subprocess模块总结
Nov 07 Python
Python实现的Google IP 可用性检测脚本
Apr 23 Python
Python3标准库总结
Feb 19 Python
使用python实现离散时间傅里叶变换的方法
Sep 02 Python
Python的形参和实参使用方式
Dec 24 Python
pycharm sciview的图片另存为操作
Jun 01 Python
Spring http服务远程调用实现过程解析
Jun 11 Python
python修改微信和支付宝步数的示例代码
Oct 12 Python
Python如何使用ElementTree解析xml
Oct 12 Python
Python监听剪切板实现方法代码实例
Nov 11 Python
Github 使用python对copilot做些简单使用测试
Apr 14 Python
Python中使用tkFileDialog实现文件选择、保存和路径选择
May 20 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
Yii控制器中filter过滤器用法分析
2016/07/15 PHP
PHP中的日期时间处理利器实例(Carbon)
2017/06/09 PHP
浅析PHP数据导出知识点
2018/02/17 PHP
Jquery选择器 $实现原理
2009/12/02 Javascript
Javascript中获取出错代码所在文件及行数的代码
2010/09/23 Javascript
仅img元素创建后不添加到文档中会执行onload事件的解决方法
2011/07/31 Javascript
from 表单提交返回值用post或者是get方法实现
2013/08/21 Javascript
解决checkbox的attr(checked)一直为undefined问题
2014/06/16 Javascript
Angular中$compile源码分析
2016/01/28 Javascript
Eclipse编辑jsp、js文件时卡死现象的解决办法汇总
2016/02/02 Javascript
JS使用tofixed与round处理数据四舍五入的区别
2017/10/25 Javascript
微信小程序实现action-sheet弹出底部菜单功能【附源码下载】
2017/12/09 Javascript
Vue实现本地购物车功能
2018/12/05 Javascript
微信小程序实现两边小中间大的轮播效果的示例代码
2018/12/07 Javascript
JS中封装axios来管控api的2种方式
2019/09/11 Javascript
vue 实现把路由单独分离出来
2020/08/13 Javascript
Python中unittest用法实例
2014/09/25 Python
在Python中测试访问同一数据的竞争条件的方法
2015/04/23 Python
Python对list列表结构中的值进行去重的方法总结
2016/05/07 Python
Python3之简单搭建自带服务器的实例讲解
2018/06/04 Python
Django异步任务之Celery的基本使用
2019/03/23 Python
详解Python 函数如何重载?
2019/04/23 Python
Python如何实现动态数组
2019/11/02 Python
Python3 mmap内存映射文件示例解析
2020/03/23 Python
CSS3制作漂亮的照片墙的实现代码
2016/06/08 HTML / CSS
C/C++有关内存的思考题
2015/12/04 面试题
Linux如何为某个操作添加别名
2013/03/01 面试题
十一个高级MySql面试题
2014/10/06 面试题
商场活动策划方案
2014/01/24 职场文书
教师个人鉴定材料
2014/02/08 职场文书
超市中秋节促销方案
2014/03/21 职场文书
环保公益策划方案
2014/08/15 职场文书
授权委托书样本及填写说明
2014/09/19 职场文书
PHP基本语法
2021/03/31 PHP
Nebula Graph解决风控业务实践
2022/03/31 MySQL
SQL使用复合索引实现数据库查询的优化
2022/05/25 SQL Server