求c++游戏代码,要能打怪能做任务升级的那种

供稿:hz-xin.com     日期:2025-01-13
新手在线求用C++写的RPG小游戏源代码,能升级,打怪,做任务,不需要贴图

#include

#include

#include

#include

#include

using namespace std;

//猜测最大次数

const int MAX_GUESS_TIME= 8;

void ShowMenu();//显示菜单

void ShowGameInfo();//显示游戏简介

string GetNum();//产生一个不包含重复数字的四位数

string CalcResult(string strResult, string strInput);//比较两个数,输出?A?B结果

bool CheckInput(string strInput);//检查输入有效性,简单处理,可增加其它判断

int main()

{

string strResult;

string strInput;

int iGuessTime=1;

cout<<"==***欢迎使用猜数字游戏***=="<<endl;

ShowMenu();

cin>>strInput;

while (1)

{

if (strInput == "1")

{

break;

}

else if (strInput == "2")

{

ShowGameInfo();

}

else if (strInput == "0")

{

cout<<"谢谢使用,再见!
";

return 0;

}

else

{

cout<<"对不起,请输入正确的数字!
";

}

ShowMenu();

cin>>strInput;

}

srand(time(NULL));

strResult = GetNum();

cout<<"请输入四位数(输入exit退出):"<<endl;

cin>>strInput;

while (strInput != "exit")

{

if (!CheckInput(strInput))

{

cout<<"您的输入不正确,请输入4位数字,不能有重复
";

cin>>strInput;

continue;

}

if (strResult == strInput)

{

cout<<"哈!猜对了,你好棒!数字是:"<<strResult<<endl;

cout<<"继续?(y/n)";

cin>>strInput;

if (!(strInput[0]=='y' || strInput[0]=='Y'))

{

break;

}

strResult = GetNum();

iGuessTime=1;

}

else

{

if (MAX_GUESS_TIME > iGuessTime)

{

cout<<"第 "<<iGuessTime<<"次猜测,输入"<<strInput<<",结果:"<<CalcResult(strResult, strInput)<<endl;

++iGuessTime;

}

else

{

cout<<"对不起,您猜得不对,数字是:"<<strResult<<endl;

cout<<"继续?(y/n)";

cin>>strInput;

if (!(strInput[0]=='y' || strInput[0]=='Y'))

{

break;

}

strResult = GetNum();

iGuessTime=1;

}

}

cout<<"请输入四位数(输入exit退出):"<<endl;

cin>>strInput;

}

cout<<"谢谢使用,再见.
";

return 0;

}

string GetNum()

{

char cTmp[2] = {0};

string strTmp;

int iTmp=0;

while (strTmp.length() != 4)

{

iTmp = rand() % 10;

itoa(iTmp, cTmp, 10);

int iIndex = strTmp.find(cTmp);

if ( iIndex < 0)

{

strTmp += cTmp;

}

}

return strTmp;

}

string CalcResult(string strResult, string strInput)

{

int iA=0,iB=0;

int i=0,j=0;

char cResult[5]={0};

for (;i < strResult.length();++i)

{

for (j=0;j < strInput.length();++j)

{

char strA=strResult[i];

char strB=strInput[j];

if (strA == strB)

{

if (i == j)

{

++iA;

}

else

{

++iB;

}

}

}

}

sprintf(cResult,"%dA%dB", iA, iB);

return cResult;

}

bool CheckInput(string strInput)

{

int i=0;

if (strInput.length() != 4)

{

return false;

}

for (;i < 4; i++)

{

char cTmp = strInput[i];

if ( cTmp > '9' || cTmp < '0')

{

return false;

}

}

return true;

}

void ShowMenu()

{

cout<<"请输入对应数字进行选择"<<endl;

cout玩游戏"<<endl;

cout游戏介绍"<<endl<<endl;

cout退出游戏"<<endl;

}

void ShowGameInfo()

{

cout<<"这里是游戏介绍,输入你自己的游戏介绍
";

system("pause");

}

#include <iostream>

using namespace std;

double shengmingli=200;//定义主角初始生命力

int gongjili=10;//定义主角初始攻击力

int fangyuli=20;//定义主角初始防御力

int money=200;//定义主角初始金钱数量

bool guoguan;//定义是否通关判定

void wuqidian();//定义武器店函数

void yaodian();//定义药店函数

void guaiwu1();//定义小怪物函数

