C++游戏-原作者:魔力坤鸡
2023-07-30 15:32:24
发布于:浙江
#include <bits/stdc++.h>
#include<windows.h>
using namespace std;
double shengmingli=200;//定义主角初始生命力
int gongjili=100;//定义主角初始攻击力
int fangyuli=50;//定义主角初始防御力
int money=10;//定义主角初始金钱数量
int hiking;
string mingzi="旅行者";//定义主角初始名字
bool guoguan;//定义是否通关判定
void wuqidian();//定义武器店函数
void yaodian();//定义药店函数
void guaiwu1();//定义小怪物函数
void guaiwu2();//定义大怪物函数
int main()
{
srand(time(0));
cout<<"欢迎你开始玩原神!\n";
Sleep(2000);
cout<<"启动\n";
Sleep(2000);
cout<<"一个1000年的大陆。周围有无数条河,有无数片树林,很多房子和很多神。注:神之眼是无敌的存在(仅此一次)"<<endl;
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;
Sleep(2000);
cout<<"1、买裁叶萃光(100M加10攻击力)"<<endl;
cout<<"2、买天空之脊(200M加20攻击力)"<<endl;
cout<<"3、买雨栽(500M加40攻击力)"<<endl;
cout<<"4、买千夜浮梦(10000M加60000攻击力)"<<endl;
cout<<"5、买祭礼大剑(500M加30防御力)"<<endl;
cout<<"7、离开武器店"<<endl;
int wuqidian;
cin>>wuqidian;
while(wuqidian!=7){//输入7时结束函数
switch(wuqidian){
case 1 : if(money<100){
cout<<"你的钱不够"<<" "<<"QQ腚"<<endl;//钱不够时返回Flase
break;
}else{
cout<<"购买成功!"<<endl;//钱足够时返回True
gongjili+=10;
money-=100;
break;
}
case 2 : if(money<200){
cout<<"你的钱不够"<<" "<<"垃圾"<<endl;
break;
}else{
cout<<"购买成功!"<<endl;
gongjili+=200;
money-=200;
break;
}
case 3 : if(money<500){
cout<<"你的钱不够"<<" "<<"**"<<endl;
break;
}else{
cout<<"购买成功!"<<endl;
gongjili+=40;
money-=500;
break;
}
case 4 : if(money<10000){
cout<<"你的钱不够"<<" "<<"菜鸡"<<endl;
break;
}else{
cout<<"购买成功!"<<endl;
gongjili+=60000;
money-=10000;
break;
}
case 5 : if(money<600){
cout<<"你的钱不够"<<" "<<"玉足"<<endl;
break;
}else{
cout<<"购买成功!"<<endl;
fangyuli+=30;
money-=600;
break;
}
}
default : cout<<"无"<<endl;
break;
}
cin>>wuqidian;
}
if(wuqidian7){//返回main()主函数
cout<<"欢迎下次再来!"<<endl;
Sleep(2000);
cout<<"1.去武器店"<<endl;
cout<<"2.去食品店"<<endl;
cout<<"3.去打丘丘人"<<endl;
cout<<"4.去打公子"<<endl;
cout<<"5.退出游戏"<<endl;
cout<<"6.显示你的状态"<<endl;
}
}
/*
yaodian()的设置与wuqidian()相同,可参照阅读.
*/
void yaodian(){
cout<<"欢迎来到食品店!"<<endl;
Sleep(2000);
cout<<"1、买1号美味的QQ腚(1M加5生命力)"<<endl;
cout<<"2、买2号提瓦特煎蛋(5000M加1100生命力)"<<endl;
cout<<"3、买3号北地烟熏鸡(10000M加2200生命力)"<<endl;
cout<<"4、买4号仙跳墙(100000M加2000000生命力加2000000防御力)"<<endl;
cout<<"5、离开食品店"<<endl;
int yaodian;
cin>>yaodian;
while(yaodian!=5){
switch(yaodian){
case 1 : if(money<1){
cout<<"你的钱不够"<<endl;
break;
}else{
cout<<"购买成功!"<<endl;
shengmingli+=5;
money-=1;
break;
}
case 2 : if(money<5000){
cout<<"你的钱不够"<<endl;
break;
}else{
cout<<"购买成功!"<<endl;
shengmingli+=1100;
money-=5000;
break;
}
case 3 : if(money<10000){
cout<<"你的钱不够"<<endl;
break;
}else{
cout<<"购买成功!"<<endl;
shengmingli+=2200;
money-=10000;
break;
}
case 4: if(money<100000){
cout<<"你的钱不够"<<endl;
break;
}else{
cout<<"购买成功!"<<endl;
shengmingli+=2000000;
fangyuli+=2000000;
break;
}
default : cout<<"无"<<endl;
break;
}
cin>>yaodian;
}
if(yaodian4){
cout<<"欢迎下次再来!"<<endl;
Sleep(2000);
cout<<"1.去武器店"<<endl;
cout<<"2.去食品店"<<endl;
cout<<"3.去打丘丘人"<<endl;
cout<<"4.去打公子"<<endl;
cout<<"5.退出游戏"<<endl;
cout<<"6.显示你的状态"<<endl;
}
}
/这里是两个战斗函数,使用指针来处理.避免造成内存崩溃./
void guaiwu1(){
cout<<"开始与丘丘人战斗!!!"<<endl;
Sleep(2000);
double* g_shengmingli=new double;//定义怪物生命
int* g_gongjili=new int;//定义怪物攻击力
int* g_fangyuli=new int;//定义怪物防御力
int* g_money=new int;//定义怪物金钱
*g_shengmingli=500;
g_gongjili=50;
g_fangyuli=20;
g_money=200;
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;
Sleep(1500);
cout<<"请选择你的动作:\n";
cout<<"1、攻击\n2、逃跑\n";
cin>>*xuanze;
switch((*xuanze)){
case 1 : cout<<"你对丘丘人发动了攻击!"<<endl;
Sleep(1500);
g_shengmingli-=gongjili2-(*g_fangyuli);
tongji1=gongjili2-(*g_fangyuli);
cout<<"你打掉了丘丘人"<<*tongji1<<"的生命!"<<endl;
cout<<"丘丘人还剩"<<(*g_shengmingli)-(*tongji1)<<"点生命"<<endl;
Sleep(1500);
shengmingli-=(*g_gongjili)*2-fangyuli;
*tongji2=(*g_gongjili)*2-fangyuli;
cout<<"丘丘人对你发动了攻击!朝你扔石头"<<endl;
cout<<"丘丘人打掉了你"<<*tongji2<<"的生命!"<<endl;
Sleep(1500);
cout<<"你还剩"<<shengmingli-(*tongji2)<<"点生命"<<endl;break;
case 2 : cout<<"你决定逃跑!"<<endl;
cout<<"逃跑成功!"<<endl;continue;
default : cout<<"请不要乱选!"<<endl;
}
(*huihe);
}
if((g_shengmingli)<=0){//杀死怪物后的返回
cout<<"丘丘人被你杀死了!你真厉害!!!"<<endl;
Sleep(2000);
money+=(g_money);
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;
Sleep(2000);
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;
Sleep(1500);
double g_shengmingli=new double;
int g_gongjili=new int;
int g_fangyuli=new int;
*g_shengmingli=4000;
g_gongjili=500;
g_fangyuli=500;
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;
Sleep(1500);
cout<<"请选择你的动作:\n";
cout<<"1、攻击\n2、逃跑\n";
cin>>*xuanze;
switch((*xuanze)){
case 1 : cout<<"你对公子发动了攻击!"<<endl;
Sleep(1500);
g_shengmingli-=gongjili2-(*g_fangyuli);
tongji1=gongjili2-(*g_fangyuli);
cout<<"你打掉了公子"<<-*tongji1<<"的生命!"<<endl;
cout<<"公子还剩"<<(*g_shengmingli)-(*tongji1)<<"点生命"<<endl;
Sleep(1500);
shengmingli-=(*g_gongjili)*2-fangyuli;
*tongji2=(*g_gongjili)*2-fangyuli;
cout<<"公子对你发动了攻击!射击你"<<endl;
cout<<"公子打掉了你"<<*tongji2<<"的生命!"<<endl;
Sleep(1500);
cout<<"你还剩"<<shengmingli-(*tongji2)<<"点生命"<<endl;break;
case 2 : cout<<"你决定逃跑!"<<endl;
cout<<"逃跑成功!"<<endl;continue;
default : cout<<"请不要乱选!"<<endl;
}
(*huihe);
}
if((*g_shengmingli)<=0){
cout<<"公子被你杀死了!你真厉害!!!"<<endl;
Sleep(2000);
guoguan=true;
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;
Sleep(2000);
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;
}
}
全部评论 4
公子做错了什么?你们怎么可以这么对他?…………明天周一……上号,黄金屋!
2023-07-30 来自 广东
1嘿嘿!
2023-07-30 来自 浙江
0
这不明摆着抄袭魔力坤鸡的代码吗(流汗黄豆)
2023-07-30 来自 河北
1修改了
2023-07-30 来自 浙江
0加了缩进
2023-07-30 来自 浙江
0等等
2023-07-30 来自 浙江
0
其实魔力坤鸡是在网上复制的
2023-07-30 来自 浙江
06
2023-07-30 来自 浙江
0
全是报错
2023-07-30 来自 浙江
0
有帮助,赞一个