2016-12-12 10 views
-3

おはようございます。私はプログラミング全体にはかなり新しいです。しかし、私は何かを学ぶ努力の中で、私はAndroidスタジオにRPG Diceローリングアプリを構築してきました。私の質問は、複雑なDice Rollerを作成するにはどうしたらいいですか?ユーザーは手動でedittextフィールドを使ってロールしたいものを入力します。複合ダイス電卓

すなわち。 3d20 + 2D6 + 2 =

+0

私の問題は、どこから始めるべきかにあります。今、私はシンプルロールのそれぞれにr.nextint(#)を使った簡単なダイスローラーを持っています。私はまた、私のクラスのそれぞれが断片を拡張するように、下部バーのナビゲーションを実装しました。私はedittextフィールドを使ってどのように動作させたいのか知っていますが、どこで起動するのかはわかりません。私は出発地点を持つと、自分のニーズに合うようにコードを調整することができます。 –

答えて

1

あなたは "+" の解析

break the pieces of the user input down into tokens.

する必要があります。

1)3d20
2)2D6
3)2

String[] tokens = "3d20+2d6+2".split("+"); 

次に、それらのトークンのそれぞれをより多くの断片に分割する必要がありますs。 "D" に

解析:

1A)3
1B)20

2A)2
2B)6

3)2

for (int x=0; x<tokens.length; x++) { 
    String[] roll = tokens[x].split("d"); 
    // do something with roll[0] 
    // and roll[1] if roll.length > 1 
}