1

テキストベースの冒険で使用しているメソッドを作成しました。うまく機能しますが、問題は、必要なときに単語を分割することです \n. 配列内の char 139 の前の最後のスペースの直後に \n する方法を見つける必要があります。これが私のコードです:

    static void RPGWrite(string write)
    {
        char[] writearray = write.ToCharArray();
        int writearraycount = writearray.Count();
        for (int x = 0; x < writearraycount; x++)
        {                
            Console.Write(Convert.ToString(writearray[x]));
            if ((x > 1) && (x % 139 == 0))
                Console.Write("\n");
            System.Threading.Thread.Sleep(30);
        }
    }
4

1 に答える 1

0
    static void RPGWrite(string write)
    {
        int i = 0;
        StringBuilder sb = new StringBuilder();
        while (i < write.Length)
        {
            if(i + 139 < write.Length)
            { 
                string part = write.Substring(i, i + 139);
                int lastSpace = part.LastIndexOf(' ');
                sb.Append(write.Substring(i, i + lastSpace) + System.Environment.NewLine;
                i += lastSpace;
            }
            else
            {
                sb.Append(write.Substring(i));
                break;
            }
        }
        Console.Write(sb.ToString());
    }
于 2013-03-20T00:06:48.347 に答える