Всем пламенный привет!
Немного отвлекшись от повседневных дел, накидал всем известную игру Тетрис.
Реализован только основной функционал игры, подсчет очков, таблица рекордов и многие украшательства недоделаны.
Модель объектная.
Язык паскаль (Lazarus или Delphi), использовался графический движок ZenGL и MondoZenGL (www.zengl.org)
Очень интересует критика кода, как в архитектурном плане так и в реализации, что бы вы сделали по другому, какие мои ошибки?
В архиве присутствуют проекты для Lazarus и Delphi XE7 (под другие версии Delphi должно тоже скомпилироваться).
Прикладываю исходники в тему, а так же вот ссылка http://sourceforge.net/projects/simpletetris
Исходники Исходники simpletetris
Изображение
Большое спасибо.
Ну, вот разве что
RESOURCE_DIRECTORY = '../../data/'
косяк. и несколько магических чисел, типа Scale := 0.6;, но там и нет смысла что-то усложнять.
А так все чистенько. Можешь переходить к ммофпс. Или эту на андроид откомпиль и в маркет сразу.
Спасибо за отзыв. :)
Ресурсные данные вынесу в имеющийся класс, ну и над "магическими числами" поприменяю магию :)
А про ммофпс это ты льстиш :)
В целом пойдет, но перфекционисты докапаются)
Непонятно зачем используется двиг.
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)
master-sheff
> Яб добавил sleep(0)
Про sleep не понял. :(
yus
> Про sleep не понял. :(
Ну наверняка этот цикл грузит проц на 100%
Движок использовал, чтоб познакомится с ним.
master-sheff
> Ну наверняка этот цикл грузит проц на 100%
Все понял, спасибо, учту. Почитал про Sleep(0);
Тема в архиве.