当前位置: 首页 > article >正文

基于Cocos2d-x元气骑士游戏

Soul Knight 项目说明文档同济大学软件学院 2020 年面向对象程序设计课程大项目项目信息项目选题元气骑士项目进度时间线游戏说明游戏简介元气骑士是一款地牢类角色扮演游戏玩家将会在随机关卡中遇到不同的敌人并且躲避子弹收集金币不断获得更强力的武器。游戏玩法进入游戏后选择要操作的人物角色在安全地图挑选武器后进入关卡。游戏全程共有五关走到最后击败最终 Boss 即可胜利通关。击杀敌人与开启宝箱可以获得武器与金币。不断升级角色用金币购买更加强力的武器来击败敌人基本操作操作效果WASD 或 ↑↓←→移动主角J 或 Z攻击键X 或 K交互键角色及成长属性角色生命值蓝量护甲骑士8/9/10/11/12220/240/250/260/2708/9/10/11/12牧师7/8/9/10/11240/260/280/300/3208/9/10/11/12武器武器类型攻击力步枪远程3冲锋枪远程2短刀近战3长刀近战10敌人敌人类型血量攻击力持枪者远程101持刀者近战101水晶巨蟹Boss10013画面概览开始界面关卡地图Boss 战项目开发文档选用引擎Cocos2d-x 3.17.2辅助软件Tiled Map Editor 1.1.5、Adobe Photoshop CC 2018支持平台Windows小组分工姓名分工汪明杰素材、武器类、子弹类、地刺李俊杰怪物类、boss 类、道具类、商店王立友buff 与 debuff、地图绘制、特殊地形、小地图马家昱UI 界面绘制、金手指、键位选择类的设计及继承关系评分项目完成度基础功能游戏开始界、背景乐、量控制、暂停及恢复功能、退出功能键盘控制少 2 类武器包括不限于枪械类武器、近战武器每类武器少包括 2 种具体的武器如枪械类武器包括不限于次发射单发弹的枪械、次发射多发弹枪械等近战武器包括不限于可快速攻击的范围武器、攻击速度较慢的范围武器等少 2 种普通敌类型包括不限于近战型敌和远程型敌每类普通敌少包括 2 类具体的敌少两种道具包括不限于恢复命、增加护甲的道具可以通过击败敌获取宝箱机制开启可获得新武器或者道具等安全地图与探险地图安全地图指进关卡前的地图可以查看武器信息、敌信息等探险地图指关卡地图关卡中主死亡探险终并返回安全地图少包括 2 个关卡可选功能游戏地图可以显示已经探索过的地图可以参考元骑的地图多个可选主每个主拥有不同的属性加成近战攻击速度提升、枪械弹速度提升、命值增加等或者主动技能移速增加、翻滚躲弹buff 机制主可以获得多种 buff包括不限于移速增加、敌等debuff 机制主会获得多种 debuff包括不限于移速减慢等币机制击败敌可以获取币主等级系统等级主拥有更强的属性或能主可以通过消耗币升级在安全地图中安全地图中商店系统可以在进关卡前购买或抽取特殊道具、武器等探险地图中的爷爷系统可以在关卡中购买/获赠礼物如武器/道具/buff 等特殊地形包括不限于可被破坏区域如墙、移速受限区域如沼泽、通过受伤区域如岩浆、机关地形如时不时出现的地刺等BOSS 型敌秘籍如倍攻击、敌等加分项版本控制与团队协作符合些 Git 最佳实践如 commit 历史净规范、commit 描述规范、commit 包含且仅包含项功能、使 Pull Request 功能或分进团队 协作等团队成员分平等、合理代码质量与安全对于复杂逻辑使单元测试验证正确性功能和架构界精致项录结构良好、清晰合理使用的 c 特性初始化列表类型推断 ( auto / decltype )基于范围的 for 循环智能指针常量表达式 ( constexpr )Lambda 表达式字符串字量其他亮点键位选择支持玩家选择两种不同的操作方式怪物警觉系统角色靠近怪物时会触发怪物警觉动画从而使其具有攻击性当敌人未被清空时房间大门处于锁死状态武器等级系统游戏中有 NPC“铸铁匠”可以为武器升级提升武器攻击力减少消耗魔法值货币系统存在游戏内金币与用户蓝币两种货币自动存档功能角色等级与货币在退出游戏时会自动保留雕像系统可以带给主角 BUFFUI 与画面精美高度还原游戏原貌代码亮点Boss 向周围发射子弹static int cnt 0; if (cnt 1000) { cnt 0; auto s1 ShootController::createForBoss(CIRCULE, this); this-addChild(s1); /*缓冲*/ for (int i 0; i 10000; i); /*auto s2 ShootController::createForBoss(SQUARE, this); this-addChild(s2);*/ } else { cnt; }障碍物判定bool Boss::isStuck(const Point objPos) { /*层大小*/ auto layerSize _collisionLayer-getLayerSize(); //判断是否触及障碍物 Size mapSize GlobalParameter::mapNow-getMapSize(); Size tileSize GlobalParameter::mapNow-getTileSize(); /*转换为地图上的坐标系*/ Point tilesPos(objPos.x / tileSize.width, (mapSize.height * tileSize.height - objPos.y) / tileSize.height); if (tilesPos.x 0 || tilesPos.y 0 || tilesPos.x layerSize.width || tilesPos.y layerSize.height) { log(bad ways1\n); return true; } /*获取地图格子的唯一表示*/ int tiledGidcollsion _collisionLayer-getTileGIDAt(tilesPos); int tiledGidcollsion1 _collision1Layer-getTileGIDAt(tilesPos); int tiledGidOutside _outsideLayer-getTileGIDAt(tilesPos); int tiledGidCan _canLayer-getTileGIDAt(tilesPos); //图块ID不为空表示是障碍物 if (tiledGidcollsion ! 0 || tiledGidcollsion1 ! 0 || tiledGidOutside ! 0 || tiledGidCan ! 0) { log(bad ways2\n); return true; } return false; }子弹爆炸特效for (int i 1; i iFrameNum; i) { std::string se StringUtils::format(Breath_%02d.png, i); frame frameCache-getSpriteFrameByName(StringUtils::format(Breath_%02d.png, i)); frameVec.pushBack(frame); } Animation* animation Animation::createWithSpriteFrames(frameVec); animation-setLoops(1); animation-setDelayPerUnit(0.1f); Animate* action Animate::create(animation); //创建一个回调函数 CallFunc* callFunc CallFunc::create( []() { } ); //组合动作 Action* actions Sequence::create(action, callFunc, NULL);♻️ 资源大小33.7MB➡️资源下载https://download.csdn.net/download/s1t16/87415914注更多内容可关注微信公众号【神仙别闹】如当前文章或代码侵犯了您的权益请私信作者删除

相关文章:

基于Cocos2d-x元气骑士游戏

Soul Knight 项目说明文档 同济大学软件学院 2020 年面向对象程序设计课程大项目 项目信息 项目选题:元气骑士项目进度时间线: 游戏说明 游戏简介 元气骑士是一款地牢类角色扮演游戏,玩家将会在随机关卡中遇到不同的敌人,…...

别只盯着80端口:Tomato靶机渗透中那些容易被忽略的‘边路’突破口(2211端口与日志审计)

别只盯着80端口:Tomato靶机渗透中那些容易被忽略的‘边路’突破口 在渗透测试的世界里,80端口就像是一扇大门,吸引着大多数攻击者的目光。但真正的安全专家知道,真正的突破口往往藏在那些不起眼的角落。就像在Tomato靶机渗透中&am…...

FUTURE POLICE语音解构效果展示:多方言与嘈杂环境下的识别精度对比

FUTURE POLICE语音解构效果展示:多方言与嘈杂环境下的识别精度对比 今天咱们来聊聊一个挺有意思的语音技术——FUTURE POLICE的语音解构能力。你可能听说过不少语音识别工具,但大多数都是在安静环境下,对着标准普通话效果最好。一旦环境嘈杂…...

FPGA新手必看:用Vivado+ModelSim实现ADC128S022的SPI信号采集(附完整代码)

FPGA实战:基于Vivado与ModelSim的ADC128S022 SPI信号采集系统设计 第一次接触FPGA的SPI接口开发时,我被时序图和状态机搞得晕头转向。直到完成这个ADC128S022采集项目,才真正理解如何将理论转化为可运行的硬件逻辑。本文将分享从环境搭建到功…...

腾讯CodeBuddy.ai实战:5分钟用AI生成可部署的五子棋游戏(附房间系统源码)

腾讯CodeBuddy.ai实战:5分钟用AI生成可部署的五子棋游戏(附房间系统源码) 在快节奏的数字化时代,AI辅助开发正以前所未有的速度改变着编程工作流。本文将带您体验如何借助腾讯CodeBuddy.ai平台,仅用自然语言指令快速生…...

Kimi-VL-A3B-Thinking在科研场景的应用:论文图表理解与实验结果跨图对比分析

Kimi-VL-A3B-Thinking在科研场景的应用:论文图表理解与实验结果跨图对比分析 1. 科研场景中的多模态挑战 科研工作者每天需要处理大量论文图表和数据可视化内容。传统的人工分析方式存在三个主要痛点: 效率瓶颈:研究人员需要花费大量时间反…...

Whisper-large-v3企业级部署教程:Nginx反向代理+HTTPS安全访问完整配置

Whisper-large-v3企业级部署教程:Nginx反向代理HTTPS安全访问完整配置 1. 引言 如果你已经成功在本地跑通了Whisper-large-v3语音识别服务,那么恭喜你,你已经迈出了第一步。但要让这个服务真正能被团队或客户使用,本地访问是远远…...

OpenClaw实操指南01|发刊词:为什么要做一套能落地的OpenClaw实操系列

这是「OpenClaw 实操日更」的第 1 篇。目标只有一个:把"看起来很厉害"变成"你今天就能跑起来,并且明天还能稳定复现"。 这段时间,OpenClaw 的热度非常高。教程也很多,演示也很丝滑。 但我和很多朋友聊完后&am…...

从链表操作到内存管理:用5个C语言例子讲透结构体指针与双指针

从链表操作到内存管理:用5个C语言例子讲透结构体指针与双指针 在C语言开发中,结构体指针和双指针的运用是区分初级与中高级程序员的重要分水岭。许多开发者能够熟练使用基本指针操作,却在需要动态修改内存布局的复杂场景中频频踩坑。本文将通…...

Ragflow-main镜像下载卡住?5分钟搞定Docker国内加速配置

Ragflow-main镜像下载卡住?5分钟搞定Docker国内加速配置 最近在本地部署Ragflow时,不少开发者反馈ragflow-main镜像下载异常缓慢甚至完全卡住。这其实是Docker默认镜像源在国内访问不稳定的典型表现。今天我们就从原理到实操,彻底解决这个痛点…...

别再自己折腾服务器了!用腾讯视频插件5分钟搞定小程序视频播放功能

5分钟解锁小程序视频播放:腾讯视频插件全攻略 第一次在小程序里加视频时,我盯着服务器账单和审核驳回通知发呆了半小时。HTTPS证书、带宽峰值、类目审核…这些技术黑话像一堵高墙,把无数中小开发者挡在门外。直到发现腾讯视频插件——这个藏…...

17# 西门子 S7 - 200 PLC 与组态王打造自动贴标机控制系统

17#西门子S7-200PLC和组态王自动贴标机控制系统在工业自动化领域,自动贴标机的应用越来越广泛,而如何构建一个高效稳定的控制系统则是关键。今天就来聊聊利用西门子 S7 - 200 PLC 和组态王搭建的自动贴标机控制系统。 西门子 S7 - 200 PLC:核…...

Halcon显示区域颜色设置避坑指南:为什么你的C#二值化处理总出错?

Halcon视觉检测中的颜色陷阱:为什么白色Region会让你的C#二值化结果失真? 在工业视觉检测领域,Halcon作为行业标杆工具链的核心组件,其显示区域的色彩配置看似简单,实则暗藏玄机。许多刚接触Halcon的C#开发者都会遇到一…...

裸奔硬件平台:支持MCU延后贴装的嵌入式开发底板设计

1. 项目概述“搞电的人真的不能玩无人机,少一颗芯片很难受”——这个标题并非调侃,而是一则嵌入式硬件工程师群体中广泛共鸣的工程现象切片。它直指一类典型设计状态:PCB已完成制板、阻容元件悉数贴装、电源与接口功能验证无误,唯…...

3.21打卡day41

个人总结一开始一直在想怎么生成0,01,2,02,12,012 的幂的序列&#xff0c;走进死胡同想不出来。看了答案才想到直接穷举每个k的 i 幂次方与前面所有项的和。#include<bits/stdc.h> using namespace std;int main() {int k, n;cin >> k >> n;vector<int>…...

WPF动画实战:用Storyboard实现按钮点击后的元素淡入与位移(附完整代码)

WPF动画实战&#xff1a;用Storyboard实现按钮点击后的元素淡入与位移&#xff08;附完整代码&#xff09; 在WPF开发中&#xff0c;动画效果是提升用户体验的关键要素之一。一个精心设计的动画可以让界面更加生动&#xff0c;引导用户注意力&#xff0c;甚至掩盖后台操作的等待…...

Claude Skill 架构设计与工程化指南

1. Claude Skill 架构设计核心原则 设计一个优秀的 Claude Skill 就像建造一座精密的桥梁&#xff0c;既要考虑承重能力&#xff08;性能&#xff09;&#xff0c;又要保证通行效率&#xff08;Token使用&#xff09;。我在实际项目中总结出三大黄金法则&#xff1a; 第一法则&…...

【git 】sync

PROMPT: 实现一个linux和windows上通用的git命令&#xff0c;能够将当前所在分支上最新修改的commit节点同步到目标分支上&#xff1b;实际使用过程中&#xff0c;输入git sync "目标分支名"命令&#xff0c;即可将当前所在分支上最新的commit节点同步到目标分支&…...

PoT与CoT协同优化:Python代码生成如何重塑大语言模型的数学推理流程

1. 当大语言模型遇到数学题&#xff1a;为什么需要PoT和CoT联手&#xff1f; 数学应用题一直是AI领域的硬骨头。想象一下这个场景&#xff1a;你问ChatGPT"小明买了3个苹果&#xff0c;每个5元&#xff0c;又买了2个香蕉&#xff0c;每个2元&#xff0c;总共花了多少钱&am…...

树莓派+PC搭建OpenHD图传:手把手教你实现透明OSD叠加显示(附完整代码)

树莓派与PC协同实现OpenHD透明OSD叠加&#xff1a;从原理到实战代码解析 在无人机图传系统中&#xff0c;实时叠加飞行数据&#xff08;OSD&#xff09;是提升操控体验的关键技术。本文将深入探讨如何利用树莓派作为天空端、PC作为地面站&#xff0c;构建一套完整的OpenHD透明O…...

清音听真深度体验:专业术语、地方口音识别实测报告

清音听真深度体验&#xff1a;专业术语、地方口音识别实测报告 1. 引言&#xff1a;语音识别的痛点与突破 作为一名经常需要处理会议录音和访谈内容的内容创作者&#xff0c;我长期被语音识别工具的局限性所困扰。专业术语识别不准、地方口音难以理解、中英文混杂场景处理不佳…...

YOLO12双服务模式详解:FastAPI接口与Gradio可视化界面全攻略

YOLO12双服务模式详解&#xff1a;FastAPI接口与Gradio可视化界面全攻略 1. 镜像概述与核心特性 YOLO12是Ultralytics于2025年推出的实时目标检测模型最新版本&#xff0c;作为YOLOv11的继任者&#xff0c;通过引入注意力机制优化特征提取网络&#xff0c;在保持实时推理速度…...

YOLOv5训练避坑指南:如何通过调整loss权重参数显著提升小目标检测效果

YOLOv5小目标检测优化实战&#xff1a;从Loss权重调参到特征层动态平衡 工业检测场景中&#xff0c;小目标漏检问题就像在嘈杂的工厂环境中寻找散落的螺丝钉——传统检测方法往往力不从心。上周在PCB板缺陷检测项目中&#xff0c;我们团队发现YOLOv5对0.5mm以下的焊点漏检率高…...

Advanced Techniques in Hate Speech Detection: From Embeddings to Model Design

1. 仇恨言论检测的技术挑战与现实意义 互联网上的仇恨言论就像隐藏在数字丛林中的毒蛇&#xff0c;随时可能对特定群体造成伤害。这类内容通常针对种族、宗教、性别等身份特征进行攻击&#xff0c;不仅破坏网络环境&#xff0c;还可能引发线下冲突。我在处理多个跨国社交平台项…...

Godot4多语言实战:从CSV配置到动态切换的完整流程

1. 为什么你的游戏需要多语言支持&#xff1f; 我去年做过一个独立游戏&#xff0c;上线后收到不少海外玩家的邮件询问是否支持他们的母语。当时游戏只有英文版本&#xff0c;眼睁睁看着潜在用户流失。这件事让我意识到&#xff1a;多语言支持不是加分项&#xff0c;而是现代游…...

SUNFLOWER MATCH LAB 数据采集利器:Python爬虫构建植物图像数据集

SUNFLOWER MATCH LAB 数据采集利器&#xff1a;Python爬虫构建植物图像数据集 想训练一个能精准识别向日葵的AI模型&#xff0c;第一步也是最关键的一步是什么&#xff1f;不是选什么算法&#xff0c;也不是调什么参数&#xff0c;而是找到足够多、足够好的图片。没有数据&…...

医疗数据分析实战:用T-learner和X-learner评估新药效果(附Python代码)

医疗数据分析实战&#xff1a;用T-learner和X-learner评估新药效果&#xff08;附Python代码&#xff09; 在医疗健康领域&#xff0c;评估新药效果是一项复杂而关键的任务。传统的随机对照试验&#xff08;RCT&#xff09;虽然被视为金标准&#xff0c;但在实际应用中常常面临…...

OpenClaw多模型切换指南:Qwen3-32B与Llama3混合调用策略

OpenClaw多模型切换指南&#xff1a;Qwen3-32B与Llama3混合调用策略 1. 为什么需要多模型切换&#xff1f; 去年冬天&#xff0c;当我第一次尝试用OpenClaw自动处理周报时&#xff0c;发现一个有趣的现象&#xff1a;用同一个模型处理文本润色和代码生成时&#xff0c;效果差…...

Windows下用SlowFast+PHPStudy搭建动物行为识别系统的保姆级教程

Windows平台搭建动物行为识别系统的全流程实战指南 1. 环境准备与工具选择 在Windows系统上构建动物行为识别系统&#xff0c;首先需要搭建稳定高效的开发环境。与传统的Linux开发环境不同&#xff0c;Windows平台需要特别注意路径处理、依赖兼容性等问题。 核心工具栈选择&…...

幻境·流金效果展示:Z-Image基座对‘留白’‘气韵’‘虚实相生’的建模能力

幻境流金效果展示&#xff1a;Z-Image基座对留白气韵虚实相生的建模能力 1. 视觉艺术的技术突破 「幻境流金」影像创作平台代表了AI图像生成领域的一次重要突破。这个系统不仅拥有出色的技术性能&#xff0c;更重要的是在艺术表现力方面达到了新的高度。通过Z-Image基座的深度…...