Нужна помощь с кодом!

Всем привет! Я начинающий программист и мне нужна помощь! Можете пожалуйста рассмотреть почему у меня в программе не работает русская рулетка? Не судите строго. Заранее спасибо!

<meta charset="utf-8">
<script>
var name = prompt("Имя:");
alert("Привет," + name);
var menu = true;
while (menu==true){
var stage = prompt("Выберите функцию по числу: 0 - возведение числа в квадрат, 1 - калькулятор, 2 - вклад в банк, 3 - русская рулетка");
var square = false
if (stage == 0){
    square = true
    while (square==true){
    var x = prompt("Введите любое число,чтобы возвести его в квадрат или напишите exit для выхода");
    if (x=="exit"){
        break;
        menu =true
        square = false
    } else{
    alert ("Ваше число:" + x*x);
    }}}
    var Calculator = false
    if (stage == 1){
        Calculator = true
    while (Calculator == true){ 
        var y = prompt("Выберите функцию калькулятора,которую хотите использовать: 0 - умножение, 1 - деление, 2 - сложение, 3 - вычитание, 4 - выход");
        if (y==4){
            break
            menu=true
            calculator = false
        }
            var z = prompt("Введите первое число:");
            var j = prompt("Введите второе число:");
            var z = parseInt(z);
            var j = parseInt(j);
            if (y==0) 
                alert("Ваше число: " + z*j);
            if (y==1)
                alert("Ваше число: " + z/j);
            if (y==2)
                alert("Ваше число: " + (z+j));
            if (y==3)
                alert("Ваше число: " + (z-j));
    }}
    var bank = false
    if (stage==2){
        bank = true
    };
        while(bank==true){
            var vklad =parseInt(prompt("Введите сумму вклада"));
            var stavka =parseInt(prompt("Введите годовую ставку"));
            var srok =parseInt(prompt("Введите срок вклада"));
           
            for (var i=1; i<=srok; i++){
                vklad = vklad + vklad * stavka / 100;
                alert("Сумма на счету: " + Math.floor(vklad));
                }
            break;
            menu=true;
            bank=false
            }
    var DeathRoulette=false
    var RouletteRounds = 0
        function DeathRouletteF(){
                let min = 1;
                let max = 6;
                let bulletRandom = Math.floor(Math.random( ) * (max - min + 1)) + min
                let bullet = Math.floor(Math.random( ) * (max - min + 1)) + min
                if (bullet != bulletRandom){
                    RouletteRounds++
                    Roulette = prompt("Поздравляю! Вы выжили! Чтобы продолжить игру введите: "/продолжить/",чтобы закончить игру введите:"/конец/"")
                } else{
                    alert("Вы потерпели поражение! Вы выжили раундов: " + RoulleteRounds);
                    alert("Игра окончена!");
                    DeathRoulette = false;
                    menu = true;
                    RouletteRounds=0  
                    }
                return Roulette;
    }}
    if (stage==3){
        DeathRoulette=true
        menu=false
    if(DeathRoulette==true){
        var Roulette = prompt("Вы выбрали русскую рулетку. Для того чтобы начать введите:"/начать/"");
        if (Roulette =="начать"){
            DeathRouletteF()
            }
            if (Roulette=="продолжить"){
                while (RouletteRounds!=5){
                    DeathRouletteF
                }
            }
            if (Roulette=="конец"){
                alert("Вы выжили раундов: " +RouletteRounds);
                DeathRoulette = false;
                menu = true;
                RouletteRounds = 0;
                }
            }}
        
    
    

    

</script>

А как это проявляется?
В консоли есть ошибки?
https://learn.javascript.ru/devtools
https://learn.javascript.ru/debugging-chrome

В консоли ошибок нет, при написании тройки в меню возвращает в меню

там структура нарушена, лишняя закрывающая фигурная скобка.
Ну и вообще, код ужасный. Форматирования нет, структуры - нет. Множество лишних строк кода, множество лишних переменных и т.д.
я уже не говорю о том, что alert и prompt явно не самые современные и удобные элементы интерфейса :smiley:

Я понимаю, я буквально только начал изучать программирование. Смотрю уроки от GeekBrains. Буду знать. Спасибо за помощь!

вот я чуть-чуть “причесал” Ваш код.

