На этом уроке мы создадим два уровня игры и запрограммируем их. В игре будут предметы для собирания, ключи, двери, мигающие стены.
Задание: Создать два или три уровня для игры Лабиринт.
Дата отправки отчёта:
7 сентября 2018 г.
Задание выполнено: за
20 час. 26 мин.
Чему научился:
Создавать различные элементы на форме и прописывать действия для событий, связанных с этими формами. В 3 уровне сделал изменяющегося размера стенку. На скриншоте она желтого цвета. Описал изменение размеров это стены по таймеру следующим кодом:
private void timer1_Tick(object sender, EventArgs e) { if (sizelabel == true) { label12.Width++; if (label12.Width == 110) sizelabel = false; } if (sizelabel == false) { label12.Width--; if (label12.Width <= 30 ) sizelabel = true; } }
По факту, переменная sizelabel указывает на то, уменьшается или увеличивается стена. проблема в том, что я не понял, куда именно вставлять объявление переменной sizelabel. изначально я вставлял определение переменной в следующий код private void start_game() { Point point = label_start.Location; point.Offset(label_start.Width / 2, label_start.Height / 2); Cursor.Position = PointToScreen(point); sound.play_start(); label_door.Visible = true; label_key.Visible = true; label12.Width = 30; label12.Height = 30; bool sizelabel = true; }
в данном случае мне указывается что sizelabel не существует в текущем контексте, а так же что переменной sizelabel присвоено значение и оно ни разу не используется. проблему я решил вписать определение этой переменной в следующем месте кода: public partial class FormLevel3 : Form { bool sizelabel = true;
подозреваю что это не грамотно, но так сработало. подскажите, как мне правильно, и в каком месте воткнуть определение этой переменной?
Что было сложным:
Нужна помощь! Я добавил изменяющийся размер одной из стенок (она желтого цвета).