Написать игру "Кто хочет стать миллионерам" - Pascal ABC
Формулировка задачи:
помогите написать прогу на зачёт!!!! Игру кто хочет стать миллианером на pascal abc. Заранее спс!!!!
Решение задачи: «Написать игру "Кто хочет стать миллионерам"»
textual
Листинг программы
program game_millioner; type mas = record vopr: string[200]; vo1: string[50]; vo2: string[50]; vo3: string[50]; vo4: string[50]; vin: integer; protv: integer; end; var f1: file of mas; s: mas; global: string[4]; procedure input; var i: integer; begin rewrite(f1); readln(); for i := 1 to 15 do begin write('Введите вопрос № '); write(i); write(': '); readln(s.vopr); write('1 Вариант ответа: '); readln(s.vo1); write('2 Вариант ответа: '); readln(s.vo2); write('3 Вариант ответа: '); readln(s.vo3); write('4 Вариант ответа: '); readln(s.vo4); write('Введите № правильного ответа: '); readln(s.protv); write('Введите сумму выйгрыша за правильный ответ: '); readln(s.vin); write(f1, s); write('Вопрос № ', i, ' внесен в базу!'); end; writeln(); close(f1); end; procedure game; var i: integer; j: integer; k: integer; begin reset(f1); for i := 1 to 15 do begin read(f1, s); write('Вопрос №', i, ': '); writeln(s.vopr, ': '); writeln('Введите 1, если вы считаете, что правильный вариант ответа: ', s.vo1); writeln('Введите 2, если вы считаете, что правильный вариант ответа: ', s.vo2); writeln('Введите 3, если вы считаете, что правильный вариант ответа: ', s.vo3); writeln('Введите 4, если вы считаете, что правильный вариант ответа: ', s.vo4); j := s.protv; read(k); writeln('Ответ принят'); // sleep(2000); if j = k then begin writeln('Вы угадали, это правильный ответ. Ваш выйгрыш составляет:', s.vin); writeln('Следующий вопрос: '); end else begin writeln('Вы проиграли, попробуйте еще раз'); EXIT; end; end; close(f1); end; procedure help; begin writeln('Список команд:'); writeln('1 - Ввести все вопросы заного!'); writeln('2 - Начать играть, если база с вопросами уже существует'); writeln('exit - Завершить работу с базой данных'); end; begin assign(f1, 'f:/file1.txt'); help; while true do begin readln(global); if global = '1' then begin input; help; end; if global = '2' then begin game; help; end; if global = 'exit' then begin EXIT; end; end; end.
Объяснение кода листинга программы
- Тип данных, используемый для представления вопроса и ответов в базе данных - это запись (record) с полями: вопрос (vopr), варианты ответа 1, 2, 3, 4 (vo1, vo2, vo3, vo4), номер правильного ответа (protv), сумма выигрыша за правильный ответ (vin).
- Процедура input используется для ввода данных о вопросах и ответах в базу данных. Она считывает введенные пользователем данные и записывает их в файл.
- Процедура game используется для игры в викторину. Она считывает данные из базы данных, выводит вопрос и варианты ответа, считывает ответ пользователя, сравнивает его с правильным ответом и выводит сообщение о выигрыше или проигрыше.
- Процедура help выводит список команд, которые можно использовать в игре.
- Основная часть программы содержит цикл, который продолжается до тех пор, пока пользователь не введет команду
exit
. В зависимости от введенной команды программа выполняет соответствующие действия.