大家好呀,我是yanxinchenji

最近开学了,作业有点多,停更了一段时间

当然,就算是开学,也抵挡不住我更新的激情!!

所以,我想教大家写一个c++的打怪游戏!!无缝剪辑

话不多说,我们开始吧!

第一部分:游戏架构

作为一个打怪小游戏,必不可少的就是主角的各类属性与功能啦~

所以,我们要先定义亿些主角的属性,比如血量、攻击力、防御力

long long things[10000];//先定义10000个,后面再加
/*
1HP 2ATK 3DEF ......
//这里可以根据需要来自行添加
*/

定义完,我们需要思考一下这个游戏需要什么功能,比如商店,刷怪区等等

我这里给大家一个模板,不想动脑子的直接复制

void mianban();//定义干什么(省流)
void welcome();//欢迎
int main();//主函数
string where[10000];//1武器店2药店3家4状态
void home(); //家
string guaiwu[123];//1小怪物2大怪物3boss4凋零风暴
void fight();//战斗
void diaolingfengbao();//最终boss:凋零风暴
void daguai();//大怪物
void xiaoguai();//小怪物
void boss();//boss​

按照我的这个模板,接下来需要编写第二主函数:''mianban()''

第二部分:第二主函数

2.1:实现界面

我们在这里要思考,该如何去实现我们的界面?

我们可以用printf函数来输出这样一个界面

​printf("-----------------------------------------------------\n");
printf("                      选择行动                       \n");
printf("1、与NPC战斗   2、行径        3、干活        \n");
printf("4、末日新生(第四章开放)    5、查看状态\n");
printf("6、公告           7、睡觉\n");
printf("-----------------------------------------------------\n");
printf("请选择>");
int l;
cin>>l;​

2.2:函数的跳转

那么,界面也实现了,我们该怎么去跳转到功能函数呢?

说人话,就是把第二主函数当作一个桥梁,让玩家根据需要走到不同的地方

这个桥梁需要不同的分支,那我们如何去实现这种分支呢?

答案就是:switch语句

具体switch的用法点这里

看了上面的百科,我们发现需要case语句来形成这座桥梁的分支

我们不妨先用伪代码来做一个模板:

switch(l)
{case 1:表达式1;break;case 2:表达式2;break;.....case n;表达式n;break;
}

当然,每个游戏都有防熊机制,免得游戏混乱

我们这时可以用defualt语句来避免这种情况:

default:
cout<<"请不要乱输!!";
Sleep(1000);
break;

我们已经学会了switch,接下来就要实现跳转了

把上述的表达式1、2换成类似于daguai();xiaoguai();这样的函数就可以啦!

2.3:功能的实现

我们声明了函数,那我们怎么去定义函数呢?

你可以照着这样做:

