刷野打怪上王者·C++篇·第9期·判断&循环

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

参考链接

RUNOOB.COM

判断

在判断语句中主要有两种:if...else和switch两个语句。下面我们还是主要通过代码来说明:

先看一看看if...else语句:

#include <iostream>

using namespace std;
int main()
{
	float iVar1 = 1, iVar2 = 2;
	
	if(iVar1 > iVar2)                     //判断语句
		cout << "iVar1 大于 iVar2 " << endl; 
	else if(iVar1 < iVar2)
		cout << "iVar1 小于 iVar2 " << endl; 
	else if (iVar1 == iVar2)
		cout << "iVar1 等于 iVar2 " << endl; 
	else if (iVar1 != iVar2)
		cout << "iVar1 不等于 iVar2 " << endl; 
	else if (iVar1 <= iVar2)
		cout << "iVar1 小于等于 iVar2 " << endl; 
	else if (iVar1 >= iVar2)
		cout << "iVar1 大于等于 iVar2 " << endl;
	else
		cout << "error" << endl;
	getchar();
}

运行结果

iVar1 小于 iVar2

上面这段代码是前几篇中提到的,不过当时主要介绍的是运算符,现在我们好好说说上面的程序。在if判断语句中主要有三种:

//方式一
if(判断语句)
{
    /*语句*/
}
//方式二
if(判断语句)
{
    /*语句*/
}
else
{
    /*语句*/
}
//方式三
if(判断语句)
{
    /*语句*/
}
else if(判断语句)
{
    /*语句*/
}
else if(判断语句)
{
    /*语句*/
}
else
{
    /*语句*/
}

说明:当只有一句语句时,可以不加{}。并且语句内部也可以嵌入if判断语句,在这里说明一下,if语句只要有一个判断语句成立,就会执行里面的程序,而未判断的语句则不会再进行判断。if判断语句是从上到下逐个进行判断。

再来看看switch语句

#include <iostream>

using namespace std;
int main()
{
	int iVar1 = 1, iVar2 = 2;

	switch (iVar1)
	{
		case 1:
			cout << "iVar1" << endl;
			break;                      //程序执行到此处后,会跳出switch语句块;如果不添加break,则会顺序执行。
		case 2:
			cout << "iVar2" << endl;
			break;
		default :                      //在上述所有情况不满足的时,则进入到default
			cout << "None" << endl;
			break;
	}
	getchar();
}

运行结果

iVar1

注:在上述描述中,我们可以看到switch与if判断还是有一定的不同。switch在满足判断条件的情况下,如果不添加break语句,则会顺序执行程序,直到遇到break或者switch语句运行结束。switch语句也满足内部嵌套switch,下面我们看一下它的用法:

switch(/*整型或枚举型*/)
{
    case 常量1:
        /*语句*/
        break;   //可选
    case 常量2:
        /*语句*/
        break;  //可选
    default :
        /*语句*/
        break;  //可选
}

循环

这个其实就包括三个,分别为for、while、do...while循环语句。还是通过代码直接进行一一讲解:

for循环

#include <iostream>

using namespace std;
int main()
{

	for (int iId = 0; iId < 10; iId++)   //for循环语句
	{
		cout << "iId = " << iId << endl; //打印dos界面
	}
	getchar();
}

运行结果

iId = 0
iId = 1
iId = 2
iId = 3
iId = 4
iId = 5
iId = 6
iId = 7
iId = 8
iId = 9

注:for循环还是比较简单的,只要了解for里面内部的含义即可,下面我们来说一下语法:

for(初始化;判断;数值改变)
{
    /*核心语句*/
}

在for循环中数值改变可以放到核心语句中,其它的格式都要保持不变。

while语句

#include <iostream>

using namespace std;
int main()
{
	int iId = 0;
	while(iId < 10) //while语句 
	{
		cout << "iId = " << iId << endl;
		iId++;
	}
	getchar();
}

运行结果

iId = 0
iId = 1
iId = 2
iId = 3
iId = 4
iId = 5
iId = 6
iId = 7
iId = 8
iId = 9

