如果字符串数据数组不同,则递增位置C#(Unity)

我需要有关我正在制作的记分牌的帮助。这是我想要达到的记分牌:

http://img2.mukewang.com/60a9bb4500015c4910200165.jpg

我实际上有四个表,每个表都有自己的计分板,但是仅针对表1的此问题才是我所需要的,因此这是我如何创建这种计分板。


现在,到目前为止,我已经做到了:


if (gametable_no == 1)

{

    for (int i = 0; i < tzPlayInfo.Instance.bc_gametable_history_list.Count; i++)

    {

        newString[0] += tzPlayInfo.Instance.bc_gametable_history_list[i].r;

        newString[0] += ",";

    }

    string[] groupedString = newString[0].Split(',');


    foreach (string allchars in groupedString)

    {

        int x = 0;

        int y = 0;


        GameObject o = Instantiate(prefab_big_road[0]) as GameObject;

        o.transform.SetParent(pos_big_road[0]);

        o.transform.localScale = Vector3.one;

        o.transform.localPosition = new Vector3(2.0f, -5.0f, 0f);

        o.transform.localPosition = new Vector3(o.transform.localPosition.x + x,

            o.transform.localPosition.y + y, o.transform.localPosition.z);


        if (allchars.Contains(playerwinnopairboth))

        {

            o.GetComponent<UISprite>().spriteName = "layout_player_bigline-01";

            NGUITools.SetActive(o, true);

        }


        if (allchars.Contains(bankerwinnopairboth))

        {

            o.GetComponent<UISprite>().spriteName = "layout_banker_bigline-01";

            NGUITools.SetActive(o, true);

        }


        if (allchars.Contains(tienopairboth))

        {

            o.GetComponent<UISprite>().spriteName = "layout_tie_bigline-01";

            NGUITools.SetActive(o, true);

        }

    }

}

这段代码只能这样实现:

http://img1.mukewang.com/60a9bb6e0001d98508320332.jpg

输出是随机生成的,例如,我有以下输出数据:

Gametable 1 history : P  ,P  ,P  ,B   ,B P,P P,TBP

我需要知道在角色改变gametable 1 history data

例如:输出必须是这样的

http://img.mukewang.com/60a9bb7b0001616003610305.jpg

如果该值没有改变,P  ,P  ,P则位置将仅在y轴上递增;然后,如果下一个值有所不同,B   ,则它将移至x轴。

有没有一种方法可以检测字符串数组中的字符是否与另一个值不同?


慕勒3428872
浏览 195回答 2
2回答

慕斯709654

缺少以下条件:if (table.GetLength(0) < xIndex)            {                break;            }            if (previousValue.Equals(newPreviousValue) && yIndex < table.GetLength(1))            {                yIndex += 1;                table[xIndex, yIndex] = previousValue;            }            else            {                xIndex += 1;                yIndex = 0;                table[xIndex, yIndex] = previousValue;            }            newPreviousValue = previousValue;所以不是table.GetLength(1) < yIndex它必须是yIndex < table.GetLength(1)。
打开App,查看更多内容
随时随地看视频慕课网APP