void guaiwu2();//定义大怪物函数

int main()

{

cout<<"欢迎你开始游戏!\n";

cout<<"小镇\n";

cout<<"一个1000年的小镇。周围有一条河,有一片树林,很多房子和很多人。\n有一家药店"<<endl;

cout<<"和一家武器店。\n";

int xiaozhen;//定义选择项目

cout<<"1.去武器店"<<endl;

cout<<"2.去药品店"<<endl;

cout<<"3.去打小怪物"<<endl;

cout<<"4.去打大怪物"<<endl;

cout<<"5.退出游戏"<<endl;

cout<<"6.显示你的状态"<<endl;

cin>>xiaozhen;

while(xiaozhen!=5)//输入5时退出游戏

{

if(shengmingli<=0)//主角生命力小于等于0时游戏结束

{

cout<<"你死啦!"<<endl;

break;

}

if(guoguan)

{

cout<<"恭喜通关!"<<endl;

break;

}

if(xiaozhen==6)//输入6可检测自己的状态

{

cout<<"你的生命力:"<<shengmingli<<endl;

cout<<"你的攻击力:"<<gongjili<<endl;

cout<<"你的防御力:"<<fangyuli<<endl;

cout<<"你拥有的钱:"<<money<<endl;

}

else

switch(xiaozhen)

{

case 1 : wuqidian();break;

case 2 : yaodian();break;

case 3 : guaiwu1();break;

case 4 : guaiwu2();break;

default : cout<<"请不要乱选!"<<endl;break;

}

cin>>xiaozhen;

}

if(xiaozhen==5)

{

cout<<"正在退出游戏……"<<endl;

}

cin.get();

cin.get();

return 0;

}

void wuqidian()

{

cout<<"欢迎来到武器店!"<<endl;

cout<<"1、买小刀(加攻击力)"<<endl;

cout<<"2、买短剑(加攻击力)"<<endl;

cout<<"3、买大砍刀(加攻击力)"<<endl;

cout<<"4、买电锯(加攻击力)"<<endl;

cout<<"5、买盾牌(加防御力)"<<endl;

cout<<"7、离开武器店"<<endl;

int wuqidian;

cin>>wuqidian;

while(wuqidian!=7)//输入7时结束函数

{

switch(wuqidian)

{

case 1 : if(money<10)

cout<<"你的钱不够"<<endl;//钱不够时返回Flase

else

cout<<"购买成功!"<<endl;//钱足够时返回True

gongjili+=20;

money-=10;

break;

case 2 : if(money<20)

cout<<"你的钱不够"<<endl;

else

cout<<"购买成功!"<<endl;

gongjili+=40;

money-=20;

break;

case 3 : if(money<30)

cout<<"你的钱不够"<<endl;

else

cout<<"购买成功!"<<endl;

gongjili+=60;

money-=30;

break;

case 4 : if(money<40)

cout<<"你的钱不够"<<endl;

else

cout<<"购买成功!"<<endl;

gongjili+=100;

money-=40;

break;

case 5 : if(money<10)

cout<<"你的钱不够"<<endl;

else

cout<<"购买成功!"<<endl;

fangyuli+=30;

money-=10;

break;

fangyuli+=60;

money-=20;

break;

default : cout<<"无"<<endl;

break;

}

cin>>wuqidian;

}

if(wuqidian==7)

{ //返回main()主函数

cout<<"欢迎下次再来!"<<endl;

cout<<"小镇\n";

cout<<"一个1000年的小镇。周围有一条河,有一片树林,很多房子和很多人。\n有一家药店"<<endl;

cout<<"和一家武器店。\n";

cout<<"1.去武器店"<<endl;

cout<<"2.去药品店"<<endl;

cout<<"3.去打小怪物"<<endl;

cout<<"4.去打大怪物"<<endl;

cout<<"5.退出游戏"<<endl;

cout<<"6.显示你的状态"<<endl;

}

}

/*

yaodian()的设置与wuqidian()相同,可参照阅读.

*/

void yaodian()

