Microsoft Kodu - 5 (Простая игра, а также Путь)

Mar 10, 2012 18:53

(Хотела написать "Пути", но вдруг кто-то решит, что я пропустила букву н в конце. Слово Путь более однозначно).

Когда показываешь Коду детям, то нельзя много времени тратить на объяснения, где и что, надо достаточно быстро переходить к созданию игры, чтобы они не потеряли интерес. Игра должна быть достаточно простой, чтобы ее можно было сделать очень быстро и чтобы дети не запутались в нюансах программирования. При этом еще и "мирной" т.е., не какой-нибудь стрелялкой, хотя, большинство игр именно этим и занимаются, но учителя не любят, когда показываешь детям что-то агрессивное. (А знаете, я их понимаю и поддерживаю). Это на взрослую аудиторию мы можем показать "Стреляя рыб", как мы это делали на TechEd Russia 2011. А детям надо и попроще, и помиролюбивее.

Тут для меня возникает другая сложность - придумать сюжет игры, уже неважно: мирной или стрелялки, хоть какой-нибудь! Пока я обхожусь такой простой идеей: над землей летает аэростат и разбрасывает яблоки (они падают на землю), а мотоциклист должен их собирать.

Условие, по которому аэростат бросает яблоко: каждые 5 секунд, т.е., по таймеру. Действие: "создать". Т.е., Аэростат программируется следующим образом

КОГДА ДЕЛАТЬ двигаться -> свободно
КОГДА таймер -> 5 сек ДЕЛАТЬ (действия ->) создать -> яблоко

Но мы быстро поймем, что много яблок улетает в пропасть, за пределы клочка земли. Давайте добавим путь движения Аэростата, через инструмент Пути


Не знаю, как это описать простым языком, но на деле это действительно достаточно просто - мышью щелкаете в тех местах, где должны располагаться узлы графа вашего пути, или попросту, повороты дороги. Для полета аэростата я сделала вот такое:


Когда вы запустите игру, путей не будет видно, если только вы не выбрали тип Дорога (это можно сделать следующим образом: выберите инструмент Путь, но на земле щелкните не левой, а правой кнопкой мыши. Тогда вы увидите другие варианты: Стена и Дорога, они будут видимыми в вашем мире).

Напомню, что в левом верхнем углу вы видите подсказки для работы с активным в данный момент инструментом, и например, чтобы удалить путь, надо сначала нажать SHIFT и потом уже выбрать какой-нибудь узел пути, после чего в контекстном меню выбрать "Удалить".

И тогда программа для Аэростата будет выглядеть след. образом:

КОГДА ДЕЛАТЬ двигаться -> по путям
КОГДА таймер -> 5 сек ДЕЛАТЬ (действия ->) создать -> яблоко

2 момента:
1. Я поленилась и не указала, по каким именно путям надо двигаться, но вообще-то лучше указывать цвет, т.к. в сложной игре можно создать пути для разных персонажей. Поэтому правильнее было бы
двигаться -> по путям -> (цвета -> ) белый

2. пусть вас не вводит в заблуждение яблоко на плитке "создать", что именно должно создаваться - обязательно надо указать следом. Например, мы бы могли создавать звезды, камни (вот бы они падали с неба!), и прочее.

И пусть байкер (мотоциклист) собирает эти яблоки. Действие - съесть яблоко. А вот условия вы можете выбрать разные (собственно, и действия тоже могут быть разными, но нам надо как то избавляться от этих яблок, иначе они просто завалят весь мир, поэтому мы просто будем их съедать).

    Итак, как мы можем есть яблоки:
  • самое очевидное: играющий вручную должен добраться до яблока и коснуться его;
  • но в Коду можно съесть яблоко, просто видя его, для этого есть условие "вижу -> (объекты ->) яблоко ". Чтобы игра не стала совсем уж абсурдной, можно указать, что
    вижу -> (объекты ->) яблоко-> (параметры -> ) рядом.
    С условием "вижу" игроку не надо с точностью до миллиметра подъезжать к яблоку и касаться его, достаточно оказаться рядом и видеть это яблоко
  • но можно еще больше "сжульничать", и яблоко не видеть, а слышать. В чем разница: чтобы видеть предмет (объект), надо быть развернутым к нему лицом. Чтобы слышать, достаточно быть в некоей окрестности от объекта;
Наверняка можно что-то еще придумать, оставляю вам самим поэкспериментировать.

И конечно же, надо добавить управление перемещением, но мы это делали раньше, так что я просто скопирую из предыдущих постов. В итоге, должно получиться что-то вот такое для байкера:

КОГДА клавиши -> (разное ->) вверх ДЕЛАТЬ движение -> вперед
КОГДА клавиши -> (разное ->) вправо ДЕЛАТЬ поворот-> направо
КОГДА клавиши -> (разное ->) влево ДЕЛАТЬ поворот-> налево
КОГДА касание -> (объекты -> ) яблоко ДЕЛАТЬ съесть -> это

И давайте, наконец, запустим игру и посмотрим, что у нас получилось.

(А в следующем посте я буду рассказывать про подсчет очков.)

kodu, microsoft

Previous post Next post
Up