生成具有特定需求的随机数

时间:2014-04-09 05:24:32

标签: ios objective-c cocos2d-iphone numbers

我正在开发Cocos 2D游戏。 请提及以下安排。

---------------------------------|
      |       |          |       |
      |       |          |       |
---------------------------------|
      |       |          |       |
      |       |          |       |
---------------------------------|
      |       |          |       |
      |       |          |       |
---------------------------------|



---------------------------------|
      |        |          |      |
      |        |          |      |
---------------------------------|

现在,我需要在Upp​​er Block中的1-99之间生成数字,这样,当用户触摸他们放入下面的数字块时。而且我必须检查数字是否为任何操作组合(即+, - ,*,/)因此它除以10还是没有?

例如,如果用户选择数字,如3,2,7,8那么我内部计算(3 +2 +7 +8 = 20 so 20%10 == 0 so number is divisible by 10 so increase score),同样的东西 - ,*,/。 数学运算符将是相同的,但我必须通过一些代码来决定用户对拖动数字的想法。

所以我的问题是如何在上部块中生成那些最可能支持计算的数字(+, - ,*,/中的任何一个),它们的组合可以得到10的可分割性?

数字不像它们的任何组合(E,+, - ,/),因此它们没有给出模数为0到10的答案。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

您可以尝试一种效率低下的算法。反复生成数字,然后进行测试以确定它们是否通过了您的病情

do
{
   a = random();
   b = random();
   c = random();
   d = random();
 } while( !test(a,b,c,d) );

这简化了逻辑。您确实需要确保至少某些组合可以起作用,否则您将获得无限循环。