注:从程序上来看while的语法比for循环更加简单,下面我们来说一下while语法:

while(判断条件)
{
    /*核心语句*/
}

do...while语句

#include <iostream>

using namespace std;
int main()
{
	int iId = 11;
	do
	{
		cout << "iId = " << iId << endl;
		iId++;
	} while (iId < 10); //while语句 
	getchar();
}

注:从程序上我们看到do...while比上面两个循环语句稍微复杂点,不过do...while这个家伙比较牛,就是要先执行一次,然后在进行判断(上面两个循环语句要先判断后执行)。下面我们来说一下do...while语法:

do
{
    /*核心语句*/
}while(条件)   

循环语句控制

讲完了循环语句,必须说一下循环控制的几个关键字:continue,break,goto。

continue:因为循环语句会在内部进行多次操作,但是在某些情况不需要循环,因此需要跳过本次循环。

#include <iostream>

using namespace std;
int main()
{

	for (int iId = 0; iId < 10; iId++)
	{
		if (iId == 5)      //在iId等于5的情况下,跳过一次循环
			continue;
		cout << "iId = " << iId << endl;
	}
	getchar();
}

运行结果

iId = 0
iId = 1
iId = 2
iId = 3
iId = 4
iId = 6
iId = 7
iId = 8
iId = 9

注:从上面程序的运行结果可以看出,在iId等于5的情况下,跳过一次循环。

break:在循环语句中,满足一定的条件下,要退出循环语句,这时候就需要使用break。

#include <iostream>

using namespace std;
int main()
{

	for (int iId = 0; iId < 10; iId++)
	{
		if (iId >= 5)  //在iId大于等于5的情况下,直接跳出循环
			break;
		cout << "iId = " << iId << endl;
	}
	getchar();
}

运行结果

iId = 0
iId = 1
iId = 2
iId = 3
iId = 4

注:从上面程序的运行结果可以看出,在iId大于等于5的情况下,直接跳出循环。

goto:在一定的情况,需要将当前程序处理的地方,直接跳转到上面或者下面语句,这时候需要使用goto语句。

#include <iostream>

using namespace std;
int main()
{

	int iVar = 1;
Loop:

	iVar++;
	cout << "iVar = " << iVar << endl;
	if(iVar < 3)    //在变量小于3的情况下,直接跳转到Loop当前的语句
		goto Loop;
	getchar();
}

运行结果

iVar = 2
iVar = 3

注:从结果我们可以看到,在小于3的情况下,进行了跳转。但是给大家一点建议,尽量少用goto语句。goto语句语法

定义的变量:
     /*核心语句*/
     goto 定义的变量

 

更多《计算机视觉与图形学》知识,可关注下方公众号:

c++小游戏(打怪) cout<<"小怪物还剩"<<(*g_shengmingli)-(*tongji1)<<"点生命"<<endl;cout<<"大怪物还剩"<<(*g_shengmingli)-(*tongji1)<<"点生命"<<endl;cout<<"你还剩"<<shengmingli-(*tongji2)<<"点生命"<<endl;cout<<"你还剩"<<shengmingli-(*tongji2)<<"点生命"<<endl;\n有一家药店"<<endl;cout<<"现在是"<<"第"<<*huihe<<"回合! 阅读详情

相关推荐

c++实现打怪小游戏

c++是如何实现打怪小游戏的呢?代码很简陋,请谅解!

zhangbeibei666的博客 1128

超好玩C++打怪(打作业)游戏,把各种作业设置成怪

超好玩C++打怪(打作业)游戏,把各种作业设置成怪

yaosichengalpha的博客 1266

打怪C++代码

在一款电脑游戏中,你需要打败n只怪物(从1到n编号)。 为了打败第i只怪物,你需要消耗d[i]点生命值,但怪物死后会掉落血药,使你恢复a[i]点生命值。任何时候你的生命值都不能降到0(或0以下)。 请问是否存在一种打怪顺序,使得你可以打完这n只怪物而不死掉

