Программирование - это просто
Advertisement
Главная arrow Уроки программирования arrow Пишем компьютерную игру на C# (платный раздел) arrow Пишем компьютерную игру на C#. Урок 15. Пишем игру "Тетрис". Шаг 5.
20.04.2024 г.
Главное меню
Главная
Интернет магазин
Программные продукты
Биржевые роботы
Искусственный интеллект
Математика и информатика
1С:Предприятие
Уроки C#
Уроки Delphi
Уроки программирования
Web-программирование
Дизайн и графика
Компьютер для блондинок
Исходники
Статьи
Платный раздел
Рассказы про компьютеры
Хитрости и секреты
Системный подход
Размышления
Наука для чайников
Друзья сайта
Excel-это не сложно
Все о финансах
.
Пишем компьютерную игру на C#. Урок 15. Пишем игру "Тетрис". Шаг 5. Печать E-mail
Автор megabax   
28.10.2012 г.
New Page 2

Пишем компьютерную игру на C#. Урок 15. Пишем игру "Тетрис". Шаг 5.

Что бы смотреть урок полностью, подпишитесь на платный раздел.

В платном разделе статья находиться здесь.


Исходники к уроку вы можете скачать в платном разделе.

А вот на этом уроке вы поймете, для чего я поднял такую тему, как анимационные эффекты (см. предыдущий урок). И так, используя таймер мы заставим фигуры падать в стакан:

Пишем компьютерную игру на C#. Урок 15. Пишем игру "Тетрис". Шаг 5.

Для этого нам нужно создать класс Game...

// *************** (С) Шуравин Александр www.easyprog.ru *****************************

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Drawing;

 

namespace Tetris

{

    public class Game : AbstractDrawObject

    {

        //Счетчик для подсчета,

        //когда добавить новую

        //фигуру

        private int counter;

...

...

....В этом классе мы создаем шаблоны фигур (в конструкторе), при обработке кванта времени (метод doQuantum), создаем фигуру из шаблона и постепенно, с каждым вызовом doQuantum опускаем ее вниз. Вызывать  doQuantum  будем по таймеру. Для этих целей у класса Figure  нам придется предусмотреть методы clone, full...

...

.... Переписываем код главного окна:

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

 

namespace Tetris

{

    public partial class Form1 : Form

    {

        Game game;

 

        public Form1()

        {

            InitializeComponent();

            game = new Game();

        }

 

        private void Form1_Paint(object sender, PaintEventArgs e)

        {

            game.draw(e.Graphics);

        }

 

        private void btnRotate_Click(object sender, EventArgs e)

        {

            if (game.currentFigure != null)

            {

                game.currentFigure.rotate(Math.PI / 2);

                Refresh();

            }

        }

 

        private void timer_Tick(object sender, EventArgs e)

        {

            game.doQuantum();

            Refresh();

        }

    }

}

btnRotate_Click - это у нас обработчик нажатия кнопочки "Вращать", а timer_Tick - обработчик таймера....

...

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


Скриншоты, приведенные в данной статье, являются цитатами и иллюстрациями   программного продукта "Microsoft Visual Studio 2010", авторское право на который принадлежит Microsoft


 

 

Последнее обновление ( 28.10.2012 г. )
 
Пред. »
 
© 2024 Программирование - это просто
Joomla! - свободное программное обеспечение, распространяемое по лицензии GNU/GPL.
Русская локализация © 2005-2008 Joom.Ru - Русский Дом Joomla!
Design by Mamboteam.com | Powered by Mambobanner.de
Я принимаю Яндекс.Деньги