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

Формула программиста
основатель — Волосатов Евгений Витольдович

Демо игры / Лабиринт 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   6452Lik_Kirill+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#.

Ты в любой момент сможешь отписаться от рассылки.
Научился: создание элементов обработка событий MouseEnter и Шон создание таймеров и привязка к ним элементов переходы из одной формы в другую
Трудности: работа с DialogResult
Урок очень понравился! Все классно. Учимся дальше!
Научился: Работать с разными формами в одном приложении. Задавать координаты курсору.(где он должен находиться при запуске программы)
Трудности: Объяснит программе, что форма должна закрыться, когда курсор будет в определенном месте.
Очередная проблема. Вроде все делаю по видео, но все-равно умудряюсь накосячить. Вторая форма не закрывается, когда курсор оказывается на лейбле конца карты.
Смотреть видеозапись: https://www.youtube.com/watch?v=V35_puDbixU&feature=youtu.be