Конференция "Игры" » Помогите с написанием тетриса
 
  • snake-as © (14.08.07 16:32) [0]
    Здравствуйте, я хочу написать "тетрис". Я скачал исходники, но там многое мне не знакомо. Скажите, пожалуйста, что мне надо почитать, чтобы написать самостоятельно, а не с чужих сорцов.. Или подскажите, с чего начать.
  • 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]
    Удалено модератором
 
Конференция "Игры" » Помогите с написанием тетриса
Есть новые Нет новых   [118230   +18][b:0][p:0.001]