<meta charset="utf-8">
<script>
var RouletteRounds=0;
function DeathRouletteF(){
    let min = 1;
    let max = 6;
    let bulletRandom = Math.floor(Math.random( ) * (max - min + 1)) + min;
    let bullet = Math.floor(Math.random( ) * (max - min + 1)) + min;
    if (bullet != bulletRandom){
        RouletteRounds++;
        Roulette = prompt("Поздравляю! Вы выжили! Раунд "+RouletteRounds+". Чтобы закончить игру введите:\"конец\"");
    } else{
        alert("Вы потерпели поражение! Вы выжили раундов: " + RoulleteRounds);
        alert("Игра окончена!");
    }
    return Roulette;
}
var name = prompt("Имя:");
alert("Привет," + name);
var menu=true;
while (menu){
var stage=+prompt("Выберите функцию по числу: 0 - возведение числа в квадрат, 1 - калькулятор, 2 - вклад в банк, 3 - русская рулетка, 4 - выход");
    if (stage == 0){
        var square = true;
        while (square){
        var x = prompt("Введите любое число,чтобы возвести его в квадрат или напишите exit для выхода");
        if (x=="exit"){
            break;
            menu =true
            square = false
        } else{
            alert ("Ваше число:" + x*x);
        }}
    }
    if (stage == 1){
        var Calculator=true;
        while (Calculator){ 
        var y = +prompt("Выберите функцию калькулятора,которую хотите использовать: 0 - умножение, 1 - деление, 2 - сложение, 3 - вычитание, 4 - выход");
        if (y==4){
            break;
            calculator=false;
        }
        var z = +prompt("Введите первое число:");
        var j = +prompt("Введите второе число:");
        if (y==0) 
                alert("Ваше число: " + z*j);
            if (y==1)
                alert("Ваше число: " + z/j);
            if (y==2)
                alert("Ваше число: " + (z+j));
            if (y==3)
                alert("Ваше число: " + (z-j));
        }
    }
    if (stage==2){
            var vklad = parseInt(prompt("Введите сумму вклада"));
            var stavka = parseInt(prompt("Введите годовую ставку"));
            var srok = parseInt(prompt("Введите срок вклада в годах"));
           
            for (var i=1; i<=srok; i++){
                vklad = vklad + vklad * stavka / 100;
                alert("Сумма на счету: " + Math.floor(vklad));
                }
    }
    if (stage==3){
        RouletteRounds = 0;
        var Roulette = prompt("Вы выбрали русскую рулетку. Для того чтобы начать введите:\"начать\"");
        if (Roulette =="начать"){
                do {
                    Roulette = DeathRouletteF();
                } while ((Roulette!=="конец")&&(RouletteRounds<5))
                alert("Вы выжили раундов: " +RouletteRounds);
        }
        else
            alert('Вы отказались рискнуть и сыграть в русскую рулетку!');
    }
    if (stage==4){
        menu=false;
    }
}
</script>

Еще

Строки после break никогда не выполнятся (видимо надо было его в конце?).

Опечатка.

И тут.


Полезная штука в современном JS помогающая избежать некоторые ошибки — const.
Хорошая статья, особенно ближе к концу: Переменные
И эта тоже: Советы по стилю кода


Лучше использовать === вместо ==, иначе например пустая строка будет равна нулю.


Советую использовать IDE или редакторы кода, типа продуктов JetBrains (для студентов вузов бесплатно) или VS Code, чтобы получать подсказки о подобных проблемах и помощь в форматировании.

<meta charset="utf-8">
<script>
let RouletteRounds = 0
let Roulette = ''

function DeathRouletteF () {
    let min = 1
    let max = 6
    let bulletRandom = Math.floor(Math.random() * (max - min + 1)) + min
    let bullet = Math.floor(Math.random() * (max - min + 1)) + min
    if (bullet !== bulletRandom) {
        RouletteRounds++
        Roulette = prompt('Поздравляю! Вы выжили! Раунд ' + RouletteRounds + '. Чтобы закончить игру введите:"конец"')
    } else {
        alert('Вы потерпели поражение! Вы выжили раундов: ' + RouletteRounds)
        alert('Игра окончена!')
    }
    return Roulette
}

const name = prompt('Имя:')
alert('Привет,' + name)
let menu = true
while (menu) {
    const stage = +prompt('Выберите функцию по числу: 0 - возведение числа в квадрат, 1 - калькулятор, 2 - вклад в банк, 3 - русская рулетка, 4 - выход')
    if (stage === 0) {
        let square = true
        while (square) {
            var x = prompt('Введите любое число,чтобы возвести его в квадрат или напишите exit для выхода')
            if (x === 'exit') {
                menu = true
                square = false
                break
            } else {
                alert('Ваше число:' + x * x)
            }
        }
    }
    if (stage === 1) {
        let calculator = true
        while (calculator) {
            const y = +prompt('Выберите функцию калькулятора,которую хотите использовать: 0 - умножение, 1 - деление, 2 - сложение, 3 - вычитание, 4 - выход')
            if (y === 4) {
                calculator = false
                break
            }
            const z = +prompt('Введите первое число:')
            const j = +prompt('Введите второе число:')
            if (y === 0)
                alert('Ваше число: ' + z * j)
            if (y === 1)
                alert('Ваше число: ' + z / j)
            if (y === 2)
                alert('Ваше число: ' + (z + j))
            if (y === 3)
                alert('Ваше число: ' + (z - j))
        }
    }
    if (stage === 2) {
        let vklad = parseInt(prompt('Введите сумму вклада'))
        const stavka = parseInt(prompt('Введите годовую ставку'))
        const srok = parseInt(prompt('Введите срок вклада в годах'))

        for (let i = 1; i <= srok; i++) {
            vklad = vklad + vklad * stavka / 100
            alert('Сумма на счету: ' + Math.floor(vklad))
        }
    }
    if (stage === 3) {
        RouletteRounds = 0
        Roulette = prompt('Вы выбрали русскую рулетку. Для того чтобы начать введите:"начать"')
        if (Roulette === 'начать') {
            do {
                Roulette = DeathRouletteF()
            } while ((Roulette !== 'конец') && (RouletteRounds < 5))
            alert('Вы выжили раундов: ' + RouletteRounds)
        } else
            alert('Вы отказались рискнуть и сыграть в русскую рулетку!')
    }
    if (stage === 4) {
        menu = false
    }
}
</script>
1 лайк

В вашем варианте почему-то после поражения в рулетке игра продолжается