/Cyclooctane-2

自制游戏Cyclooctane 2.0大作业版本

Primary LanguageC++

Cyclooctane 2.0

游戏名:Cyclooctane 2.0

副名:Who's the hunter now?

=============================================

作者:Zedom

平台:Windows

用途: C++大作业

语言:C++

代码量:5.0k+

开发时间:(不计Cyclooctane1时间)间断开发,共计约20天,2017/07/17->2017/08/28

推荐分辨率:1920*1080

=============================================

游戏概述:

陷入黑暗的勇者被迫进行轮回的战斗

mark

游戏介绍:

房间内不断有怪物随机生成来袭击玩家。

在房间待一段时间后,玩家将会失去自己的攻击能力并获得旋转地图能力,房间随机一处会开门,玩家可以选择停留在房间内,但怪物会继续生成并且速度会随玩家逗留时间增加而增加。(每个房间的时间随机,但总体随闯关房间增加而增加)

开始游戏时玩家会先随机抽取第一技能,而后可以在商店购买第二技能或切换技能

每闯一定数目关卡有升级或切换技能机会

每一定数目房间后会进入精英关卡:超快的怪物生成速度,超高的精英怪概率

玩家受伤会无敌并闪烁,无敌时间2s

mark

mark

mark

地形:

地形分地刺岩石

地刺

分为间歇型地刺和永久型地刺

地刺会不分敌我的扎伤在上面的人或怪物(红色精英怪免疫)

岩石

岩石会不分敌我的阻挡所有人(棕色精英怪免疫),此外,岩石还会反弹即死激光

怪物系统:

怪物血量以边数进行衡量,最少为三角形,最多为六边形

普通怪物:

速度适中,生命值随机,怪物间存在碰撞体积,受地刺伤害,受岩石阻挡

精英怪物:

速度较普通怪物快

红色精英怪:无视地刺

棕色精英怪:无视岩石

白色精英怪:无视怪物间碰撞体积

皮肤系统:

共有三种人物皮肤,1号默认解锁,2号3号需要花费金币解锁,不同皮肤拥有不同属性和外观。

mark

金钱系统:

金钱分为金币两种

魂:

当局存在

获得方式:击杀怪物(不同方式、不同怪物获得的量不同)

用途:商店内购买属性或购买、切换技能

mark

mark

mark

金币:

永久存在

获得方式:通过房间

用途:解锁皮肤或重新抽取初始技能

mark

技能介绍:

0:普通旋转

玩家无法获得,门开后自动获得

可旋转地图(墙壁和所有障碍物)

旋转击杀的怪物获得额外的魂奖励

1:子弹

可连续发射

有限射程

对怪物造成一点伤害

2:清场旋转

切换的瞬间能够清除场上所有怪物,其余与普通旋转相同,可无限次自由切换。

清场击杀的怪物不计魂,当前房间内使用清场次数过多则该房间无法获得金币。

切换功能只有双技能时能够使用,此技能作为单技能时无法触发清场。

3:穿透激光

可连续发射

有限射程

对击中的所有怪物造成2点伤害

碰到墙壁反弹。

4:即死激光

可连续发射

有限射程

立刻秒杀击中的怪物

但是会被怪物反弹

碰到墙壁或岩石反弹

5:爆弹

不可连续发射

有限射程

达到射程或击中怪物后爆炸,秒杀爆炸范围内所有怪物,会伤害玩家

6:食弹

自由操控悬浮子弹

无限射程

会吞噬碰到的怪物并使自身体积增大,达到一定体积后爆炸,秒杀爆炸范围内所有怪物,不会伤害玩家

体积越小速度越快

游戏特色:

  1. 基础图形学函数

  2. 基于分离轴原理的碰撞检测

  3. 基于A*的怪物自动寻路算法

  4. 利用有限状态机实现游戏状态转移

  5. 存取档DES加密解密算法

  6. 6种特色攻击方式,抽技能机制,皮肤解锁机制

  7. 局部更新+双缓冲绘图

  8. 特色游戏玩法,狩猎角色变更但玩家依旧有些许掌控权

操作方式:

WASD:操纵主角移动,移动菜单选项
上下左右:发射子弹、激光或操纵悬浮子弹
Q:切换技能
ESC:游戏中暂停、退出升级、返回
Enter:确定

设计细节

1 - 每次死亡后自动存档,游戏中不自动存档,游戏中不存档自行退出则该局不结算金币。结算金币是在死亡界面。

2 - 每次开启游戏自动读取存档

3 - 存档无法使用时会弹出异常并删除存档

4 - 只有一个技能时只能购买第二技能而不能更换第二技能,当两个技能都存在时才可以更换技能

5 - 不使用抽取到的技能完成游戏(即玩到人物死亡),那么将无法免费抽取第一技能。

6 - 更换的第一技能会保存。如开局抽取到子弹,而后在商店将第一技能更换为旋转,那么中途退出重开后第一技能将是旋转

7 - 技能射程恒定:

1: 20 3: 500 4: 550 5: 15

8 - 技能速度恒定(除了食弹)

1,5: 15 6: 22

9 - 怪物击杀获得魂:

普通击杀(使用技能1、3、4、5、6击杀怪物): 普通怪物+1,精英怪+3

清场击杀: 普通怪物+0,精英怪+0

旋转击杀: 普通怪物+2,精英怪+5

碰撞击杀(玩家触碰怪物): 普通怪物+0,红色精英怪+10

完整实现

游戏exe下载