{

cout<<"欢迎来到药品店!"<<endl;

cout<<"1、买1号补血药(加生命)"<<endl;

cout<<"2、买2号补血药(加生命力)"<<endl;

cout<<"3、买3号补血药(加生命力)"<<endl;

cout<<"4、离开武器店"<<endl;

int yaodian;

cin>>yaodian;

while(yaodian!=1)

{

switch(yaodian)

{

case 1 : if(money<10)

cout<<"你的钱不够"<<endl;

else

cout<<"购买成功!"<<endl;

shengmingli+=30;

money-=10;

break;

case 2 : if(money<20)

cout<<"你的钱不够"<<endl;

else

cout<<"购买成功!"<<endl;

shengmingli+=50;

money-=1;

break;

case 3 : if(money<40)

cout<<"你的钱不够"<<endl;

else

cout<<"购买成功!"<<endl;

shengmingli+=100;

money-=40;

break;

default : cout<<"无"<<endl;

break;

}

cin>>yaodian;

}

if(yaodian==4)

{

cout<<"欢迎下次再来!"<<endl;

cout<<"小镇\n";

cout<<"一个1000年的小镇。周围有一条河,有一片树林,很多房子和很多人。\n有一家药店"<<endl;

cout<<"和一家武器店。\n";

cout<<"1.去武器店"<<endl;

cout<<"2.去药品店"<<endl;

cout<<"3.去打小怪物"<<endl;

cout<<"4.去打大怪物"<<endl;

cout<<"5.退出游戏"<<endl;

cout<<"6.显示你的状态"<<endl;

}

}

/*这里是两个战斗函数,使用指针来处理.避免造成内存崩溃.*/

void guaiwu1()

{

cout<<"开始与小怪物战斗!!!"<<endl;

double* g_shengmingli=new double;//定义怪物生命

int* g_gongjili=new int;//定义怪物攻击力

int* g_fangyuli=new int;//定义怪物防御力

int* g_money=new int;//定义怪物金钱

*g_shengmingli=20;

*g_gongjili=1;

*g_fangyuli=1;

*g_money=50;

double* tongji1=new double;//用来计算主角对怪物的杀伤

double* tongji2=new double;//用来计算怪物对主角的杀伤

*tongji1=0;

*tongji2=0;

int* huihe=new int;//定义回合数

*huihe=1;

cout<<"你开始对小怪物进行攻击!"<<endl;

int* xuanze=new int;

/*

攻击计算公式

杀伤=攻击力*2-防御力

玩家每回合可以选择攻击与逃跑

*/

while((*g_shengmingli)>0 && shengmingli>0 && (*xuanze)!=2)

{

cout<<"现在是"<<"第"<<*huihe<<"回合!"<<endl;

cout<<"请选择你的动作:\n";

cout<<"1、攻击\n2、逃跑\n";

cin>>*xuanze;

switch((*xuanze))

{

case 1 : cout<<"你对小怪物发动了攻击!"<<endl;

*g_shengmingli-=gongjili*2-(*g_fangyuli);

*tongji1=gongjili*2-(*g_fangyuli);

cout<<"你打掉了小怪物"<<*tongji1<<"的生命!"<<endl;

cout<<"小怪物还剩"<<(*g_shengmingli)-(*tongji1)<<"点生命"<<endl;

shengmingli-=(*g_gongjili)*2-fangyuli;

*tongji2=(*g_gongjili)*2-fangyuli;

cout<<"小怪物对你发动了攻击!"<<endl;

cout<<"小怪物打掉了你"<<*tongji2<<"的生命!"<<endl;

cout<<"你还剩"<<shengmingli-(*tongji2)<<"点生命"<<endl;break;

case 2 : cout<<"你决定逃跑!"<<endl;

cout<<"逃跑成功!"<<endl;continue;

default : cout<<"请不要乱选!"<<endl;

}

(*huihe)++;

}

if((*g_shengmingli)<=0)

{//杀死怪物后的返回

cout<<"小怪物被你杀死了!你真厉害!!!"<<endl;

money+=(*g_money);

cout<<"小镇\n";

cout<<"一个1000年的小镇。周围有一条河,有一片树林,很多房子和很多人。\n有一家药店"<<endl;

cout<<"和一家武器店。\n";

cout<<"1.去武器店"<<endl;

cout<<"2.去药品店"<<endl;

cout<<"3.去打小怪物"<<endl;

cout<<"4.去打大怪物"<<endl;

cout<<"5.退出游戏"<<endl;

cout<<"6.显示你的状态"<<endl;

}

else

if(shengmingli<=0)

{//被怪物杀死后的返回

cout<<"你被小怪物杀死了!游戏结束!!!"<<endl;

}

else

if((*xuanze)==2)

{//逃跑的返回

cout<<"你逃回了小镇!"<<endl;

cout<<"小镇\n";

cout<<"一个1000年的小镇。周围有一条河,有一片树林,很多房子和很多人。\n有一家药店"<<endl;

cout<<"和一家武器店。\n";

cout<<"1.去武器店"<<endl;

cout<<"2.去药品店"<<endl;

cout<<"3.去打小怪物"<<endl;

cout<<"4.去打大怪物"<<endl;

cout<<"5.退出游戏"<<endl;

cout<<"6.显示你的状态"<<endl;

}

delete g_shengmingli;

delete g_gongjili;

delete g_fangyuli;

delete g_money;

delete tongji1;

delete tongji2;

}

