2015-05-25 6 views
0

Итак, я пишу основную игру «Бумажные ножницы» в JavaScript. Когда игрок (или компьютер) выигрывает, игра просит игрока, если они хотят снова играть. Когда игрок говорит «да», игра начинается, как обычно. Однако, когда игрок говорит «нет», весь сценарий начинается снова. Я хочу настроить его так, чтобы, когда игроки говорят «нет», сценарий останавливается, и игроки могут просматривать веб-страницу в обычном режиме. Я пробовал поиск в stackoverflow, но когда я пытаюсь сделать какие-либо предложения, сценарий не запускается вообще. Любая помощь?Как остановить выполнение Javascript

EDIT: Чтобы быть ясным, я тестировал это только в Google Chrome.

КОД: --- НАЧАЛО КОДА ---

var mywins = 0 
var compwins = 0 
var x = 'y' 

function intro() { 
    var name = prompt('What is your name?'); 
    alert('Hello, ' + name + '!'); 
    alert('I want to play rock, paper, scissors with you, ' + name + '.'); 
    alert("Let's begin. NOTE: You will not be able to quit out until you click 'Prevent this website from creating additional dialogues.' in Google Chrome. Other browsers, I don't know."); 
    alert("type 's' for scissors, 'r' for rock, and 'p' for paper! The letters need to be lowercase. Typing in any other character will show you the current score. Your score is first, then mine."); 
} 

function MainLoop() { 
    var mywins = 0 
    var compwins = 0 
    while (compwins < 3 || mywins < 3) { 
     var choice = prompt('Your turn!'); 
     var compchoice = Math.floor(Math.random() * 3); 
     if (choice == 'r' && compchoice == 0) { 
      alert("That's a tie!"); 
     } else if (choice == 'r' && compchoice == 1) { 
      alert('I won!'); 
      compwins = compwins + 1 
     } else if (choice == 'r' && compchoice == 2) { 
      alert('You won!'); 
      mywins = mywins + 1 
     } else if (choice == 'p' && compchoice == 0) { 
      alert('You won!'); 
      mywins = mywins + 1 
     } else if (choice == 'p' && compchoice == 1) { 
      alert('Darn! A tie!'); 
     } else if (choice == 'p' && compchoice == 2) { 
      alert('Haha! I picked scissors!'); 
      compwins = compwins + 1 
     } else if (choice == 's' && compchoice == 0) { 
      alert('Oh! So sad! I won that round!') 
      compwins = compwins + 1 
     } else if (choice == 's' && compchoice == 1) { 
      alert('Ugh. I guess you won that round...'); 
      mywins = mywins + 1 
     } else if (choice == 's' && compchoice == 2) { 
      alert('A tie!') 
     } 
     alert(mywins + '-' + compwins); 
     if (mywins == 3 || compwins == 3) { 
      break; 
     } 
    } 
} 

function DisplayWin() { 
    if (compwins == 3) { 
     alert("That's it! Three wins! I won the game! HAHA!"); 
    } else if (mywins == 3) { 
     alert("Crap! you won! Bet you can't beat me TWICE in a row!"); 
    } 
} 

function playagain() { 
    var x = prompt("Play again? (y) or (n)") 
} 
if (x === n) return; 

--- КОНЕЦ КОДА ---

if(x === n) return; часть того, что я пытался от StackOverflow. Правильно ли я использую его?

+2

нормально, но вам нужно показать нам javascript – AmmarCSE

+0

return false; или возвращение; – loli

+0

Положу это в вопросе. @AmmarCSE – nhanley19

ответ

0

Вы просто добавить строку в конец вашего MainLoop() функции и просто break из цикла while если пользователь не хочет продолжать, как это:

if (!confirm("Continue to play?")) { 
     break; 
    } 

Или, в контексте в целом функция:

function MainLoop() { 
    var mywins = 0 
    var compwins = 0 
    while (compwins < 3 || mywins < 3) { 
     var choice = prompt('Your turn!'); 
     var compchoice = Math.floor(Math.random() * 3); 
     if (choice == 'r' && compchoice == 0) { 
      alert("That's a tie!"); 
     } else if (choice == 'r' && compchoice == 1) { 
      alert('I won!'); 
      compwins = compwins + 1 
     } else if (choice == 'r' && compchoice == 2) { 
      alert('You won!'); 
      mywins = mywins + 1 
     } else if (choice == 'p' && compchoice == 0) { 
      alert('You won!'); 
      mywins = mywins + 1 
     } else if (choice == 'p' && compchoice == 1) { 
      alert('Darn! A tie!'); 
     } else if (choice == 'p' && compchoice == 2) { 
      alert('Haha! I picked scissors!'); 
      compwins = compwins + 1 
     } else if (choice == 's' && compchoice == 0) { 
      alert('Oh! So sad! I won that round!') 
      compwins = compwins + 1 
     } else if (choice == 's' && compchoice == 1) { 
      alert('Ugh. I guess you won that round...'); 
      mywins = mywins + 1 
     } else if (choice == 's' && compchoice == 2) { 
      alert('A tie!') 
     } 
     alert(mywins + '-' + compwins); 
     if (mywins == 3 || compwins == 3) { 
      break; 
     } 
     if (!confirm("Continue to play?")) { 
      break; 
     } 
    } 
} 
+0

Как бы это реализовать в моем коде? – nhanley19

+0

@ nhanley19 - Я показал вам, где именно он находится в 'MainLoop()', поэтому я не понимаю, что еще вы спрашиваете. – jfriend00

+0

Я попытался поместить его в мой .js-файл, но он не запустил скрипт. Наверное, я не задавал правильного вопроса! – nhanley19

Смежные вопросы