我遇到某个代码段的问题,该代码段应该根据预设的难度级别向敌人提供一组随机的项目。我正在使用Bjorne随机函数的修改模板版本。当我使用他的原始版本时,我仍然遇到了问题:

template

T rand_num(const T & low, const T & high)

{

static std::default_random_engine re{};

using Dist = std::uniform_int_distribution;

static Dist uid{};

return uid(re, Dist::param_type{ low,high });

}

当我通过制作一个封装EnemyAI的{​​{1}}对象并将难度设置为1来测试该部分时,它始终将随机数设置为1并始终选择,在这种情况下,生命药水。如果我将第二个OffensiveEntity语句设置为if条件,它将选择该棒。

if (tempRandom == 1)

这个问题的原因是什么?这是输出:

void EnemyAI::Equip()

{

m_offensiveEntity->ClearItems();

std::vector<:shared_ptr>> tempItems;

int tempRandom = 0;

switch (m_difficultyLevel)

{

case 0:

case 1:

{

tempRandom = rand_num(1, 4);

if ((tempRandom == 1) || (tempRandom == 2) || (tempRandom == 3) || (tempRandom == 4))

tempItems.push_back(CreateTempItem("Health Potion : HP", 3, 3,

-10, Result::Effect::nothing));

if (tempRandom == 3)

tempItems.push_back(CreateTempItem("Wooden Stick : DMG", 5, 2, 10, Result::Effect::nothing, 3, 13, Result::Effect::nothing));

break;

}

case 2: ... etc

输入时:

Health Potion : HP name

3 durability

-10 total damage

3 energy cost

0 effect

c语言输出随机数switch,在Switch语句案例中使用随机数相关推荐

  1. c语言输出bool,关于printf:在c中打印bool结果为’false’或’true’的最佳方法?...

    我必须编写一个程序,其中main调用其他函数来测试一系列数字(如果有的话)是否少于一个数字,如果所有系列的数字都在两个限制之间,如果有的话是负数.我的代码返回值为1表示true,0表示false表示, ...

  2. Java中的数组怎么弄随机数_Java – 如何从值数组中创建随机数

    第一种方式: – 您还可以维护所有数字的列表.然后使用Collections.shuffle对列表进行洗牌并获取第一个元素.并删除它. List list = new ArrayList(); lis ...

  3. java中的随机数_Java获取随机数

    随机数在实际中使用很广泛,比如要随即生成一个固定长度的字符串.数字.或者随即生成一个不定长度的数字.或者进行一个模拟的随机选择等等.Java提供了最基本的工具,可以帮助开发者来实现这一切. 一.Jav ...

  4. python生成随机数方法_详解用python生成随机数的几种方法

    今天学习了用python生成仿真数据的一些基本方法和技巧,写成博客和大家分享一下. 本篇博客主要讲解如何从给定参数的的正态分布/均匀分布中生成随机数以及如何以给定概率从数字列表抽取某数字或从区间列表的 ...

  5. (1)数组乱序(3)数组中获取随机数

    (1)数组乱序 created() {// (1)数组乱序let res1 = this.getarrScrambling([1, 2, 3,4,5]);console.log(res1);let a ...

  6. C语言 switch多分支语句实现根据等级划分分数段

    C语言 switch多分支语句实现根据等级划分分数段 这个是简单的switch语句,输入分数来实现不同等级划分不同分数段,在每一个case后加个break,让它运行一次分数划分后跳出这个程序,如果输入 ...

  7. c#语言swith的用法,C# switch 语句 | Microsoft Docs

    switch(C# 参考) 04/09/2019 本文内容 本文介绍 switch 语句. 有关 switch 表达式(在 C# 8.0 中引入)的信息,请参阅 表达式和运算符部分中有关 switch ...

  8. c语言 switch循环语句,C语言入门(四)之switch、循环语句

    switch格式 switch格式: switch (条件表达式) { case 整数: // case可以有一个或多个 语句; break; case 整数: // case可以有一个或多个 语句; ...

  9. c语言用if语句abc输出最大值,C语言基础入门选择结构-if语句(78页)-原创力文档...

    C语言基础入门选择结构-if语句_电脑基础知识_IT/计算机_专业资料.第9单元选择结构-if语句<程序设计基础>北京八维研修学院第1节选择结构导入?... <程序设计基础> ...

最新文章

  1. amp 保留指定位c语言,C语言位运算符学习
  2. 王子朝:一种高效且容错的方法用于协作车辆定位
  3. Tomcat-公布WEB应用
  4. 【Android Studio安装部署系列】十八、Android studio更换APP应用图标
  5. 华为手机EMUI换鸿蒙,华为手机3月全面切换鸿蒙 EMUI 11或为安卓内核绝唱
  6. 第三次握手为什么没有序列号_图解TCP三次握手与四次分手
  7. 从MapReduce的执行来看如何优化MaxCompute(原ODPS) SQL
  8. ssdp安全-攻击和防御
  9. python程序加密_Python简单的加密程序:如何循环Z回到A
  10. Flex的Tree全部展开收缩,ji展开选中单个节点
  11. 为网站添加”网页加载中”特效
  12. 太原理工大学ICPC队介绍(2019版)
  13. 2013年成都现场赛赛后总结
  14. java 模板转PDF(合同)详细讲解
  15. 电力载波通信模块JST-HPLC-N-C在物联网通信领域的应用
  16. Amy-Tabb机器人世界手眼标定(1、环境搭配)
  17. 岳父岳母-寄快递的特殊方式
  18. 【某易易盾JS逆向】滑动验证码分析
  19. W: 校验数字签名时出错。此仓库未被更新,所以仍然使用此前的索引文件。GPG 错误:http://packages.ros.org/ros/ubuntu xenial InRelease: 下列签名无
  20. json的格式是什么?json的作用是什么?json是如何传递数据的?

热门文章

  1. Javascript Array对象 sort()方法,记忆方法,方法扩展
  2. 语句练习题 折纸、阶乘、阶乘求和、范围内条件查找(水仙花数)。
  3. 06:校门外的树【一维数组】
  4. php写好的接口怎么返回数据库,用PHP开发app接口,连接了数据库,调试的时候正常输出,但是转为json格式返回的数据为null...
  5. 妙用Python集合求解啤酒问题(携程2016笔试题)
  6. c++如何打印一维数组首地址_4.1 数组的定义
  7. 数据结构 5分钟带你搞定哈希表(建议收藏)!!!
  8. 设计模式 C++简单工厂模式
  9. ajax响应不显示值,Ajax响应200正常,但显示未能加载响应数据
  10. java的scanner使用步骤