2.必备知识点-随机数
2.1 知识点
生成随机数
为了生成随机数,我们可以按照以下步骤操作:
- 引入
CustomConsole
文件。 - 在文件中添加引用
#include "CustomConsole.h"
。 - 使用
getRandom()
函数生成随机数。
示例代码:
int i = getRandom(10, 20);
cout << i << endl;
for (int i = 0; i < 10; i++)
{
cout << getRandom(0, 100) << endl;
}
在这个示例中,getRandom(10, 20)
会生成一个在 10 到 20 之间的随机数,而 getRandom(0, 100)
会生成一个在 0 到 100 之间的随机数,并在循环中打印出 10 个随机数。
2.2 知识点代码
必备知识点2_随机数.cpp
#include <iostream>
#include "CustomConsole.h"
using namespace std;
int main()
{
std::cout << "随机数!\n";
#pragma region 知识点 生成随机数
//1.引入韬老狮写的文件CustomConsole
//2.添加文件引用#include "CustomConsole.h"
//3.使用方法生成随机数
int i = getRandom(10, 20);
cout << i << endl;
for (int i = 0; i < 10; i++)
{
cout << getRandom(0, 100) << endl;
}
#pragma endregion
}
2.3 练习题
韬老狮打小怪兽
韬老狮攻击力为8~12之间的一个值
小怪兽防御为10,血量为20
在控制台中通过打印信息表现韬老狮打小怪兽的过程
描述小怪兽的掉血情况
伤害计算公式:攻击力小于防御力时,减血为0,否则减血攻击力和防御力的差值
知识点:循环、随机数等等
声明各个对象的相关属性
int teacherTangAtk = 0; //韬老狮的攻击力 默认为0
int monsterDef = 10; //小怪兽防御为10
int monsterHp = 20; //小怪兽血量为20
构建死循环随机出攻击力,检查扣血
//死循环
while (true)
{
//进行每一次攻击
//每次攻击之前 对韬老狮的攻击力 进行随机
teacherTangAtk = getRandom(8, 12);
//如果攻击力大于怪物的防御力
if (teacherTangAtk > monsterDef)
{
//减血逻辑
//用 怪物的血量 - 攻击力和防御力的差值
monsterHp -= teacherTangAtk - monsterDef;
cout << "韬老狮本次攻击力为" << teacherTangAtk << ",造成了" <<
teacherTangAtk - monsterDef << "点伤害,怪物当前血量为" << monsterHp << endl;
//怪物血量小于等于0,证明怪物已经死亡 没有必要再进行循环 计算伤害了
if (monsterHp <= 0)
break;
}
else
cout << "韬老狮本次攻击力为" << teacherTangAtk << ",不足以造成伤害" << endl;
cout << "请按任意键继续游戏" << endl;
_getch();
system("cls");
}
cout << "怪物已死亡" << endl;
2.4 练习题代码
必备知识点2_练习题.cpp
#include <iostream>
#include "CustomConsole.h"
#include <conio.h>
using namespace std;
int main()
{
std::cout << "随机数 练习题\n";
#pragma region 练习题
//韬老狮打小怪兽
//韬老狮攻击力为8~12之间的一个值
//
//小怪兽防御为10,血量为20
//
//在控制台中通过打印信息表现韬老狮打小怪兽的过程
//描述小怪兽的掉血情况
//
//伤害计算公式:攻击力小于防御力时,减血为0,否则减血 攻击力和防御力的差值
//
//知识点:循环、随机数等等
//怪物相关属性
int monsterDef = 10;
int monsterHp = 20;
int teacherTangAtk = 0;
//死循环
while (true)
{
//进行每一次攻击
//每次攻击之前 对韬老狮的攻击力 进行随机
teacherTangAtk = getRandom(8, 12);
//如果攻击力大于怪物的防御力
if (teacherTangAtk > monsterDef)
{
//减血逻辑
//用 怪物的血量 - 攻击力和防御力的差值
monsterHp -= teacherTangAtk - monsterDef;
cout << "韬老狮本次攻击力为" << teacherTangAtk << ",造成了" <<
teacherTangAtk - monsterDef << "点伤害,怪物当前血量为" << monsterHp << endl;
//怪物血量小于等于0,证明怪物已经死亡 没有必要再进行循环 计算伤害了
if (monsterHp <= 0)
break;
}
else
cout << "韬老狮本次攻击力为" << teacherTangAtk << ",不足以造成伤害" << endl;
cout << "请按任意键继续游戏" << endl;
_getch();
system("cls");
}
cout << "怪物已死亡" << endl;
#pragma endregion
}
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 785293209@qq.com