Решение на Време е да помислите за проектите си! от Георги Събев

Обратно към всички решения

Към профила на Георги Събев

Резултати

  • 7 точки от тестове
  • 0 бонус точки
  • 7 точки общо
  • 0 успешни тест(а)
  • 0 неуспешни тест(а)

Код

'''
[Title/Звание]
Flappy Snake
[Description/Обрисовка]
Десктоп версия на мобилната игра "Flappy Bird", която преди години беше голяма атракция, с допълнителни екстри - бонуси (както положителни, така и отрицателни - забавяне/забързване, уголемяване/смаляване на героя, допълнителни животи, "босове", летящи в противоположната посока).
[Functionalities/Надарености]
Потребителят управлява героя си с натискане на бутона Space на клавиатурата.
Играта има начално меню, където потребителят има достъп до различни подменюта.
Потребителят може да персонализира своя герой (все още в процес на обмисляне, но бих се опитал да го направя) като сменя цвета и размера му.
Потребителят може да променя настройките за трудност (честота на тръбите и скорост на георя).
Играта поддържа текуща класация от топ 5/10 най-добри резултати.
По трасето на играта се появяват бонуси (забавяне/забързване, уголемяване/смаляване на героя, допълнителни животи), както и лоши "босове", идващи от противоположната посока към героя, които трябва да бъдат прескочени.
При наличие на повече от 1 живот, ако играчът се блъсне в някоя тръба или "бос", той бива съживен и може да продължи.
Потребителят може да паузира временно играта при натискане на бутона P или ESC на клавиатурата.
[Milestones/Възлови точки]
Движение на героя по Y координатната ос (а.к.а. скачането).
Движение на тръбите по X координатната ос.
Пресичане на героя и тръбите (валидация за сблъсък/край на играта).
Произволно създаване на нови тръби и босове.
Произволно създаване на бонуси по трасето.
Увеличаване и смаляване на героя.
Забързване и забавяне на движението.
Увеличаване броя на животите и продъжлаване на игра при сблъсък при налични допълнителни животи.
Запазване на резултатите от предходни игри.
Начално меню с класация.
Промяна на настройките по подразбиране за скорост и размер.
[Estimate in man-hours/Времеоценка в човекочасове]
56 (горе долу си го представям за около 2 седмици по средно 4 часа на ден)
[Usage of technologies/Потребление на технологии]
Pygame
'''

История (1 версия и 1 коментар)

Георги обнови решението на 20.12.2022 11:42 (преди над 1 година)

+'''
+[Title/Звание]
+Flappy Snake
+
+[Description/Обрисовка]
+Десктоп версия на мобилната игра "Flappy Bird", която преди години беше голяма атракция, с допълнителни екстри - бонуси (както положителни, така и отрицателни - забавяне/забързване, уголемяване/смаляване на героя, допълнителни животи, "босове", летящи в противоположната посока).
+
+[Functionalities/Надарености]
+Потребителят управлява героя си с натискане на бутона Space на клавиатурата.
+Играта има начално меню, където потребителят има достъп до различни подменюта.
+Потребителят може да персонализира своя герой (все още в процес на обмисляне, но бих се опитал да го направя) като сменя цвета и размера му.
+Потребителят може да променя настройките за трудност (честота на тръбите и скорост на георя).
+Играта поддържа текуща класация от топ 5/10 най-добри резултати.
+По трасето на играта се появяват бонуси (забавяне/забързване, уголемяване/смаляване на героя, допълнителни животи), както и лоши "босове", идващи от противоположната посока към героя, които трябва да бъдат прескочени.
+При наличие на повече от 1 живот, ако играчът се блъсне в някоя тръба или "бос", той бива съживен и може да продължи.
+Потребителят може да паузира временно играта при натискане на бутона P или ESC на клавиатурата.
+
+[Milestones/Възлови точки]
+Движение на героя по Y координатната ос (а.к.а. скачането).
+Движение на тръбите по X координатната ос.
+Пресичане на героя и тръбите (валидация за сблъсък/край на играта).
+Произволно създаване на нови тръби и босове.
+Произволно създаване на бонуси по трасето.
+Увеличаване и смаляване на героя.
+Забързване и забавяне на движението.
+Увеличаване броя на животите и продъжлаване на игра при сблъсък при налични допълнителни животи.
+Запазване на резултатите от предходни игри.
+Начално меню с класация.
+Промяна на настройките по подразбиране за скорост и размер.
+
+[Estimate in man-hours/Времеоценка в човекочасове]
+56 (горе долу си го представям за около 2 седмици по средно 4 часа на ден)
+
+[Usage of technologies/Потребление на технологии]
+Pygame
+'''

Pygame решава много от казусите, които би имал, вместо теб (например - collision detection). Сиреч с един добър дизайн, тези парчета функционалност:

Движение на героя по Y координатната ос (а.к.а. скачането).
Движение на тръбите по X координатната ос.
Пресичане на героя и тръбите (валидация за сблъсък/край на играта).
Произволно създаване на нови тръби ... [и босове].
Произволно създаване на бонуси по трасето.
Увеличаване и смаляване на героя.
Забързване и забавяне на движението.
Увеличаване броя на животите и продъжлаване на игра при сблъсък при налични допълнителни животи.
Запазване на резултатите от предходни игри.
Промяна на настройките по подразбиране за скорост и размер.

Биха били по 4-5 реда код всяко. Което не е лошо, няма нужда да преоткриваш колелото, само и само да има повече код, идеята ми е - наблегни на механиките. Ако вкараш нещо, което стреля, което се движи в спирала и т.н. - това ще направи нещата достатъчно интересни отвъд графичната част (да, дори и без нови механики ще имаш работа там - менюта, бекграунди, спрайтове, ротации и т.н.).

Но отвъд този съвет, звучи добре.