Войти
ФлеймФорумРазработка игр

Просто Тетрис

#0
22:06, 20 фев 2015

Всем пламенный привет!

Немного отвлекшись от повседневных дел, накидал всем известную игру Тетрис.
Реализован только основной функционал игры, подсчет очков, таблица рекордов и многие украшательства недоделаны.
Модель объектная.
Язык паскаль (Lazarus или Delphi), использовался графический движок ZenGL и MondoZenGL (www.zengl.org)

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

В архиве присутствуют проекты для Lazarus и Delphi XE7 (под другие версии Delphi должно тоже скомпилироваться).
Прикладываю исходники в тему, а так же вот ссылка  http://sourceforge.net/projects/simpletetris

Исходники Исходники simpletetris

Изображение
Simple Tetris | Просто Тетрис

Большое спасибо.

#1
22:47, 20 фев 2015

Ну, вот разве что

RESOURCE_DIRECTORY = '../../data/'

косяк. и несколько магических чисел, типа Scale := 0.6;, но там и нет смысла что-то усложнять.
А так все чистенько. Можешь переходить к ммофпс. Или эту на андроид откомпиль и в маркет сразу.

#2
23:16, 20 фев 2015

Спасибо за отзыв. :)
Ресурсные данные вынесу в имеющийся класс, ну и над "магическими числами" поприменяю магию :)

А про ммофпс это ты льстиш :)

#3
23:35, 20 фев 2015

В целом пойдет, но перфекционисты докапаются)
Непонятно зачем используется двиг.

centerY := centerY + 1;

Inc(centerY);

    while True do
    begin
      if _availablePosition(0, 1, 0) then
        FFigure.Down
      else
      begin
        _addFigureToGlass;
        _startAnalysis;
        exit;
      end;
    end;

Яб добавил sleep(0)

#4
0:24, 21 фев 2015

master-sheff
> Яб добавил sleep(0)
Про sleep не понял. :(

#5
15:52, 21 фев 2015

yus
> Про sleep не понял. :(
Ну наверняка этот цикл грузит проц на 100%

#6
16:09, 21 фев 2015

Движок использовал, чтоб познакомится с ним.

master-sheff
> Ну наверняка этот цикл грузит проц на 100%
Все понял, спасибо, учту. Почитал про Sleep(0);

ФлеймФорумРазработка игр

Тема в архиве.