void daguai()
{if(things[1]<=0){return daguai();}things[7]-=20; int i=1,n=0,l=1,taopao,cg;int lengque=0; char r,w; srand(static_cast<unsigned  int >(time(0))) ; int randomNumber=rand(); int ddj=(randomNumber% 5)+6;int dhp=ddj*100;int dsh=ddj*20;int djb=ddj*10;int dfy=ddj*5; switch(episodes){case 1:break;case 2:dhp*=2;dsh*=2;dfy*=2;break;case 3:dhp*=5;dsh*=5;dfy*=5;break;case 4:dhp*=10;dsh*=10;dfy*=10;break;}cout<<"你面对的是"<<ddj<<"级大怪,是否迎战(y/n)"<<endl;cin>>r;if(r=='y'){int f=0;while(things[1]>0&&dhp>0&&l!=123&&i<=20){cout<<"第"<<i<<"回合"<<endl;cout<<"你的生命:"<<things[1]<<endl;cout<<"大怪生命:"<<dhp<<endl;cout<<"输入1攻击(造成攻击(你的伤害-怪的伤害),防御减半)"<<endl;cout<<"输入2防御(不造成攻击,防御*2)"<<endl; cout<<"输入3使用技能(无敌,造成敌方等级*20伤害,boss:500点伤害)"<<endl;cout<<"输入4逃跑(20%几率,逃跑失败也要减少血(无视防御),实在打不过撑过20回合自动结束)"<<endl; cout<<"输入5使用战斗急救包!!!"<<endl; taopao=(randomNumber% 5)+1;if (things[158]==10||things[158]==8||things[159]==1){cout<<"输入6使用武器或防具技能!\n";}cin>>l;if(lengque>0&&f==1){lengque--; } switch(l){case 1:if((things[11]/2)<dsh){things[1]-=dsh-things[11]/2; } if(things[3]>dfy ) {dhp-=things[3]-dfy; } i++; f=1;break; case 2: if(things[11]*2<dsh){things[1]-=dsh-things[11]*2; } i++; f=1;break;case 3:if(lengque==0){dhp-=ddj*20;lengque=5;i++; break; } cout<<"冷却中剩余"<<lengque<<"回合"<<endl; f=0;break;case 4:if(taopao=3){cout<<"逃跑成功!!!"<<endl; l=123;} f=1;break;case 5:f=1;if(things[12]>0){cout<<"使用成功!!!"<<endl; things[12]--;things[1]+=50;i++; } break; case 6:if(things[158]==10){dhp-=1000;cout<<"你使用了技能:横扫一切\n怪物受到1000点伤害!!!";gs();i++;}if(things[158]==8){dhp-=200;cout<<"你使用了技能:降维打击\n怪物受到200点伤害!!!";gs();i++;}if(things[159]==1){things[11]=things[11]*5;cout<<"你使用了技能:绝对防御\n防御力提升五倍!!!";gs();i++;}break;} }if(things[1]<=0){cout<<"你死了"<<endl;Sleep(1000);return daguai(); }if(dhp<=0){cout<<"你打败了"<<ddj<<"级大怪"<<endl;cout<<"奖励金币"<<djb<<"$"<<endl;cout<<"奖励经验"<<ddj*10<<endl;money+=djb; things[2]+=ddj*10; }}else{cout<<"你已逃跑"<<endl; }     } 

上述的是我写的《末日新生》里的打大怪函数,你可以把它修改一下,变得更加美观

我们不能只有这一个功能,所以我们需要更多的开发、研究

因篇幅限制,目前只能写这么多

所以更多的内容请看后续更新的2、3、4!

我是yanxinchenji,我们下次再见!

