使用 C#,如何将变量设置为范围内的随机数? [复制]
Posted
技术标签:
【中文标题】使用 C#,如何将变量设置为范围内的随机数? [复制]【英文标题】:Using C #, how can I set a variable to a random number within a range? [duplicate] 【发布时间】:2016-06-27 21:36:31 【问题描述】:我创建了一个名为 Superhero 的类,并赋予它以下属性: 字符串名称、int Life、int Punch、int Kick 和 int Hyper Punch。
然后在我的主程序内部我创建了一个列表。
static void Main(string[] args)
List<Superhero> listOfHeroes = new List<Superhero>;
Superhero goodGuy = new Superhero();
goodGuy.Name = "Super Man";
goodGuy.Life = 100;
goodGuy.Punch =????
我希望能够在“????”处输入一系列数字是。我的理论是,用户将能够从列表中选择一个英雄,并能够将他用于战斗。当他选择英雄出拳(或踢球或其他)时,会为该属性分配一个设定范围内的随机数。
因此,如果这是一个两人回合制游戏,则在使用属性拳时,会根据拳的价值从对方的生命财产中带走。这是一种可能性还是我做错了?
伪随机是可以的。
顺便说一句,我在新兵训练营的第 4 周...如果这些都没有道理,请严厉地对我大喊大叫,这样我就可以更快地学习哈哈。
【问题讨论】:
int value = Random.Next(min, max-1)
@Plutonix 当我将该代码放入时,我收到一条错误消息“非静态字段、方法或属性 'Random.Next(int,int)' 需要对象引用”这是因为我没有创建 Random 的实例吗?
【参考方案1】:
您需要使用以下方法初始化一个 Random 实例:
Random rand = new Random(DateTime.Now);
那么你可以使用:
int value = rand.Next(min, max-1)
如果您没有 Random 实例的全局初始化,您将始终使用相同的编号:
for (int i = 0; i < 10; i++)
var t = (new Random()).Next(0, 100);
Console.WriteLine(t);
将返回相同的值
【讨论】:
以上是关于使用 C#,如何将变量设置为范围内的随机数? [复制]的主要内容,如果未能解决你的问题,请参考以下文章