Создать игру "Орел-решка" - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

программа имитирует подбрасывание монеты. спрашивает у пользователя: орел или решка? если угадал, то пользователю добавляет 1 очко, если не угадал-то ком-ру. экран обновляет после каждого розыгрыша очка, игра продолжается до трех очков. По итогам игры на экран выводится результат и предлагается выбор снова играть-нажмите enter, выйти - esc у меня не выдает результат....в чем ошибка???

Решение задачи: «Создать игру "Орел-решка"»

textual
Листинг программы
program zadanie07;
uses crt;
const s:array[0..1] of string[5]=('орел','решка');
var i,f,c: integer;
    b:string;
    ch:char;
 
procedure Game;
begin
 clrscr;
 c:=0;
 f:=0;
 repeat
    clrscr;
    i:=random(2);
    write('ваш счет - ',f,'   ');
    writeln('счет компьютера - ',c);
    write ('Орел или решка?* - '); read(b);
     if b=s[i] then inc(f)
     else inc(c);
 until  (f=3) or (c=3);
 
 if f>c then begin
                   writeln ('вы выйграли');
                   sleep(1000);
             end
 else begin
           writeln ('вы проиграли');
           sleep(1000);
      end;
 writeln ('Хотите сыграть ещё? y/n ->');
 readln(ch);
 ch:=UpCase(ch);
 
  case ch of
      'Y':Game;
      'N':begin writeln('Game Over');Halt end;
 end;
 
end;
    
BEGIN
 Randomize;
 Game;
END.

Объяснение кода листинга программы

  1. Объявление переменных и констант:
    • i, f, c: целочисленные переменные для отслеживания счета игрока и компьютера
    • b: строковая переменная для хранения выбора игрока
    • ch: символьный переменная для хранения ответа игрока на вопрос Хотите сыграть ещё?
    • s: массив строк из двух элементов для представления вариантов выбора игрока
    • Randomize: функция для инициализации генератора случайных чисел
    • Game: процедура для реализации игры Орел-решка
  2. Повторяющийся блок:
    • В начале каждого хода игрока происходит очистка экрана
    • Случайным образом выбирается вариант орел или решка
    • Выводится текущий счет игрока и компьютера
    • Запрашивается выбор игрока
    • Если выбор игрока совпадает с выбранным вариантом, увеличивается счет игрока
    • Если выбор игрока не совпадает с выбранным вариантом, увеличивается счет компьютера
  3. Условие выхода из игры:
    • Игра продолжается до тех пор, пока счет игрока или компьютера не достигнет 3
  4. Вывод результатов игры:
    • Если счет игрока больше, выводится сообщение о победе и задержка в 1 секунду
    • Если счет игрока меньше или равен, выводится сообщение о поражении и задержка в 1 секунду
  5. Запрос на желание сыграть еще раз:
    • После окончания игры запрашивается ответ игрока на вопрос Хотите сыграть ещё?
    • Ответ игрока преобразуется в верхний регистр для упрощения проверки в дальнейшем
  6. Условие для рекурсивного вызова процедуры Game:
    • Если игрок ответил Y, процедура Game вызывается снова
    • Если игрок ответил N, выводится сообщение Game Over и выполнение программы прекращается
  7. Вызов процедуры Game сразу после инициализации генератора случайных чисел

Оцени полезность:

8   голосов , оценка 4 из 5
Похожие ответы