从零开始写C++打怪小游戏(1)相关推荐

  1. 用C++语言写游戏——打怪小游戏

    想玩游戏吗? 就到某位神犇这来吧! 这会告诉你很多游戏写法! 今天,神犇就开始书写第二期--打怪小游戏!!! 很容易,只需要用脑袋想想即可,READY--GO! 我也希望大家多多捧场哦~~~ 有一点点 ...

  2. Java控制台游戏~600行代码实现打怪小游戏

    Java控制台游戏~600行代码实现打怪小游戏(多图预警) 一,先放个启动界面(一些英雄,怪物技能介绍跟装备属性都写在里边): 二,在这个简单的小游戏里,你可以体验到: 1.打怪: 2.随机玩法寻宝: ...

  3. C++自创打怪小游戏

    大家好,我是yanxinchenji 第一次发博客有点紧张 我前几天写了个打怪小游戏 想发博客上给大家看看 有什么bug欢迎在评论区提出(毕竟这还是个测试版 也可以加我微信:yanxinchenjic ...

  4. c++ 小游戏_C/C++编程笔记:C语言写推箱子小游戏,大一学习C语言练手项目

    C语言,作为大多数人的第一门编程语言,重要性不言而喻,很多编程习惯,逻辑方式在此时就已经形成了.这个是我在大一学习 C语言 后写的推箱子小游戏,自己的逻辑能力得到了提升,在这里同大家分享这个推箱子小游 ...

  5. 利用js写的见缝插针小游戏

    利用js写的见缝插针小游戏 今天给大家带来的就是一款叫做<见缝插针>的游戏.有空你就往里插,直到你无处可插!看你能过多少关! 游戏截图 失败时 代码如下 js代码 index.js 测试游 ...

  6. Python写王者荣耀小游戏

    Python写王者荣耀小游戏 文章目录 Python写王者荣耀小游戏 说明: 一.socket创建 二.实现多进程 三.面向对象版本 四.主体部分搭建 1. 服务器主要步骤的实现 1-1主体部分 1- ...

  7. 弹力细胞,一个由JavaScript写的网页小游戏

    弹力细胞 (BounceCell) 一个由JavaScript写的网页小游戏 作为大一菜鸟,这是我第一次比较正式的写文章 [害臊] 游戏玩法 通过鼠标或触屏控制屏幕底部的滑动弹板将发射的小球反弹出去撞 ...

  8. python弹球小游戏程序设计_Python写的弹球小游戏

    原标题:Python写的弹球小游戏 Python 的功能强大应用广泛,从爬虫到 Web 开发,从科学计算到人工智能,都能见到它的身影.当然,Python 还可以编写游戏代码,虽然不是主流,但却十分有趣 ...

  9. c 语言500行小游戏代码,500行代码使用python写个微信小游戏飞机大战游戏.pdf

    500行行代代码码使使用用python写写个个微微信信小小游游戏戏飞飞机机大大战战游游戏戏 这篇文章主要介绍了500行代码使用python写个微信小游戏飞机大战游戏,本文通过实例代码给大家介绍的非常详 ...

最新文章

  1. 下面属于java的object_在JAVA中,下列哪些是Object类的方法()
  2. 心得丨一文告诉你想学数据分析该读什么书、从哪本读起
  3. 自由的胜利:多元化智能平台BCH
  4. Unity教程之-UGUI美术字体的制作与使用
  5. 渣本毕业两年经验,看这一篇就够了!
  6. vue pdfjs 在线预览
  7. Ubuntu下安装CUDA
  8. 安全中心登录_放心使用instagram需要做到的5个信息安全设置
  9. openai-gpt_GPT-3是“人类”吗?
  10. 华三交换机配置vrrp_H3C S5830V2[S5820V2]系列以太网交换机 典型配置举例-Release 24xx系列-6W100_VRRP典型配置举例-新华三集团-H3C...
  11. 数据交换技术(*):电路交换,报文交换,分组交换的概念,特点和优缺点以及存储转发技术概念
  12. Dell戴尔笔记本电脑G16 7620原装出厂Windows11系统恢复原厂oem系统
  13. SQLyog通过excel导入数据
  14. 致大学计算机老师的一封信,优秀书信作文:致大学老师的一封信
  15. 联想电脑的手触屏失灵
  16. PCI-E 5.0标准正式公布!速度再次翻番达32GT/s
  17. 大数据之统计学基础(一) -- 描述统计
  18. openstack上win7实例
  19. 平摊分析的三种方法(聚集、会计和势能)+举例(栈操作、二进制加法器、动态表)
  20. 黑马程序员-三层架构介绍

热门文章

  1. 学计算机新学期新目标新计划,2021新学期新目标新计划作文600字
  2. mysql 增加合计行_SQL:给查询添加一个合计行
  3. 中国医药代理商大全 2005 v1.0 官方
  4. 夺冠了,8年之约......
  5. wps如何使用ppt美化大师_如何将PPT美化大师安装到WPS软件?方法一览
  6. fdisk -l 详解
  7. Java学习 (二) 在MAC终端上运行Java程序
  8. 开机出现指令“Ox00000000”的内存,该内容不能为read解决方法
  9. python爬虫之XPATH(爬取糗事百科、扇贝单词、网易云)
  10. Samtec科普 | 用于手术设备的连接器