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