2016-12-12 5 views
-3

Добрый день. Я довольно новичок во всем программировании. Однако, чтобы научиться чему-то, я создавал приложение для RPG Dice для Android на Android. Мой вопрос заключается в том, как я могу создать сложный Dice Roller, где пользователь вручную вводит то, что они хотят катить через поле edittext.Комплексный калькулятор кубиков

Т.е. 3d20 + 2d6 + 2 =

+0

Мои проблемы заключаются в том, чтобы даже начинать. Прямо сейчас у меня есть простой Dice Roller с использованием 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 
}