2012-08-09 77 views
0

我决定做一个Windows Phone 7的PS3奖杯钙app..the点故障是继PS3奖杯计算器

  • 铜牌,奖杯是值得:15分
  • 银色奖杯是值得:30分
  • 金奖杯是值得:90分
  • 白金奖杯是值得:180点

每个级别击穿是

  • 2级是在200点
  • 等级3是在600点
  • 等级4在1200点
  • 等级5是在2400点
  • 等级6是在4000点

之后是每个级别2000级上升到12级16000点 在级别13上达到24000,每级上升8000。

我能够确定水平,直到12级...我有问题确定水平,如果> 16000点...可以解释我的逻辑来确定水平点> 16000? 12级后的等级上限是一个常数8000 ....

+4

发布代码不工作,我们可以帮助你。 – Nate 2012-08-09 17:33:13

+0

这个问题有点离题。你应该问在程序员或数学网站... – madd0 2012-08-10 14:53:07

回答

0

如果我理解正确的,它会像

int levelCap = (8000 * (level % 12)) + 16000; 

请注意,如果你是12级以上这种逻辑只会工作

+0

我想找到关卡...所以如果点是32,000,我将如何找到关卡? – 2012-08-10 03:30:32

0

这是一个非常嵌套的循环,所以如果这些点只对第2级足够的话,它会检查第3级,并且当它将其视为假时,它会转移整个事物。

int const level = 1; 
int const level2 = 200; 
int const level6 = 4000; 
int const level12 = 16000; 

if (points >= level2) 
    level = 2; 
    if (points >= 3*level2) 
     level = 3; 
     if (points >= 6*level2) 
      level = 4; 
      if (points >= 12*level2) 
       level = 5; 
       if ((points >= level6) && (points < level12)) 
        // because you're dividing integer by integer, 
        // 39999/2000 should = 1, correct? 
        level = ((points - level6)/2000) + 6; 
       else if (points >= level12) 
        level = ((points - level12/8000) + 12; 
+0

@wishper为什么你不想要level2 6和12作为常量?他们不是动态的... – 2012-08-10 14:54:13

+0

Hummmm ..很好奇。我不想更改代码,只需重新格式化它。我不明白如何以及为什么'const'已被删除。你说得对,他们应该是常数。 – wishper 2012-08-13 14:06:22