プログラミングの課題として、Visual C# で簡単なサイコロ ゲームを作成する必要があります。このゲームの一部は、値のリストを表示し、値の合計が特定の数を超えているかどうかを確認します。現在、改行で区切られた個々の値を表示するテキストボックスがあり、現在使用していますiPlayer1Total += int.Parse(player1TxtBox.Text);
が、これはテキストボックスの最初の行のみを行うようです。
1334 次
6 に答える
3
改行に沿って文字列を配列に分割します。
String.split でそこにたどり着くはずです。
次に、各値を解析して出来上がり
于 2012-05-08T12:20:41.850 に答える
3
複数行のテキストボックスを使用しているようです。最初に文字列を「\n\r」で分割してから、次のようにします。
string[] strArray =player1TxtBox.Text.Split("\n\r".ToCharArray());
それから
int iPlayer1Total = 0;
foreach (string str in strArray)
{
int temp =0;
int.TryParse(str, out temp);
iPlayer1Total += temp;
}
編集:分割するためのより良いオプションは次のとおりです:
var strArray = player1TxtBox.Text.Split("\r\n".ToCharArray(),StringSplitOptions.RemoveEmptyEntries);
于 2012-05-08T12:21:21.697 に答える
1
テキストを文字列配列に分割する必要があります。MSDN
string[] list = player1TxtBox.Text.Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries);
そして使用する
foreach(string num in list)
iPlayer1Total += int.Parse(num);
于 2012-05-08T12:22:00.637 に答える
0
さいころなので、各値は 1 文字のみであると想定しても安全ですか。
string t = "125 yhsd 7,8+2";
List<int> diceValues=new List<int>();
foreach (char c in t)
{
int o=0;
int.TryParse(c.ToString(),out o);
if (o > 0 && o < 7)
diceValues.Add(o);
}
出力は
ダイス値 1 2 5 2
これをテストしたりコンパイルしたりしていないので、エラーがあるかもしれません
于 2012-05-08T12:37:38.483 に答える
0
MSDN ライブラリはあなたの味方です。TextBox のエントリを確認すると、探しているものが見つかります。
http://msdn.microsoft.com/en-us/library/system.windows.forms.textbox.aspx
ヒント:Lines
プロパティに注意してください。
于 2012-05-08T12:22:12.200 に答える
0
使用する
string[] str = textbox.Text.Split(@"\n\r");
int a=0;
for(int i=0; i< str.Length; i++)
a += int.TryParse(a);
于 2012-05-08T12:22:19.930 に答える