/*

设置均与void函数guaiwu1()相同,可参照上例阅读.

*/

void guaiwu2()

{

cout<<"开始与大怪物战斗!!!"<<endl;

double* g_shengmingli=new double;

int* g_gongjili=new int;

int* g_fangyuli=new int;

*g_shengmingli=50;

*g_gongjili=15;

*g_fangyuli=10;

double* tongji1=new double;

double* tongji2=new double;

*tongji1=0;

*tongji2=0;

int* huihe=new int;

*huihe=1;

cout<<"你开始对大怪物进行攻击!"<<endl;

int* xuanze=new int;

while((*g_shengmingli)>0 && shengmingli>0 && (*xuanze)!=2)

{

cout<<"现在是"<<"第"<<*huihe<<"回合!"<<endl;

cout<<"请选择你的动作:\n";

cout<<"1、攻击\n2、逃跑\n";

cin>>*xuanze;

switch((*xuanze))

{

case 1 : cout<<"你对大怪物发动了攻击!"<<endl;

*g_shengmingli-=gongjili*2-(*g_fangyuli);

*tongji1=gongjili*2-(*g_fangyuli);

cout<<"你打掉了大怪物"<<*tongji1<<"的生命!"<<endl;

cout<<"大怪物还剩"<<(*g_shengmingli)-(*tongji1)<<"点生命"<<endl;

shengmingli-=(*g_gongjili)*2-fangyuli;

*tongji2=(*g_gongjili)-fangyuli;

cout<<"大怪物对你发动了攻击!"<<endl;

cout<<"大怪物打掉了你"<<*tongji2<<"的生命!"<<endl;

cout<<"你还剩"<<shengmingli-(*tongji2)<<"点生命"<<endl;break;

case 2 : cout<<"你决定逃跑!"<<endl;

cout<<"逃跑成功!"<<endl;continue;

default : cout<<"请不要乱选!"<<endl;

}

(*huihe)++;

}

if((*g_shengmingli)<=0)

{

cout<<"大怪物被你杀死了!你真厉害!!!"<<endl;

guoguan=true;

cout<<"小镇\n";

cout<<"一个1000年的小镇。周围有一条河,有一片树林,很多房子和很多人。\n有一家药店"<<endl;

cout<<"和一家武器店。\n";

cout<<"1.去武器店"<<endl;

cout<<"2.去药品店"<<endl;

cout<<"3.去打小怪物"<<endl;

cout<<"4.去打大怪物"<<endl;

cout<<"5.退出游戏"<<endl;

cout<<"6.显示你的状态"<<endl;

}

else

if(shengmingli<=0)

{

cout<<"你被大怪物杀死了!游戏结束!!!"<<endl;

}

else

if((*xuanze)==2)

{

cout<<"你逃回了小镇!"<<endl;

cout<<"小镇\n";

cout<<"一个1000年的小镇。周围有一条河,有一片树林,很多房子和很多人。\n有一家药店"<<endl;

cout<<"和一家武器店。\n";

cout<<"1.去武器店"<<endl;

cout<<"2.去药品店"<<endl;

cout<<"3.去打小怪物"<<endl;

cout<<"4.去打大怪物"<<endl;

cout<<"5.退出游戏"<<endl;

cout<<"6.显示你的状态"<<endl;

}

delete g_shengmingli;

delete g_gongjili;

delete g_fangyuli;

delete tongji1;

delete tongji2;

}

最简单的是去外包网站上发布任务,大概1000块钱就能搞定。或者在网上搜索一个类似游戏的教程视频,照着敲。。。
在这就不要想了,,,

