示例#1
0
 void makecode()
 {
     autoscript = GetComponent <automaticgenerator>();
     map        = autoscript.map;
 }
示例#2
0
    public string codegenerate(int width)//widthは偶数
    {
        var goal        = new Stack <int>();
        var shougaibutu = new List <int>();

        automatic  = GameObject.Find("mapgenerator");
        script     = automatic.GetComponent <automaticgenerator>();
        int[,] map = script.map;
        if (width == 10)
        {
            code += "1";
        }
        if (width == 16)
        {
            code += "2";
        }
        if (width == 24)
        {
            code += "3";
        }
        string ichigyou = "";

        for (int i = 1; i < width; i++)
        {
            for (int j = 1; j < width; j++)
            {
                if (map[i, j] == 2)
                {
                    goal.Push(i); goal.Push(j); continue;
                }
                if (map[i, j] == 3)
                {
                    shougaibutu.Add(i); shougaibutu.Add(j); continue;
                }
                if (i % 2 == 0 && j % 2 == 1)
                {
                    ichigyou += map[i, j].ToString();
                }
                else if (i % 2 == 1 && j % 2 == 0)
                {
                    ichigyou += map[i, j].ToString();
                }
            }
        }
        code += nisinnsuukara64sinnsuu(ichigyou);
        code += "#";
        for (int i = 0; i < 2; i++)
        {
            int x = goal.Pop();
            int y = goal.Pop();
            y    /= 2; x /= 2;
            code += rokujuuyonnlist[y * 13 + x];
        }
        int size = shougaibutu.Count;

        for (int i = 0; i < size; i += 2)
        {
            code += rokujuuyonnlist[shougaibutu[i] / 2 * 13 + shougaibutu[i + 1] / 2];
        }
        return(code);
    }