小编Lee*_*ong的帖子

每次生成随机数,不包括最后一个数字

我有4种颜色。我想让玩家不能连续 2 次使用相同的颜色。当玩家与物体碰撞时,RandomColor()调用 。所以这个函数在游戏过程中被多次调用,有时玩家不会改变他的颜色。

 using UnityEngine;

 public class ColorManager : MonoBehaviour {

     public SpriteRenderer player;
     public string playerColor;

     public Color[] colors = new Color[4];


     private void Awake()
     {
         RandomColor();        
     }

     public void RandomColor()
     {
         int index = Random.Range(0, 4);

         switch (index)
         {
             case 0:
                 player.color = colors[0]; //colors[0] is orange
                 playerColor = "orange";
                 break;

             case 1:
                 player.color = colors[1]; //colors[1] is pink
                 playerColor = "pink";
                 break;

             case 2:
                 player.color = colors[2]; //colors[2] is blue
                 playerColor = "blue";
                 break; …
Run Code Online (Sandbox Code Playgroud)

c# random repeat unity-game-engine

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

使用用户输入计算阶乘 - 控制台应用程序

编辑:这次粘贴了正确的代码......

我正在尝试计算一个数字的阶乘.在这个例子中,我输入数字5.

尝试这种方法,给了我一个巨大的负数:

 static void Main(string[] args)
    {
        int consoleInput = int.Parse(Console.ReadLine());            

        for (int i = 1; i < consoleInput; i++)
        {
            consoleInput = consoleInput * i;
        }

        Console.WriteLine(consoleInput);
    }
Run Code Online (Sandbox Code Playgroud)

输出 -1899959296

然而:

 static void Main(string[] args)
    {
        int consoleInput = int.Parse(Console.ReadLine());
        int result = consoleInput;

        for (int i = 1; i < consoleInput; i++)
        {
            result = result * i;
        }

        Console.WriteLine(result);
    }
Run Code Online (Sandbox Code Playgroud)

输出 120

如果我两次输入5,则第一次输出为-1899959296,第二次输出为120.

有人可以解释原因吗?

c# console-application calculation

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