|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
23.01.2014, 00:21 | #1 |
Форумчанин
Регистрация: 10.01.2009
Сообщений: 132
|
[Perfect Light] Двадцатьпяшки
Игра, в которой, как программисту, мне гордиться, конечно, нечем, но, тем не менее, думаю, заслуживающая внимания данного форума, а, тем более, новичков, решивших создать свои пятнашки и не знающих, с чего начать и чем закончить. Игра, в качестве несерьезного, простого мини-проекта, была написана нами всего за несколько вечеров, но имеет достаточно широкие для подобного типа игр возможности, а код написан максимально понятно для всех, желающих в нем разобраться. И, что самое главное, здесь впервые прошли испытание некоторые компоненты, разработанные мною для редактора системы частиц Perfect Particle 2. Подробного описания игре здесь давать особого смысла не вижу, так как все необходимое можно найти в справочном окне, реализованном внутри самой программы. Как и заведено в подобных ситуациях, выкладываю здесь два архива - с игрой и с игровым кодом. Впрочем, должен предупредить, что проект не будет скомпилирован на стороннем компьютере из-за отсутствия тех самых графических компонентов, находящихся в закрытой библиотеке нашей команды. P.S. В архиве с игрой, также, имеется набор картинок, созданных нашей командой именно для этой игры (кроме кота :D). Впрочем, при необходимости, есть возможность загружать и собственные изображения. Двадцатьпяшки (exe).rar Двадцатьпяшки (код).rar Последний раз редактировалось SaiLight; 23.01.2014 в 00:28. |
23.01.2014, 08:24 | #2 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,885
|
Игра уважаемого мной автора. Хорошая, как и всегда. Хотя, если быть честным, она слишком проста для Вас, и, по сути, действительно, есть не что иное, как проба работы.
По игре нет замечаний у меня, всё сделано на высоте, разве что есть замечания по программной части. Самый главный, на мой взгляд, минус для приложения это автосоздаваемые формы, в нормальных проектах такого делать не стоит, надо делать динамически создаваемые формы. Также существенные, но уже для кода минусы - глобальные переменные в модулях форм, почти все из которых должны быть полями формы, и некоторая связность форм (в том числе из-за этих глобальных переменных). Код будет негибкий и могут быть сложности при разборе багов, т.к. нет инкапсуляции. Яркий пример – значение гейммода – оно глобальное, видно отовсюду, есть вероятность что его изменят обычным присвоением, хотя для этой операции нужен метод setgamemode – так и надо сделать это заботой компилятора – через свойство property. Вот ещё пример, более комплексный, не очень хороший подход: Код:
На мой взгляд, тут вообще можно было бы ограничиться одной формой, добавляя компоненты – аналоги панелей с функциональностью модальных окон поверх главного окна. И весь код мог бы быть на 1 форме. Но и это ещё не всё, я бы логику именно пятнашек выделил в отдельный класс, а форма бы только занималась рисованием и направлением команд от пользователя в этот класс. Ну и всякие мелочи – 500 просится в константы, гейммод просится быть енумом, множество просчётов (например, vsize), повторяемых в нескольких подпрограммах, можно вынести в свойства или функции. Надеюсь, моя критика лишь только конструктивна, чтобы наперёд видеть от Вас очень качественные работы, чего Вам и желаю ! |
23.01.2014, 13:03 | #3 |
Форумчанин
Регистрация: 10.01.2009
Сообщений: 132
|
phomm, спасибо, ваша критика всегда очень конструктивна и полезна. Возможно, дело в самой несерьезности работы, и подход к ней изначально был как к развлечению - когда все сидят в Radmin'е, видят твой рабочий стол, и ты пишешь команды, объясняя их назначение и общую структуру игры. В любом случае, думаю, осмысливать необходимо даже такие простые проекты, тренируясь на них в структуризации своего мышления. В общем, спасибо за советы, буду и дальше работать над культурой своего кода.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Perfect Particle 2 | SaiLight | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 39 | 12.09.2014 20:36 |
Clock by Perfect Light | SaiLight | Софт | 2 | 28.07.2010 10:16 |