"Информатика (в 2 частях)", Павлов Д.И., Полежаева О.А., Коробкова Л.Н. и др./ Под ред. Горячева А.В.
Игра в информатике описывается не только внешним видом игрового поля. Для неё задают цель, правила, участников, события, условия начала и окончания, а также хранят текущее состояние. У каждого персонажа есть собственные сведения: положение, внешний вид, направление движения, состояние и доступные действия. После команд игрока и игровых событий эти данные изменяются. Счёт хранится отдельно и меняется только по понятным правилам, поэтому по информации о состоянии можно определить дальнейший ход игры и её результат.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Игра — организованная последовательность действий и событий, в которой игрок управляет персонажами и стремится достичь цели. Игра включает правила, участников и условия результата. Это определение нужно, чтобы описывать не картинку на экране, а весь управляемый процесс.
Персонаж — объект игры, имеющий внешний вид, положение, состояние и возможные действия. Например, герой может двигаться, собирать предметы и сталкиваться с препятствиями. Отдельные сведения о персонаже нужны, чтобы программа понимала, где он находится и что ему разрешено делать.
Состояние игры — совокупность сведений, описывающих текущий момент игры: положение персонажей, их параметры, счёт и ход событий. После команды игрока эти сведения могут измениться. Понятие состояния помогает в любой момент определить, что уже произошло и что может случиться дальше.
Счёт — числовая информация о результате действий игрока, которая изменяется по установленным правилам. Очки могут начисляться за полезные действия и уменьшаться за ошибки. Отдельное хранение счёта позволяет честно показывать результат и проверять условие победы.
Чтобы описать игру, недостаточно назвать её тему или показать игровое поле. Нужно указать цель, правила, участников, условия начала и окончания, действия игрока и возможные события. Такие сведения нужны потому, что без них невозможно определить, какое действие допустимо, что считается успехом и когда игра должна остановиться.
Для каждого персонажа хранят отдельные сведения о положении, внешнем виде, направлении движения, состоянии и доступных действиях. Два персонажа могут находиться в разных местах, иметь разные параметры и реагировать на одну команду по-разному. Раздельное описание позволяет изменять только нужный объект и не путать его с остальными участниками.
Событие изменяет состояние игры, потому что оно означает произошедшее действие или изменение обстановки. После столкновения персонаж может потерять здоровье, после получения предмета предмет исчезает, а игрок получает очки. Поэтому игра должна не просто заметить событие, а выполнить связанные с ним изменения данных.
Счёт хранят отдельно, поскольку это общий числовой результат, который может зависеть от разных событий. Для каждого изменения задают правило: например, за монету прибавлять 10 очков, а за ошибку отнимать 5. Отдельный счёт удобно отображать игроку и использовать при проверке победы или поражения.
По текущему состоянию игра определяет дальнейшие действия. Она проверяет положение персонажей, выполненные задания, оставшиеся попытки и другие условия, а затем выбирает продолжение, начисление очков или завершение. Такой порядок нужен, чтобы реакция программы соответствовала правилам, а одинаковые события давали предсказуемый результат.
| Объект описания | Какие сведения хранятся | Что может изменить эти сведения | Пример использования |
|---|---|---|---|
| Игра в целом | цель, правила, начало и окончание игры | действия игрока и наступление условий игры | определить, выполнена ли цель |
| Персонаж | имя, внешний вид, положение, направление и состояние | команды игрока и игровые события | переместить персонажа или изменить его вид |
| Игровое событие | условие наступления и результат | действие персонажа или изменение обстановки | обнаружить столкновение |
| Счёт | текущее количество очков и правила его изменения | успешное или ошибочное действие игрока | увеличить или уменьшить число очков |
Сначала определите, к какому объекту относится нужная информация. Затем найдите, какое событие может её изменить и для чего она используется. Такая таблица помогает не забыть ни общие правила, ни данные отдельных персонажей.
При создании игры таблицу можно использовать как план данных и проверок. Если для события не указаны условие или результат, правило игры будет неполным.
Персонаж собирает монеты и должен дойти до финиша. Нужно определить, какие данные следует хранить, чтобы игра могла продолжаться и проверить победу. Важно разделить цель, объекты, их положения и числовой результат.
Ответ: нужны цель и правила игры, данные персонажа, положения монет и финиша, события сбора, счёт и условия победы. По этим сведениям можно обновлять игру после каждого шага.
Нужно описать изменения после столкновения персонажа с монетой. Событие должно привести к последовательному обновлению нескольких сведений, а не только к звуковому или визуальному эффекту. Проверяем, что монета ещё не собрана и её положение совпало с положением персонажа.
Ответ: монета исчезает, состояние персонажа или количество собранных предметов обновляется, а счёт увеличивается. Затем игра продолжает работу или завершает её, если собраны все монеты.
В игре есть монеты, препятствия и ограниченное число попыток. Требуется задать однозначные правила для успешных и ошибочных действий. Каждое правило должно связывать конкретное событие с изменением счёта или другого параметра.
Ответ: счёт меняется только после заранее описанных событий, а число попыток отдельно контролирует возможность продолжения. Такая система позволяет объяснить любое изменение результата.
Смешивают описание игры с описанием одного персонажа и указывают только его внешний вид или положение. Так происходит, когда внимание сосредоточено на главном герое, а общие правила остаются незамеченными. Проверьте себя: названы ли цель, условия начала и окончания, события и действия игрока.
Считают персонажем любой элемент оформления, например фон или декоративный камень. Ошибка возникает потому, что объект на экране принимают за участника игры. Проверьте, может ли объект действовать, перемещаться или участвовать в событиях; если нет, это, скорее всего, оформление.
Изменяют счёт без указания события и правила. Обычно так делают, когда хотят сразу показать новый результат, не объясняя его причину. Для проверки назовите событие, число изменившихся очков и правило, которое связывает их.
Описывают только начальное состояние и забывают обновлять сведения. Такая ошибка появляется, если игру воспринимают как неподвижную картинку, а не как процесс. Проверьте, меняются ли положение, параметры, предметы и счёт после каждой команды или игровой ситуации.
До этой темы нужно знать, что такое объекты и их свойства, действия и события, числовые данные и последовательность команд. Эти знания помогают представить игру как набор объектов с изменяемыми свойствами. Благодаря этому легче определить, какие сведения хранить и когда их обновлять.
Тема пригодится при создании алгоритмов и программ для игр. В программе нужно управлять персонажами, реагировать на события и хранить изменяющиеся данные. Описание состояния превращает правила игры в последовательность понятных команд.
Материал связан с переменными, условиями, обработкой событий и отладкой программ. Переменные хранят положение, параметры и счёт, условия проверяют правила, а обработчики реагируют на события. При отладке сравнивают ожидаемое состояние с получившимся и находят ошибку.
Какие сведения обязательно нужны для описания игры?
Нужно знать цель, правила, участников или персонажей, условия начала и окончания, возможные действия игрока и игровые события. Также необходимо хранить текущее состояние: положения объектов, параметры персонажей и счёт.
Чем персонаж отличается от обычного элемента игрового поля?
Персонаж участвует в действиях или событиях игры: им можно управлять, он может двигаться, получать предметы или сталкиваться с препятствиями. Элемент оформления только украшает поле и не влияет на ход игры.
Почему состояние игры меняется во время игры?
Игрок отдаёт команды, а в игре происходят события: движение, столкновения, получение предметов или выполнение заданий. Каждое такое событие может изменить положение, параметры персонажей, доступные действия или счёт.
Как определить, когда нужно изменить счёт?
Нужно заранее установить правила: какое событие произошло и сколько очков оно добавляет или отнимает. Например, за монету можно прибавить 10 очков, а за столкновение с препятствием вычесть 5.
Можно ли описать игру только её внешним видом?
Нет. Внешний вид показывает лишь часть информации и не сообщает цель, правила, состояние персонажей, условия победы или изменения счёта. Для продолжения игры нужны данные о происходящих действиях и событиях.
19. Информация об игре, о персонажах, о счете