weixin_61058873的博客 3807

刷野打怪上王者·C++篇·第27期·总结

刷野打怪上王者·C++篇·第26期·时间函数&amp;预处理 刷野打怪上王者·C++篇·第25期·动态内存处理 刷野打怪上王者·C++篇·第24期·信号处理 刷野打怪上王者·C++篇·第23期·标准流输入输出 刷野打怪上王者·C++篇·第22期·多线程处理 刷野打怪上王者·C++篇·第21期·模板处理 刷野打怪上王者·C++篇·第20期·命名空间 刷野打怪上王者·C++篇·第19期·...

CSS360的博客 1617

c++打怪小游戏(求大神指点)

#include &lt;bits/stdc++.h&gt; #include &lt;windows.h&gt; //Sleep() using namespace std; int gk=0; struct i{ int hp=120,mhp=120; string name; int hurt=70; int gold=100; int fy=20; }my; struct npc1{ int hp=200,h=30; st...

zeenesameday的博客 554

C++ 打怪游戏 小镇5.3.0--怪物狂欢季

小镇的防线快要撑不住了!! 敌方似乎将一种新型药剂注射进了了部分怪!! 你也显得有点力不从心了... 怎么办?!?!?! 你将目光看向了工作中的工匠

chg__262523的博客 3105

c++小游戏

#include &lt;iostream&gt; using namespace std; double shengmingli=2000;//定义主角初始生命力 int gongjili=150;//定义主角初始攻击力 int fangyuli=200;//定义主角初始防御力 int money=20;//定义主角初始金钱数量 bool guoguan;//定义是...

anshuo0835的博客 427

用C++语言写游戏——打飞机

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

跳动的量子 8万+

从零开始写C++打怪小游戏(1)

手把手教你写游戏(1)

yanxinchenji的博客 2085

升级打怪小游戏代码

升级打怪小游戏C++代码。

C++RPG小游戏代码

C++RPG小游戏代码

打怪类小游戏

打怪类小游戏。自己编的第一个十分简陋的小游戏。 如果有朋友第一次编小游戏,可以下载一下。 希望对大家有所帮助。

用c++编的小游戏!(dos窗口)

本人经过自己努力!编好了游戏一个小小游戏!不过没有漂亮界面支持!阅读性很强的哦!新手都看的懂的!语句都很简单!

自己写的一个打怪升级的小游戏

自己写的 很简单 基本上学过java的人都可以看懂 有兴趣的可以下来看看

C++游戏(大富翁)

大富翁 C++ 游戏编程 对于许多刚刚入门C++的同学来说很有帮助的,可以参考一下

超简单的打怪游戏

易语言写的模仿打怪游戏,超简单,打了怪物怪物会少血,但如果不一次打死的话,怪物的血会自动恢复

C++ 控制台 升级打怪小游戏

小游戏介绍:输入“勇士”生日,判断“勇士”星座,给出“勇士”的初始化属性(体力、智力和敏捷)。菜单栏有2个功能"查看状态”和“任务选择”。“查看状态”可以显示“勇士”的基本属性。“任务选择”可以选择“勇士”要做的任务,提升属性。 部分代码:(需要完整代码可在评论下发邮箱) int main() { //1.取名 /*boss名字*/ string value_boss_name; ...

酷小川的博客 8809

ROS2通过ros2_socketcan实现CAN总线高效数据过滤与多节点通信

本文详细解析了ROS2通过ros2_socketcan实现CAN总线高效数据过滤与多节点通信的技术方案。文章重点探讨了CanFilterList的工作原理、多过滤器组合使用及动态配置策略,有效解决了工业应用中CAN总线数据过载问题,显著降低了CPU负载并提升了系统实时性。

n4o5p6q7r的博客 215
上一篇: 刷野打怪上王者·C++篇·第8期·运算操作
下一篇: 刷野打怪上王者·C++篇·第10期·数组、结构体
元宇宙MetaAI
博客等级 码龄10年 331粉丝 333原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值