我有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) 编辑:这次粘贴了正确的代码......
我正在尝试计算一个数字的阶乘.在这个例子中,我输入数字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.
有人可以解释原因吗?