如何将位置映射到网格并返回?

所以我有一个空格说int(从0到990)。我想将其中的所有点映射到30个项目网格并返回。这是我想到的。


using System;


public class Program

{

    public static int MapToGrid(int pos = 123)

    {

        var xfactor = 990 / 29;

        return pos / xfactor;

    }


    public static float MapToSpace(int idx = 10)

    {

        var xfactor = 990 / 30;

        return (float)(idx * xfactor) + xfactor * 0.5f;

    }


    public static void Main()

    {

        Console.WriteLine((990 / 30).ToString());


        Console.WriteLine(MapToGrid(990).ToString());

        Console.WriteLine(MapToGrid(0).ToString());

        Console.WriteLine(MapToGrid(34).ToString());


        Console.WriteLine(MapToSpace(1).ToString());

        Console.WriteLine(MapToSpace(0).ToString());

        Console.WriteLine(MapToSpace(29).ToString());

    }

}

结果似乎是正确的,但我不能只用那个数字29和30魔术数字来表示……任何人都可以解释如何将位置映射到网格和网格上吗?


芜湖不芜
浏览 167回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP