疯狂坦克

引言

坦克大战是一款曾经风靡一时的小游戏,本次的实训,就是要力图让经典历久弥新。因此在老师的帮助下,我们将尽力开发一款在原有基础上有突破的“疯狂坦克2”,加入新的元素,融入新的玩法,改进美工设计,增强用户体验。

任务概述

目标:

(1)单人闯关模式:在单人闯关模式中,玩家需要消灭本关所有敌方坦克在游戏过程中可以通过

获取道具和使用技能的方式提高自身的战斗力。

(2)双人对战模式:在双人对战模式中,两名玩家彼此操作各自的坦克,以消灭对方基地或耗尽

对方生命值为目的。

(3)音乐音效设置:玩家可以在游戏启动后,进行音乐音效的设置,游戏过程中,例如射击子弹或者移动,使用道具等都有相对应的音效。

(4)排行榜积分:游戏过程结束后有排行榜显示,可以展示玩家的积分和排名情况。

(5)游戏 AI 算法实现

特色:

(1)在传统的坦克大战上增加了双人对战的模式,并且尽力增强用户在手机端的体验

(2)改进了美工设计

需求分析

1. 功能分析

1.本项目具体应实现如下功能:

2.玩家控制玩家坦克在场景中移动、发射炮弹

  1. 实现敌方坦克移动以及开火的 AI 算法
  2. 设计开场动画

5.设计得分榜以及排行榜

2.功能优先级

模块按优先级如下:

游戏模式 游戏模块 优先级 备注
单人闯关 敌方坦克 AI 由上往下优先级逐步降低 设计进攻玩家大本营的 AI 坦克
玩家移动与开火
随机爆出装备 当玩家击败特定敌方或者打碎特定物品时可以得到补强的装备
2 人闯关 敌方坦克 AI 设计进攻玩家大本营的 AI 坦克
玩家移动与开火
随机爆出装备 当玩家击败特定敌方或者打碎特定物品时可以得到补强的装备
2 人对战 玩家移动、开火
胜负判断 如果在限定时间内没有攻下对方大本营,依然判断胜负

用户和市场分析

本产品面向的是全体热爱游戏的玩家们,尤其是对九十年代以及 2000 年左右的、对坦克大战这类游戏具有很深的情怀的玩家们。

这一批玩家接触电子游戏较早,对这类很基础的游戏很熟悉,但是在现今各类游戏五花八门、像这种基础游戏毫无竞争力的情况下,我们希望能够做出让他们能够回忆起 90 年代红白机的感觉的有情怀的作品。另外,这一部分玩家大多已经是成年的、成熟的用户,可能对于时兴的游戏没有时间、没有兴趣,这种情况下,一款简单的、具有儿时回忆的游戏一定能够吸引眼球。

UI 设计

作为一个高难游戏,我们没有设计复杂的 UI 界面,而是追求单纯的游玩受苦体验。

游玩过程中 UI 只有玩家的生命提示。

在开始界面,我们也只放上了一个直截了当的开始按钮和标题界面。

——玩,或者不玩。

最简单的游戏,最纯粹的享受。

数据库设计

我们利用 Cocos creator 完成了整体的开发。

游戏数据库是树形结构数据库

以其中一个场景为例,我们 Canvas 根结点衍生出 Camera 结点,Map 结点。而玩家 PlayerTank 则是 Map 子节点。敌人与子弹是即时作为 Map 子节点生成的。

不同场景对应的树则是以 Cocos creator 默认形式存储到一起。一个场景只调用一个树运行,切换场景时则销毁。

生成敌人的过程中,敌人的可生成位置则是用数组临时记录,执行完生成方法后数组则会销毁

系统功能模块设计

Cocos Creator 开发基本要素为 node 和 script。其中 script 均包含在 cc 命名空间内,一个 script 是一个继承自 cc .component 的类。Node 是 cc .node 的子类。

模块是基于 node 实现的,下表说明 node 间的关系,node 的父子关系不代表继承关系。

Node 均继承自 node 类。

节点名 说明 关系说明
Canvas 画布
Main Camera 摄像头 Canvas 子节点
Map 地图 Canvas 子节点
Ground 地形层 Map 子节点
Obstacles 障碍层 Map 子节点
Button 按钮 Main Camera 子节点
Player Tank 玩家 Map 子节点
Fire Position 玩家开火坐标点 Player Tank 子节点
Health Bar 玩家生命值条 Player Tank 子节点
Enemy Tank 敌方坦克 Map 子节点
Fire Position 敌方开火坐标点 Enemy Tank 子节点
startView 开始界面 Enemy Tank 子节点
方法名 说明 关系说明
Fire 开火 Player Tank/Enemy Tank 类方法
Move 玩家移动 Player Tank 类方法
Move 敌方移动 Enemy Tank 类方法
Create Enemy 生成敌人 Map 类方法
Create tool 生成道具 Map 类方法
Onload 为障碍物添加碰撞体 Map 方法

通过灵活运用 Cocos Creator 自带的接口,我们较容易地实现了大部分的功能。

