Написать игру "Кто хочет стать миллионерам" - 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.

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

  1. Тип данных, используемый для представления вопроса и ответов в базе данных - это запись (record) с полями: вопрос (vopr), варианты ответа 1, 2, 3, 4 (vo1, vo2, vo3, vo4), номер правильного ответа (protv), сумма выигрыша за правильный ответ (vin).
  2. Процедура input используется для ввода данных о вопросах и ответах в базу данных. Она считывает введенные пользователем данные и записывает их в файл.
  3. Процедура game используется для игры в викторину. Она считывает данные из базы данных, выводит вопрос и варианты ответа, считывает ответ пользователя, сравнивает его с правильным ответом и выводит сообщение о выигрыше или проигрыше.
  4. Процедура help выводит список команд, которые можно использовать в игре.
  5. Основная часть программы содержит цикл, который продолжается до тех пор, пока пользователь не введет команду exit. В зависимости от введенной команды программа выполняет соответствующие действия.

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

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