小编Nel*_*ado的帖子

随机化值而不超过值?

我有一些时间思考以下内容,我想制作一个按钮来随机化一些技能的全部价值.问题是我有10分可以分配4种技能,想法是选择不超过10分的随机数.

我曾想过这个

public int startPts = 10, usedPts = 0;
public int skill1 = 0, skill2 = 0, skill3 = 0, skill4 = 0;

public void ButtonRandom(){
   startPts = 10;
   usedPts = 0;

   skill1 = Random.Range( 1, 10 );
   usedPts += skill1;

   skill2 = Random.Range( 1, usedPts );
   usedPts += skill2;

   skill3 = Random.Range( 1, usedPts );
   usedPts += skill3;

   skill4 = startPts - usedPts;
   usedPts += skill4;

   startPts = startPts - usedPts;

 }
Run Code Online (Sandbox Code Playgroud)

我也尝试了几种条件和重复方法,但我没有得到理想的结果.因为有时它超过了10个点,所以当我放置条件时,不使用或仅更改前2个值时离开点.

感谢你们.

c# random unity-game-engine

2
推荐指数
1
解决办法
295
查看次数

标签 统计

c# ×1

random ×1

unity-game-engine ×1