Как увеличить вводимое значение в поле на определенное число при определенных условиях 10 раз?

Romzesss

Новичок
Регистрация
07.01.2019
Сообщения
3
Благодарностей
0
Баллы
1
Всем здравствуйте.
Сразу говорю, что новичок, поэтому сильно не пинайте)

Объясню вопрос на примере рулетки:

1. Шарик может выпасть в 1, 2, 3 дюжину или зеро.
2. В какую дюжину он падает, ту берем в переменную
3. Через switch ставка делается: если выпала 1 дюжина, то на 1дюжину 1у.е, если 2 то на вторую 1 у.е, если на 3, то на третюю 1у.е, если зеро то возвращаемся на пункт 2.
4. Если ставка выигрывает, то возвращаемся в пункт 2
5. Если ставка проигрывает, то ставим 2у.е на последнюю выпавшую дюжину.

И так 10 раз с увеличением предыдущей ставки в 2 раза.

Если использовать switch для каждой ветки на все возможные вариации, то получится 29524 блока свитч)

Собственно вопрос: возможно ли это как-то зациклить? Если да, то подскажите, пожалуйста, в каком направлении идти.
 

смм24

Client
Регистрация
05.07.2017
Сообщения
76
Благодарностей
10
Баллы
8
Всем здравствуйте.
Сразу говорю, что новичок, поэтому сильно не пинайте)

Объясню вопрос на примере рулетки:

1. Шарик может выпасть в 1, 2, 3 дюжину или зеро.
2. В какую дюжину он падает, ту берем в переменную
3. Через switch ставка делается: если выпала 1 дюжина, то на 1дюжину 1у.е, если 2 то на вторую 1 у.е, если на 3, то на третюю 1у.е, если зеро то возвращаемся на пункт 2.
4. Если ставка выигрывает, то возвращаемся в пункт 2
5. Если ставка проигрывает, то ставим 2у.е на последнюю выпавшую дюжину.

И так 10 раз с увеличением предыдущей ставки в 2 раза.

Если использовать switch для каждой ветки на все возможные вариации, то получится 29524 блока свитч)

Собственно вопрос: возможно ли это как-то зациклить? Если да, то подскажите, пожалуйста, в каком направлении идти.
Я так понимаю на коде все пишется?
 

Meteorburn

Client
Регистрация
23.05.2016
Сообщения
1 448
Благодарностей
564
Баллы
113

смм24

Client
Регистрация
05.07.2017
Сообщения
76
Благодарностей
10
Баллы
8
Код:
//переменные
int tries=10;//попытки
string sharik=string.Empty;//шарик
string ruletka=string.Empty;//механизм определяющий результат
string last_win=string.Empty;//последняя выигравшая дюжина
string act="кидаем_кости";//действие по умолчанию
int bet=1;//начальная ставка

//цикл
do{
    if(act=="делаем_ставку"){
        if(tries>0){
            sharik = Macros.TextProcessing.Spintax("{0|1|2|3}");
            if(sharik!="0")act="проверяем";//если шарик не ноль
            else act="играем";//если шарик ноль   
        }
        else act="end";//выходим из цикла       
    }
    else if(act=="играем"){   
        if(tries==0)break;
        ruletka = Macros.TextProcessing.Spintax("{win|los}");
        if(ruletka=="win"){//если выиграла
            last_win=sharik;//сохраняем результат выигрыша чтобы если че на него поставить
            act="делаем_ставку";
        }
        else{//если проиграла
            if(last_win!=""){
                sharik=last_win;//ставим на последний выигрывший шарик
                bet=bet*2;//умножаем ставку на два
                tries--;//уменьшаем попытку на единицу
            }
            else act="делаем_ставку";
        }
    }
}while(act!="end");//цикл будет выполняться пока act не равен end
 
  • Спасибо
Реакции: Meteorburn

смм24

Client
Регистрация
05.07.2017
Сообщения
76
Благодарностей
10
Баллы
8

смм24

Client
Регистрация
05.07.2017
Сообщения
76
Благодарностей
10
Баллы
8
скопируй код в notepad++ поставь синтаксис c# и будет более менее понятно
 

смм24

Client
Регистрация
05.07.2017
Сообщения
76
Благодарностей
10
Баллы
8
Код:
//переменные
int tries=10;//попытки
string sharik=string.Empty;//шарик
string ruletka=string.Empty;//механизм определяющий результат
string last_win=string.Empty;//последняя выигравшая дюжина
string act="делаем_ставку";//действие по умолчанию
int bet=1;//начальная ставка

//цикл
do{
    if(act=="делаем_ставку"){
        if(tries>0){
            sharik = Macros.TextProcessing.Spintax("{0|1|2|3}");
            if(sharik!="0")act="проверяем";//если шарик не ноль
            else act="играем";//если шарик ноль  
        }
        else act="end";//выходим из цикла      
    }
    else if(act=="играем"){  
        if(tries==0)break;
        ruletka = Macros.TextProcessing.Spintax("{win|los}");
        if(ruletka=="win"){//если выиграла
            last_win=sharik;//сохраняем результат выигрыша чтобы если че на него поставить
            act="делаем_ставку";
        }
        else{//если проиграла
            if(last_win!=""){
                sharik=last_win;//ставим на последний выигрывший шарик
                bet=bet*2;//умножаем ставку на два
                tries--;//уменьшаем попытку на единицу
            }
            else act="делаем_ставку";
        }
    }
}while(act!="end");//цикл будет выполняться пока act не равен end
 

смм24

Client
Регистрация
05.07.2017
Сообщения
76
Благодарностей
10
Баллы
8
исправил, касяк был
 

Romzesss

Новичок
Регистрация
07.01.2019
Сообщения
3
Благодарностей
0
Баллы
1
Большое спасибо! Буду пробовать. Я просто думал можно кубиками это как-то реализовать без использования кода
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)