c++可以写游戏么
在C++中,开发者可以利用强大的类和对象系统,来实现游戏中的各种功能。例如,通过自定义类来管理玩家角色、敌人、物品等游戏元素,可以大大提高代码的可读性和可维护性。同时,C++还提供了丰富的库和工具支持,使得开发者能够更方便地处理图形渲染、声音效果、物理模拟等复杂任务。此外,C++在游戏开发中的...

会编程是不是可以做游戏
还包括故事叙述、角色设定以及用户界面的美观度。因此,尽管会编程是游戏开发的一个重要基础,但它只是众多技能中的一部分。要成为一名优秀的游戏开发者,还需要不断学习和积累其他相关知识和经验。总之,游戏开发是一项复杂而多维的任务,需要综合运用各种技术和艺术手段,才能创作出令人满意的作品。

求以下c++代码(大一新生,课没上,实验要做)
任务1:交换变量的值 include <stdio.h>int main() { unsigned int a, b, temp; printf("输入二个无符号整数(a,b):"); scanf("%u,%u", &a, &b); printf("a=%u,b=%u\\n", a, b);temp = a;a = b;b = temp; printf("交换后:a=%u,b=%u\\n", a, b);...

c++游戏开发需要什么知识
不论是2D还是3D游戏开发,都需要掌握一定的编程技能,C语言和C++是常用的选择。学习编程语言的过程中,可以从基础开始,逐步提升。同时,了解游戏开发的基本流程和工具,如Unity3D和Cocos2dx,能够帮助你更好地完成游戏开发任务。游戏开发不仅仅是技术活,还需要有创意和灵感。培养良好的游戏开发思维,多观察...

想开发游戏需要学什么
包括项目规划、需求分析、软件设计、编码规范、测试与调试、版本控制等,能够确保游戏开发的顺利进行,提高代码的质量和可维护性.游戏开发核心技术游戏引擎:Unity 和 Unreal Engine 是目前最受欢迎的两款游戏引擎。学习游戏引擎的使用,包括场景搭建、资源管理、脚本编写、动画系统、物理模拟、渲染管线等,能够...

话说想做游戏学什么编程语言比较好
VB语言已经较少使用,除非有特殊需求,否则学习VB没有太大的必要。推荐使用《VisualC++游戏编程基础》作为学习教材,这本书能够帮助初学者快速掌握C++游戏开发的基本技能。如果你只是想做些小项目玩玩,市面上有很多方便的软件,例如《RPGmaker》。这类工具无需深厚编程基础,用户就能轻松制作简单的游戏,非常...

游戏源代码是什么
具体来说,游戏源代码包含了以下内容:1. 游戏逻辑和规则的实现:源代码中包含了游戏的规则和逻辑,如角色的行为、关卡的设置、任务流程等。这些都是通过编程语言和算法来实现的。2. 图形渲染指令:游戏通常具有丰富的图像和动画效果,源代码中包含了实现这些效果的指令和算法,如场景渲染、角色动画等。3...

墨剑江湖代码任务怎么做
例如,程序员可能需要与美术设计师沟通角色的动画效果,与音效师协调攻击动作的音效播放等。总的来说,墨剑江湖的代码任务需要开发者具备扎实的编程基础、良好的逻辑思维和团队协作能力。通过明确需求、编写代码、调试优化以及团队协作,开发者能够完成各种复杂的游戏功能开发,为玩家带来丰富多彩的游戏体验。

电脑游戏用什么语言做游戏用哪种语言
必须通过预先放入计算机的 “汇编程序“的加工和翻译,才能变成能够被计算机识别和处理的二进制代码程序。...4. 求问计算机哪种语言实用,能做游戏的,呵 大型游戏现在基本是用C++完成的,也有一些游戏是用C语言...虽然许多脚本语言都超越了计算机简单任务自动化的领域,成熟到可以编写精巧的程序,但仍然还是被称为脚本。

c++俄罗斯方块代码
任务:1.进行俄罗斯方块游戏的系统结构设计和类结构设计;2.设计并实现俄罗斯方块游戏。要求:1.模块功能满足需求说明、界面友好、保证一定性能要求。2.撰写出符合要求的课程... 任务:1.进行俄罗斯方块游戏的系统结构设计和类结构设计;2.设计并实现俄罗斯方块游戏。要求:1.模块功能满足需求说明、界面友好、保证一定性能...