【问题标题】:Increment value in cycles循环增量值
【发布时间】:2012-11-27 12:35:34
【问题描述】:

我正在增加循环限制中的给定值,比如 6。我很好奇我们如何才能使这段代码更短。

function Cycle_Value(inc_value:Number = 5, times:Number = 3):Number
{
    var return_value:Number = inc_value;        

    while(times >= 1)
    {
       if(inc_value < 6)
       {
          inc_value++;
          return_value = inc_value;
       }
       else if(inc_value == 6)
       {
          return_value = 1;
          inc_value = 1;
       }
       else
          trace(inc_value+" is out of bounds");

        times--;
    }
    return return_value;
}

Sample Output: Cycle_Value(5,2) = 1, Cycle_Value(6,10) = 4

【问题讨论】:

  • 它是动作脚本。 Muhammad 现在已经删除了 C++ 标签。
  • Miltiadis Kokkonidis Gr8公式,我整理了它的减量公式:return (inc_value + (cycle_limit-1) - times) % cycle_limit + 1;

标签: loops actionscript increment


【解决方案1】:

试试这个:

function Cycle_Value(inc_value:Number = 5, times:Number = 3):Number
{
   return (inc_value -1 + times) % 6 + 1; 
}

您可以在以下位置找到有关模运算符的更多信息:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/operators.html#modulo

注意 1:如果您愿意使用 0 .. 5 而不是 1 .. 6 范围内的数字,您可以简单地使用以下表达式

(inc_value + times) % 6

注 2:就我个人而言,我会使用不同的名称,例如value 而不是 inc_value 和 inc 而不是 times。

【讨论】:

    猜你喜欢
    • 2023-02-10
    • 1970-01-01
    • 2014-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多