#include <iostream>
using namespace std;
#include "FileManager.h"
#include "Weapon.h"
#include "Knife.h"
#include "Mjolnir.h"
#include "InfinityGauntlet.h"
#include "Hero.h"
#include "Monster.h"
void Fight()
{
//读Hero文件,Hero相关数据设为map容器,key为序号
FileManager fm;
map<string, map<string, string>>mHeroData;
fm.loadCSVData("./Hero.csv", mHeroData);
//开始
cout << "欢迎来到游戏!" << endl;
cout << "请选择您的英雄:" << endl;
//输出英雄选项
char buf[9999];
sprintf_s(buf, "1. %s <%s>", mHeroData["1"]["heroName"].c_str(), mHeroData["1"]["heroInfo"].c_str());
cout << buf << endl;
sprintf_s(buf, "2. %s <%s>", mHeroData["2"]["heroName"].c_str(), mHeroData["2"]["heroInfo"].c_str());
cout << buf << endl;
sprintf_s(buf, "3. %s <%s>", mHeroData["3"]["heroName"].c_str(), mHeroData["3"]["heroInfo"].c_str());
cout << buf << endl;
//输入选项
int select = 0;
cin >> select;
getchar();
Hero hero(select);
cout << "选择成功!" << endl;
//输出武器选项
cout << "请选择武器:" << endl;
map<string, map<string, string>>mWeaponData;
fm.loadCSVData("./Weapons.csv", mWeaponData);
cout << "1. 不使用武器" << endl;
sprintf_s(buf, "2. %s", mWeaponData["1"]["weaponName"].c_str());
cout << buf << endl;
sprintf_s(buf, "3. %s", mWeaponData["2"]["weaponName"].c_str());
cout << buf << endl;
sprintf_s(buf, "4. %s", mWeaponData["3"]["weaponName"].c_str());
cout << buf << endl;
Weapon* weapon = NULL;
//输入选项
cin >> select;
getchar();
//根据输入的选项创建对象
switch (select)
{
case 1:
break;
case 2:
weapon = new Knife;
break;
case 3:
weapon = new Mjolnir;
break;
case 4:
weapon = new InfinityGauntlet;
break;
default:
break;
}
//装备武器
hero.EquipWeapon(weapon);
//输出怪物选项
cout << "请选择怪物:" << endl;
map<string, map<string, string>>mMonsterData;
fm.loadCSVData("./Monsters.csv", mMonsterData);
sprintf_s(buf, "1. %s", mMonsterData["1"]["monsterName"].c_str());
cout << buf << endl;
sprintf_s(buf, "2. %s", mMonsterData["2"]["monsterName"].c_str());
cout << buf << endl;
sprintf_s(buf, "3. %s", mMonsterData["3"]["monsterName"].c_str());
cout << buf << endl;
sprintf_s(buf, "4. %s", mMonsterData["4"]["monsterName"].c_str());
cout << buf << endl;
sprintf_s(buf, "5. %s", mMonsterData["5"]["monsterName"].c_str());
cout << buf << endl;
//输入选项
cin >> select;
Monster monster(select);
cout << "按Enter键继续!" << endl;
//进入对战,初始回合数为1
int round = 1;
//无限循环,直到一方的胜利条件出发为止
while (true)
{
//让你按一下Enter
getchar();
//清屏
system("cls");
cout << "第" << round << "回合开始!" << endl;
//如果你的体力<=0,游戏结束
if (hero.heroHp <= 0)
{
cout << "你死了!" << endl;
break;
}
else
{
//否则你攻击一下怪物
hero.Attack(&monster);
//如果怪物的体力<=0,游戏结束
if (monster.monsterHp <= 0)
{
cout << "怪物已死亡,胜利!" << endl;
break;
}
//否则游戏不会结束,怪物攻击你一下,然后输出你们的剩余体力
else
{
monster.Attack(&hero);
cout << "英雄【" << hero.heroName << "】剩余血量为:" << hero.heroHp << endl;
cout << "怪物【" << monster.monsterName << "】剩余血量为:" << monster.monsterHp << endl;
}
}
cout << "按Enter键继续!" << endl;
//回合数+1
round++;
}
}
int main()
{
Fight();
system("pause");
return 0;
}
没有合适的资源?快使用搜索试试~ 我知道了~
英雄对战游戏设计 漫威超英对战 Visual Studio C++面向对象程序设计课程设计 STL库 软件设计与体系结构
共44个文件
obj:9个
h:7个
cpp:7个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 16 浏览量
2023-05-01
10:14:00
上传
评论 1
收藏 3.46MB RAR 举报
温馨提示
原创代码 漫威电影宇宙,是由漫威影业基于漫威漫画角色制作的一系列电影组成的架空世界和共同世界 ,漫威宇宙中出现的各个装备,人物都吸引着观众的眼球,不少人对于漫威人物十分喜爱,在忙碌的生活中,这些人物的存在为他们的生活增色不少。 漫威宇宙的各个人物积累了大量的粉丝,我们的游戏让他们可以身临其境的感受电影中的对战部分,让粉丝更加接近角色。让大家在生活之余,不在电影院也能享受和人物“隔空对话”。Filemanager.cpp, hero.cpp, monster.cpp,Game.cpp 所有.h文件 infinitygauntlet.cpp, Mjolnir.cpp, knife.cpp ■Filemanager:文件的读取 ■Hero:编写英雄的函数,有体力,名字,防御,攻击,武器等信息 ■InfinityGaunter:编写无限手套函数,伤害暴击吸血冰冻等效果 ■Knife:编写小刀的函数,暴击冰冻吸血等效果并且有随机性 ■Mjolnir:编写雷锤的函数 ■Monster:编写怪物函数,名称体力攻击防御 ■Weapon:武器类,赋予武器各种属性
资源推荐
资源详情
资源评论
收起资源包目录
game.rar (44个子文件)
game
FileManager.cpp 2KB
Mjolnir.h 416B
Hero.csv 156B
Knife.h 406B
Weapon.h 480B
Monster.cpp 977B
Monster.h 354B
.vs
game
v14
.suo 64KB
game.sdf 10.88MB
game.vcxproj 6KB
game.vcxproj.filters 2KB
Monsters.csv 151B
Hero.h 433B
Game.cpp 3KB
InfinityGauntlet.cpp 1KB
Hero.cpp 2KB
Knife.cpp 1KB
Mjolnir.cpp 1KB
Weapons.csv 182B
InfinityGauntlet.h 432B
Debug
InfinityGauntlet.obj 1.36MB
Dragon.obj 1.36MB
game.log 308B
game.pdb 2.06MB
game.exe 256KB
Game.obj 1.31MB
Mjolnir.obj 1.36MB
Monster.obj 1.31MB
FileManager.obj 1.2MB
Sword.obj 1.36MB
Hero.obj 1.32MB
game.ilk 1.68MB
Knife.obj 1.36MB
vc140.idb 691KB
game.tlog
CL.write.1.tlog 2KB
CL.command.1.tlog 7KB
link.command.1.tlog 3KB
link.read.1.tlog 4KB
link.write.1.tlog 784B
game.lastbuildstate 209B
CL.read.1.tlog 113KB
vc140.pdb 716KB
FileManager.h 318B
game.sln 1KB
共 44 条
- 1
资源评论
HinomotoOniko
- 粉丝: 1838
- 资源: 139
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 1美赛大纲资料.txt
- 2011-2020各省房地产业增加值-亿元
- 无外观自定义控件Demo
- 基于java与阿里云RDS数据库对于天天基金网上的基金公告进行爬取与查询.zip
- Unity3D((4.x5.x)版本游戏源码(4.x-5.x)横板跑酷游戏
- 毕业设计基于LabView+MATLAB的说话人识别系统源码+说明.zip
- 基于LabVIEW的音乐机器人源码课程设计.zip
- SaveShareFileSet(保存WINDOWS server所有共享用户,共享文件夹,和共享权限)
- 项目设计基于Labview的转子动平衡测控系统源码+系统软件说明书.zip
- 课程设计Layabox+Unity制作的模型展示场景,鼠标、手指操控.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功