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

Формула программиста
основатель — Волосатов Евгений Витольдович
Большой Новогодний подарок от Игромистра
Безденежный доступ к видеокурсам за Мегахеши

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

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

    Задание:
    Создать два или три уровня для игры Лабиринт.
  • Дата отправки отчёта: 5 ноября 2015 г.
  • Задание выполнено: за 1 час. 30 мин.
  • Чему научился: Более основательно работать с win form, работать с таймером.
  • Что было сложным: Создание монстра(у меня так и не получилось) на 3 уровне
  • Комментарии: Подскажите вот у меня, допустим, такой код на монстра:
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    using System.Threading;

    namespace minster
    {
        public partial class Form1 : Form
        {
            int m, n;
            public Form1()
            {
                InitializeComponent();
            }
            private void start_game()
            {
             
                while (m != 5)
                {
                    monster_4.Visible = false;
                    for (int i = 0; i < 4; i++)
                    {
                        switch (i)
                        {
                            case 0:
                                m1();
                                break;
                            case 1:
                                m2();
                                break;
                            case 2:
                                m3();
                                break;
                            case 3:
                                m4();
                                break;
                        }
                    }


                        m++;
                }
                Messege();
            }

          private void button1_Click(object sender, EventArgs e)
            {
                start_game();
            }
            private void Messege()
            {
                MessageBox.Show("Монстрик все пробежал");
            }

         
            private void m1()
            {
                monster_1.Visible = true;
                Thread.Sleep(500);
            }
           
            private void m2()
            {
                monster_1.Visible = false;
                monster_2.Visible = true;
                Thread.Sleep(500);
               
            }
            private void m3()
            {
                monster_2.Visible = false;
                monster_3.Visible = true;
                Thread.Sleep(500);
               
            }
            private void m4()
            {
                monster_3.Visible = false;
                monster_4.Visible = true;
                Thread.Sleep(500);
            }

         

           
        }
    }
    короче, 4 лейбла хочу чтобы они появлялись по очереди. Но никак не могу понять почему мой ко не работает.
  • Оценка видео-уроку:
Отчёт от 4953 за Демо игры / Лабиринт 2D - игра


Отчёт от 4953 за Демо игры / Лабиринт 2D - игра




Оцени работу

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

24. Олюшка
Олюшка
ответить
→  Никита  # Наноигры / Лабиринт 2D - игра / 2015-11-06 21:17

Никита, отличные навыки получил, Молодец!
Уверена что реализуешь задуманное, главное сильно зацикливайся, а иди вперед, а уж через время вернешься и все доделаешь! :)


1232. Фомичева Наталья
Фомичева Наталья
ответить
→  Никита  # Наноигры / Лабиринт 2D - игра / 2015-11-06 00:22

А так не проще?
using System;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        int m, i;
        Timer timer;

        public Form1()
        {
            InitializeComponent();
            timer = new Timer();
            timer.Interval = 500;
            timer.Tick += new EventHandler(timer_Tick);
        }

        private void button1_Click(object sender, EventArgs e)
        {
            i = 0;
            m = 0;
            label1.Visible = true;
            label2.Visible = false;
            label3.Visible = false;
            label4.Visible = false;
            timer.Start();
        }

        private void start_game()
        {
            i++;
            if (i > 4)
            {
                m++;
                i = 0;
                if (m >= 5)
                {
                    timer.Stop();
                    Messege();
                }
            }

            switch (i)
            {
                case 0:
                    m1();
                    break;
                case 1:
                    m2();
                    break;
                case 2:
                    m3();
                    break;
                case 3:
                    m4();
                    break;
            }
        }
        private void Messege()
        {
            MessageBox.Show("Монстрик все пробежал");
        }

   
        private void m1()
        {
            label4.Visible = false;
            label1.Visible = true;
        }
     
        private void m2()
        {
            label1.Visible = false;
            label2.Visible = true;
         
        }
        private void m3()
        {
            label2.Visible = false;
            label3.Visible = true; ;
         
        }
        private void m4()
        {
            label3.Visible = false;
            label4.Visible = true;
        }

        private void timer_Tick(object sender, EventArgs e)
        {
            start_game();
        }
    }
}


  • Отчёт оценивали:
    1612алексей+1   7788Ксения+1   3664данила+1   7276Ильшат+1   1232Фомичева Наталья+1   459Сергей Сергеевич+1   6391Владимир+1   4182Farid+1   6458Илья+1   7036Рома Дячук0   6452Кирилл Шмойлов+1   4004Елена+1   7871Мария+1   7645Александр Львович+1   6644valerys Nikola0   7781Антон0   1Евгений Волосатов+1   4395Денис+1   5419Роман+1   6925Артём+1   7901Влад0   429Максим Базуев+1   6987MichGar+1   6885lomik+1   24Олюшка+1  

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




Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: обработки событий мыши, привязки одного действия к разным событиям, использовать таймер
все хорошо
Научился: Создавать объекты (формы, лейблы, кнопки), настраивать их и назначать им обработчики такие как Shown, MouseEnter. Использовать ветвления (конструкции if-else). Вызывать методы из других классов. Оптимизировать количество Usings.
Трудности: Отладка багов, которые периодически возникали. Видео запись и примеры других уровней помогли в решении багов.
Пока справляюсь :) Помогает перемотка видео на моменты когда что-либо не понял или забыл.