Skip to content

Wizard23333/SoulKnightTeamProject

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

95 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Soul Knight Project 项目说明文档

同济大学2019级c++面向对象荣誉课课程项目

项目信息

时间 内容
2020.5.16 完成平台搭建、cocos学习
2020.5.24 完成项目信息初始规划、分配任务
2020.6.02 完成素材收集、逻辑构建
2020.6.09 完成基本类的设计:Actor、Scene、Props
2020.6.17 完成代码整合、基本实现游戏逻辑
2020.6.20 完善代码,减少bug、编写文档

项目开发相关

  • 游戏引擎:coco2d-x 3.17.2/4.0

  • 支持平台:Windows/MacOS

  • 小组分工:

姓名 分工内容 贡献率
吴昊天 Actor基类及其子类设计、精灵怪物设计、战斗信息设计 90%以上
赵敏 安全地图设计、素材收集、音效系统 90%以上
杨梓浩 冒险地图设计 90%以上
郑柯凡 游戏道具设计 90%以上
ps: 部分代码为团队合作完成
  • 类的设计及继承关系:

    基类 子类
    Actor Hero类、Monster类
    Scene FightGroundScene类、WelcomeScene类、HelloWorldScene类、PauseScene类、SaveMapScene类
    Props Box类、 Bullet类、Potion类、Wall类、Weapon类
  • 评分项完成度

    • 基础功能

      • 游戏开始界面、背景音乐、音量控制、暂停及恢复功能、退出功能

      • 键盘控制

      • 支持两类武器:包括近战武器和远程武器、两种近战武器、两种远程武器

      • 支持近程、远程小兵

      • 支持两种道具:回复生命、回复法力;可通过击败怪物获取

      • 支持宝箱机制,开启后可获得道具

      • 支持安全地图和冒险地图

      • 支持安全地图查看武器和敌人信息

      • 支持小兵ai

      • 主角死亡返回安全地图

      • 包含三个普通关卡和一个boss关卡

    • 进阶功能

      • 支持金币机制,击败怪物即可获得金币

      • 支持boss型敌人

      • 支持秘籍机制

    • C++新特性

      • 类型推断

      • 基于范围的for循环

      • 智能指针

    • 其他亮点

      • 游戏还原度高

        • 英雄形象、怪物形象等与元气骑士游戏还原度高(多为原始模型图)
      • 细节丰富、逻辑正确

        • 玩家在拾取道具、查看信息同时无法移动

        • 玩家及小兵普通攻击的投掷物始终指向目标

        • 释放攻击鼠标出现辅助瞄准点,武器释放的方位由英雄->鼠标瞄准点向量方向决定

        • 英雄及小兵普通攻击及释放技能时保证英雄及小兵始终朝向攻击目标

        • 优化我方精灵撞击墙面时的自动回弹

  • 项目技术难题及解决方法

  • 技术难题

  • 武器旋转切换

  • 碰撞检测问题

  • 地图文件在vs上无法显示或显示缺失

  • 解决办法

  • 通过点击位置计算方向单位向量,求反正切得到旋转角度

  • 代码实现

if(_heroValue.energy >= _weapon.GetBulletenergycost()){
   this->attack(touch);
   auto dest = touch->getLocation();

   auto direction = Vec2(dest.x - _sprite->getPosition().x, dest.y - _sprite->getPosition().y);
   direction.normalize();
   auto rotateAngle = atan(direction.y / direction.x) / 3.14 * 180;
   rotateAngle = direction.x > 0 ? rotateAngle : rotateAngle + 180;
   _weapon._sprite->setRotation(-rotateAngle);
   return true;
} else {
   return false;
}
  • cocos物理引擎,掩码使用
类型 categoryBitmask contactTestBitmask
Actor 0000011 0001100
Hero 1000000 0100000
Props 0000100 0000010
Monster bullet 0001000 0000001
Wall 1111111 1111111
近战Monster 1011000 1100010
远程Monster 1100010 1101100
  • 使用 Tiled Map Editor进行地图文件编辑

游戏截图

  • 项目运行截图
  • 开始场景地图 截屏2020-06-20 下午10.06.38.png
  • boss关卡截图 截屏2020-06-20 下午8.43.22.png
  • 普通关卡截图 685C5A8A-769A-6B93-CD89-1DADC2219C9D.png

元气骑士 游戏文档

游戏简介

元气骑士是一款游戏。支持单人作战。

游戏玩法

操作角色躲避怪物攻击并击败怪物,通过关卡获得胜利

游戏模式

玩家点击开始游戏即可进入游戏当中

基本操作

操作 效果
按下WSAD 控制我方精灵上、下、左、右移动
点击鼠标左键 精灵选择目标进行普通攻击
按下g 精灵切换使用武器
按住t键,靠近道具 精灵拾取道具
触碰宝箱 精灵打开宝箱
进入传送门 精灵进入下一关卡
按下r键, 状态回满

精灵属性

  • 默认属性
类型 攻击类型 血量 蓝量&怪物攻击力 护盾值
精灵 近程 100 50 30
怪物 远程 30-50 2-5 0
怪物 近程 30-50 5-10 0
boss 近程&远程 500,200以下会移动 10-15 0

武器属性

  • 默认属性
类型 武器名字 攻击力 耗蓝量
近程 镰刀 4 1
近程 3 0
远程 2 0
远程 飞镖 1 1

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages