我怎样才能实现一个百分比的机会来执行某些操作?

假设有一个X%的几率可以让角色射击一个目标或者其他一些动作。 如何确定是否应采取行动(如何实现百分比机会)?

一种方法是,采用一个伪随机生成器,让它产生一个0到1之间的浮点数。然后你将它乘以100进入0到100的范围。如果这个最终值小于在这个例子中,坦克会击中目标。 这是一些伪代码,它可能是这样的:

// chance of tank, hitting the target float chance = 70.0f; // first, generate a pseudo random float in the range of 0 to 1 float n = random(); // multiply n with 100 to get into the range of 0 to 100 n = n * 100; // if n is below chance, the tank will hit the target if(n < chance) { // do something here } 

编辑:从int更改为浮动,由于Anko提到的事实。