c# - 关于计算随机颜色

标签 c# xna

我刚开始在学校学习游戏编程,我们正在使用 c#(和 xna。所以现在我们需要制作一个俄罗斯方 block 游戏。我想做的是使用随机数来创建颜色,所以我想知道这是否正确或不:

    public Block RandomColor()
    {
        int r = Random.Next(6);
        if (r == 0)
        {
            return Color.Red;
        }
        else if (r == 1)
        {
            return Color.Orange;
        }
        else if (r == 2)
        {
            return Color.Yellow;
        }
        else if (r == 3)
        {
            return Color.Green;
        }
        else if (r==4)
        {
            return Color.Blue;
        }
        else if (r==5)
        {
            return Color.Indigo;
        }
        else if (r==6)
        {
            return Color.Purple;
        }

我对此很不确定,因为

1) Visual Studio 在这方面没有给出错误

2)但是每次我想写 Color 2 时都会弹出:RandomColor 和 ConsoleColor。我需要 randomColor 而不是 Color 吗?

我测试了是否可以在 Color 之后修改代码。答案是肯定的。那么这是否意味着当我运行代码时颜色不会改变?

第一次使用 stackoverflow,所以不确定我这样做是否正确:)

最佳答案

这是从一组颜色中获取随机颜色的不同方法:

    private Random rnd = new Random();
    private Color[] Colors = new Color[] { Color.Red, Color.Orange, Color.Yellow, Color.Green, Color.Blue, Color.Indigo, Color.Purple };

    public Color RandomColor()
    {
        return Colors[rnd.Next(Colors.Length)];
    }

关于c# - 关于计算随机颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32898189/

相关文章:

c# - 调用 NormalizeWhitespace 方法时如何防止 Lambda block 语句中的新行

c# - 如何在无法初始化时恢复配置设置

c# - 一年内的两个日期

c# - XNA 框架中的计时器

c# - 2D Monogame : Rectangle collision detection, 边特定

c# - XNA 基本画图程序

c# - ASP.NET MVC : Create ValidationMessageFor Dynamically

c# - 限制 SharePoint 计时器作业的执行时间?

silverlight - WP7 : Suppressing XNA touch input when handled by Silverlight?

.net - 如何在运行时检测XNA版本?