Курсы по программированию

Формула программиста

основатель — Волосатов Евгений Витольдович
Поздравляю с 1 сентября! Система начисления Байтов работает.

Демо игры / Лабиринт 2D - игра

  • На этом уроке мы создадим два уровня игры и запрограммируем их.
    В игре будут предметы для собирания, ключи, двери, мигающие стены.

    Задание:
    Создать два или три уровня для игры Лабиринт.
  • Дата отправки отчёта: 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;

    подозреваю что это не грамотно, но так сработало.
    подскажите, как мне правильно, и в каком месте воткнуть определение этой переменной?
  • Что было сложным: Нужна помощь!
    Я добавил изменяющийся размер одной из стенок (она желтого цвета).
  • Оценка видео-уроку:
Отчёт от 9480 за Демо игры / Лабиринт 2D - игра




Оцени работу

 
Сохранить страницу:

1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  Кирилл  # Демо игры / Лабиринт 2D - игра / 2018-09-07 13:03

как раз таки именно так и надо было сделать - определить переменную полем в начале класса.
твоя задача - пройти курс Теория ООП как можно скорее


  • Отчёт оценивали:
    9480Кирилл+1   17947Dmitry Sinitsin+1   18131Александр+1   11019Trira+1   1Евгений Волосатов+1   791Валерий Жданов+1   3922Александр+1   17606Виктор+1   6452Кирилл Шмойлов+1   16218Дмитрий+1   9913vip+1   16548Hofflin+1   19525Александр Балбашов+1  

Начинаем практику по языку C#





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.


Научился: сохранять координаты контрола и корректировать их.
Все доступно и понятно. Спасибо за урок.


Научился: Создавать уровни для игры.
Трудности: Придумать свой уровень.
Интересно и практично. p.s Скриншот моего уровня.