♻️ 资源

大小: 22.8MB
➡️ 资源下载:https://download.csdn.net/download/s1t16/87293552

基于Cocos creator 实现坦克大战小游戏【100010131】相关推荐

  1. 【JAVA程序设计】基于JAVA的坦克大战小游戏--入门级小游戏

    基于JAVA的坦克大战小游戏--入门级小游戏 零.项目获取 一.项目简介 二.开发环境 三.游戏玩法 四.运行截图 零.项目获取 获取方式(点击下载):是云猿实战 项目经过多人测试运行,可以确保100 ...

  2. Java实现的经典坦克大战小游戏

    Java实现的经典坦克大战小游戏 先看一下游戏结构: 有点多,没有耐心的可以不用看,这里先给出链接吧! 云链接:经典坦克大战 提取码:s9ai 这里就不介绍功能了,贴了一张游戏运行的截图,具体的功能自 ...

  3. html实现经典坦克大战小游戏

    文章目录 1.设计来源 1.1 游戏主界面 1.2 游戏界面 2.效果和源码 2.1 动态效果 2.2 源代码 源码下载 作者:xcLeigh 文章地址:https://blog.csdn.net/w ...

  4. C++实用编程——坦克大战小游戏

    C++实用编程--坦克大战小游戏 Warning: 转载类 原文地址:*HTML https://yq.aliyun.com/articles/683666 改变速度的玩意坏了 我们直接看代码吧,适于 ...

  5. 【180930】坦克大战小游戏源码

    坦克大战小游戏源码程序实现了小霸王游戏机上坦克大战的功能,主要功能是开火.移动.3种不同的敌方坦克.用户自制地图等,缺点是有些小细节还处理的不好,感觉画面不够好,还没实现自动的下一关功能(主要是嫌做默 ...

  6. 使用《红孩儿工具箱》开发基于Cocos2d-x的《坦克大战》游戏

    大家好,我是红孩儿.上一节我们学习了使用<红孩儿工具箱>开发<打地鼠>游戏.这一节我们继续学习使用<红孩儿工具箱>来开发<坦克大战>游戏. <坦克 ...

  7. canvas+js实现简单的坦克大战小游戏

    使用canvas和js实现经典的坦克大战并不难,坦克和炮弹的绘制可以使用canvas的里API画出,而坦克的移动和炮弹的发射可以依赖于键盘事件和定时器来实现. 在这里我要实现的坦克大战是双人模式,有木 ...

  8. 基于Cocos Creator的水果忍者游戏

    基于cocos creater的水果忍者游戏 项目介绍 主界面 游戏界面 游戏详情界面 水果运动界面 刀片切割界面 游戏结束界面 下载方式 项目介绍 互联网技术不断革新,用户对于应用的要求在不断提高, ...

  9. cocos creator 3.7微信小游戏开发云函数和云托管部署

    cocos creator开发跨平台游戏能力不错,可以一次开发适用于多个平台,如andriod,ios原生,网页,各类小程序等等.就实际情况而言,能够跨1-2个平台已经不容易了,这是因为在跨平台开发中 ...

最新文章

  1. TensorRT 基于Yolov3的开发
  2. 如何使用 UserAccountControl 标志操纵用户帐户属性
  3. System.Timers.Timer 多线程问题[转]
  4. html2canvas的踩坑之路
  5. 2016年2月工作日志
  6. 李彦宏千字愿景内部信:10次提到“用户”
  7. 前端学习(654):优化插件
  8. 2012年7月份第4周51Aspx源码发布详情
  9. Perl文件处理示例——批量添加Copyright版权信息
  10. VS2013+cuda8.0配置及案例
  11. Mybatis全局配置文件Configuration.xml详解
  12. ObjectiveC基础-ivar
  13. Spring 事务和事务传播机制
  14. 文件存取服务器是用的什么,什么是文件存储?
  15. 高等数学学习笔记——第六十八讲——隐函数存在定理
  16. 在tsx里写html模板,在Vue中写TSX有哪些需要注意的地方
  17. 群晖3617可以有几个网卡_Nvme pcie千兆有线网卡
  18. 魔方机器人大赛——总结感悟篇:干货篇
  19. 【开源共享】全网最简单易用的imx6ull烧写工具设计初衷工作原理设计前的思考
  20. 人人极客专访 | 我和我们的操作系统

热门文章

  1. 【应用数学】动态最优化(6):确定性最优控制
  2. 抗干扰矩阵键盘按键消抖
  3. 四步打造情绪板,fabrie教你如何跟客户谈“感觉”!(内含模板)
  4. js 渲染十万条数据卡顿优化方法。请求帧渲染
  5. VMware虚拟机通过物理机代理上网
  6. multimap学习之插入数据操作insert,emplace ,emplace_hint
  7. 寻找UI设计灵感:20大电影公司Logo设计欣赏
  8. 正版四字梅花诗:小户人家 梅花诗:怒发冲冠
  9. cxfreeze中文文档
  10. 关于Lodop的使用场景浅谈