Мастера DELPHI, Delphi programming community Рейтинг@Mail.ru Титульная страница Поиск, карта сайта Написать письмо 
| Новости |
Новости сайта
Поиск |
Поиск по лучшим сайтам о Delphi
FAQ |
Огромная база часто задаваемых вопросов и, конечно же, ответы к ним ;)
Статьи |
Подборка статей на самые разные темы. Все о DELPHI
Книги |
Новинки книжного рынка
Новости VCL
Обзор свежих компонент со всего мира, по-русски!
|
| Форумы
Здесь вы можете задать свой вопрос и наверняка получите ответ
| ЧАТ |
Место для общения :)
Орешник |
Коллекция курьезных вопросов из форумов
KOL и MCK |
KOL и MCK - Компактные программы на Delphi
Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / rsdn.org

 
Чтобы не потерять эту дискуссию, сделайте закладку « предыдущая ветвь | форум | следующая ветвь »

Помогите с написанием тетриса


snake-as ©   (14.08.07 16:32

Здравствуйте, я хочу написать "тетрис". Я скачал исходники, но там многое мне не знакомо. Скажите, пожалуйста, что мне надо почитать, чтобы написать самостоятельно, а не с чужих сорцов.. Или подскажите, с чего начать.


Morpheuz   (14.08.07 16:53[1]

:) не то ты просишь, надо просить помогите с написанием Doom 4 ))).
А, если серйозно, то советую почитать литературу по делфи, да и вообше по программированию, если тебе много не понятно в исходникам тетриса. сугубо имхо.


@!!ex ©   (14.08.07 17:30[2]

Лучше бы про Doom 4 спросил...
Так понятно че отвечать было бы... :)
"Напиши сначала тетрис". :))

А тут...
не знаю что и посоветовать.

Что такое массивы двухмерные знаешь?
Как работает таймер?
Как работать с клавишами?
Давно Дельфи занимаешься?
Что писал раньше?


grisme ©   (14.08.07 17:41[3]

ты возьми, потихонечку начни изучать основы рендер-подсистем: GL, DirectX; основы Win API(там и клавиши и принцип win-приложения). И создай такой тетрис, на который будет не стыдно поглядеть другим, да и в тебе гордость будет жить :) т.е. не надо щас рыть в сторону кучи TImage с таймером :o) не бойся отложить начало разработки игры, а возьмись за технологии.
старайся вести исходники этично чтоли %-) ну вобщем не засоряй их всяким бредовым смешным кодом, который пишут начинающие, от того что торопятся сделать мегахит 2010 года, который поломает все железа своей производительностью и реалистичностью :)
няя!! ^^ сказанул...удачи..ня! *^___^*


Debug ©   (14.08.07 22:47[4]

Делай по шагам:
1) Хранить внутреннее состояние игры (положение фигуры, стакан, очки и т.п.)
1) Отображать это состояние;
2) Получать инфу по клавишам от игрока и менять в соответствии состояние;
3) Менять состояние по таймеру;

Собственно это структура всех компьютерных игр без ИИ.

P.S. Я тетрис жене подарил на 8 марта. На мобильник, именной =). Радости нет предела, а экономия очевидна =).


Pa5ha ©   (16.08.07 00:31[5]

Я сначала прочитал пару книжек по паскалю. Вообще, первую я прочитал за 2 дня и уже после этого начал кодить простые програмки и повторять примеры. (первая книга: немнюгин, "изучаем турбо паскаль"). Через некоторое время (некотороя практика и усвоение материала) проги посложнее стал кодить. Патом был тетрис, сапер, а вот косынку не успел дописать. Купил комп, который потянул винду )


max_   (17.08.07 16:26[6]

Научись работать с канвой (TCanvas, какой нить учебник по Delphi)


brother ©   (22.08.07 04:29[7]

каждый, уважающий себя программист, должен написать в своей жизни три программы: тетрис, сапер, питон (змейки)... имхо ))))


Rial ©   (22.08.07 11:49[8]

> [3] grisme ©   (14.08.07 17:41)
> ты возьми, потихонечку начни изучать основы рендер-подсистем:
> GL, DirectX; основы Win API

А ты не думаешь, что если человек хочет написать тетрис,
и это для него проблема, то написанное тобой ему точно
пока рано изучать?


> [6] max_   (17.08.07 16:26)
> Научись работать с канвой (TCanvas, какой нить учебник по
> Delphi)

Боюсь, рисование на TCanvas - не самая высокая горка
на пути к тетрису.


> [7] brother ©   (22.08.07 04:29)
> каждый, уважающий себя программист, должен написать в своей
> жизни три программы: тетрис, сапер, питон (змейки)... имхо
> ))))

Какое -то замедленное развитие получается слишком,
так можно в детсве и на всю жизнь застрять. %)


> [0] snake-as ©   (14.08.07 16:32)

1. Придумай шаблоны фигур, которые у тебя будут перемещаться по экрану.
Сделай несколько 2х мерных логических (0/1) массивов 3*3 или 4*4,
в которых 1ми забей те позиции, где существуют части фигуры.
Это будут шаблоны фигур.
2. Все игровое поле - массив 10*(сколько-то там в высоту).
3. Введи положение текущей фигуры и угол поворота.
4. Буферизуй следующую фигуру.
5. Разберить с таймерами. По таймеру проверяй, можно ли опустить
фигуру вниз, или же нужно обавить ее точки к точкам игрового пола,
сгенерировать следующую.
6. Прочитай про обрабоотку клавиш. По клавишам перемещай фигуру
и вращай.
7. При добавлении фигуры к игровому полю делай проверку, есть
ли полные линии по горизонтали. Рассчитывай очки. Также проверяй, не
занят ли самый верхний ряд - условия поражения.

8. Отображай все на TCanvas, либо по таймеру, либо после изменений состояния.
9. В OnPaint перерисовывай всю картинку. По таймеру - только затирай предыдущее
положение фигуры, рисуй новое, а также отобращай
все измениения. Таким образом сэкономишь в производительности в разы.

10. Хм... разнообразь написанное чем-то новым. :)


el_nino ©   (13.07.08 03:41[9]

чтот не пойму, зачем шаблоны фигур и как их вводить в игровое поле?


antonn ©   (13.07.08 13:28[10]

некрофил %)

> el_nino ©   (13.07.08 03:41) [9]

через canvas.copyrect() выводить :)


SCL   (13.12.08 18:30[11]

Изучай основы Delphi


имя   (20.10.15 19:31[12]

Удалено модератором


версия для печати

Написать ответ

Ваше имя (регистрация  E-mail 







Разрешается использование тегов форматирования текста:
<b>жирный</b> <i>наклонный</i> <u>подчеркнутый</u>,
а для выделения текста программ, используйте <code> ... </code>
и не забывайте закрывать теги! </b></i></u></code> :)


Наверх

  Рейтинг@Mail.ru     Титульная страница Поиск, карта сайта Написать письмо