Advertisement
OKyJIucT

Untitled

Dec 19th, 2019
165
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // спишок шагов в игре
  2. // https://learn.javascript.ru/array массивы
  3. // https://learn.javascript.ru/object объекты
  4. let steps = [
  5.     {
  6.         text: 'Вы очнулись на острове. Ваши действия? 1 - осмотреться,  2 - попытаться заснуть', // текст с вариантами ответа
  7.         final: false, // если true, значит это был финальный шаг, игрок получает уведомление о победе
  8.     },
  9.     {
  10.         text: 'Вы нашли сундук. Ваши действия? 1 - открыть,  2 - убежать', // текст с вариантами ответа
  11.         final: false, // если true, значит это был финальный шаг, игрок получает уведомление о победе
  12.     },
  13.     {
  14.         text: 'В сундуке был портал. Вы победили!', // текст с вариантами ответа
  15.         final: true, // если true, значит это был финальный шаг, игрок получает уведомление о победе
  16.     },
  17. ];
  18.  
  19. let answer = '';
  20.  
  21. // перебираем все шаги по очереди
  22.  
  23. // https://learn.javascript.ru/array-iteration#every-some
  24. steps.some(function (step, index, _arr) {
  25.  
  26.     // если это последний шаг - выводим alert, а не prompt - ответ нам не требуется
  27.     if (step.final === true) {
  28.         alert(step.text);
  29.     } else { // иначе проходимся по всем шагам по очереди до финального
  30.  
  31.         answer = prompt(step.text); // задаем вопрос, получаем ответ
  32.  
  33.         // если ответ не 1 - идем по негативному пути, прекращаем игру и выводим сообщение о проигрыше
  34.         // === это строгое равно, !== это строгое не равно
  35.         if (answer !== '1') {
  36.             alert('Вы проиграли, попробуйте заново');
  37.             return true; // http://sajanmaharjan.com.np/2016/08/12/javascript-break-foreac
  38.         }
  39.        
  40.         // если же ответ 1 - идем к следующему шагу
  41.     }
  42. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement