Код игры виселица - Turbo Pascal
Формулировка задачи:
нужно составить программу виселицы к слову морковь
слово нужно брать из файла который находится на диске
нужно составить программу виселицы к слову морковь
нужно вывести на экран _ _ _ _ _ _ _
каждая черточка это буква
например морковь-это слово должно хранится в файле на диске
игрок должен нажимать на клавиатуре буквы в случае правильного нажатия на букву, (сколько есть таких букв столько и черточек должны поменяться на нее) черточки должны заменяться буквами, если не правильный ввод то должна рисоваться виселица, допускается 6 ошибок на 6 ошибке должно быть поражение.
как сказала преподаватель "представь что экран это координатная плоскость, с размерами ОХ(0:80) а ОУ(0:25)"
Решение задачи: «Код игры виселица»
textual
Листинг программы
uses crt; var f: text; s: string; i,k: byte; boo: boolean; ch: char; begin gotoxy(38,3); write('_ _ _ _ _ _ _'); gotoxy(0,0); assign(f,'1.txt'); reset(f); read(f,s); close(f); boo:=true; repeat if s='' then begin gotoxy(15,20); writeln('YOU ARE WIN! :)'); exit; end; ch:=readkey; if pos(ch,s)=0 then begin inc(k); case k of 1: begin for i:=1 to 6 do begin gotoxy(10,10+i); writeln('|'); end; end; 2: begin for i:=1 to 6 do begin gotoxy(10+i,10); writeln('_'); end; end; 3: begin gotoxy(16,11); writeln('|'); end; 4: begin gotoxy(16,12); writeln('O'); end; 5: begin gotoxy(15,13); writeln('/|\'); end; 6: begin gotoxy(15,14); writeln('/ \'); gotoxy(15,20); writeln('YOU ARE FAILED'); exit; end; end; end else begin delete(s,pos(ch,s),1); case upCase(ch) of 'М': begin gotoxy(38,3); write('М'); end; 'О': begin if boo then begin gotoxy(40,3); write('О'); boo:=false end else begin gotoxy(46,3); write('О'); end; end; 'Р': begin gotoxy(42,3); write('Р'); end; 'К': begin gotoxy(44,3); write('К'); end; 'В': begin gotoxy(48,3); write('В'); end; 'Ь': begin gotoxy(50,3); write('Ь'); end; end; end; until k>=6; readln; end.
Объяснение кода листинга программы
- Переменная
f
используется для хранения имени файла, который был использован для запуска игры. - Переменная
s
используется для хранения текущего состояния игры, которое представляет собой строку, где каждая буква представляет собой одну из шести возможных букв в слове. - Переменная
i
используется для отслеживания количества уже сыгранных раундов. - Переменная
k
используется для отслеживания текущего состояния игры, которое представляет собой число от 1 до 6, где 1 означает первую букву, 2 - вторую, и так далее. - Переменная
boo
используется для отслеживания того, выиграл ли игрок. Если да, то выводится сообщениеYOU ARE WIN!
и программа завершается. - В начале каждого раунда игра начинается с ввода символа
_
. - Если символ равен пустой строке, это означает, что игрок проиграл, и выводится соответствующее сообщение.
- Если символ не равен пустой строке, он сравнивается со строкой, представляющей текущую букву в слове. Если символы совпадают, то удаляется символ из строки состояния игры.
- Если после шести раундов игрок все еще не проиграл, выводится сообщение
YOU ARE FAILED
и программа завершается. - Если игрок проиграл, выводится соответствующее сообщение и программа завершается.
- Если игрок выиграл, выводится сообщение
YOU ARE WIN!
и программа завершается. - Если игрок проиграл, но затем выиграл, выводится сообщение
YOU ARE FAILED
и программа завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д