1'''
2[Title/Звание]
3The ultimate hero battle
4
5[Description/Обрисовка]
6The ultimate hero battle е десктоп приложение, което представлява вид стратегическа игра, свързана с битки между супергерои и борба
7за надмощие. Играта е представена под формата на сайт с интерактивен дизайн и разнообразни потребителски функционалности.
8
9Предистория: Годината е далечната 2222 и планетата Земя е отдавна забравена. Всичко се развива на планетата Монти Пайтън. Човешката раса
10е на изчезване - останали са само най-елитните треньори на супергерои и единственото, което им остава е борбата за надмощие. Те водят
11ежедневни битки кой ще е последният останал сред тях и ще има възможността да се възползва от всички ресурси на Монти Пайтън, като с това
12се превърне в новия владетел на Пайтънската Вселена.
13
14Основната цел на всеки потребител на приложението е да подбере изначално своите супергерои, които в последствие да тренира и увеличи
15тяхната мощ. Играчът е в състояние да атакува чужди супергерои, но и същевременно да предпазва своите от нападение.
16В хода на играта, всеки потребител събира виртуални пари, наречени пайтънки, с които може да подобри свои супергерой или да закупи нов
17такъв. В играта се поддържа общ пазар, на който се предоставят различни супергерои с цел закупуване от страна на играчите.
18
19Основната цел на приложението е чисто развлекателна, но и същевременно то изисква добра стретегия и малка доза късмет от страна на
20играчите, което го превръща в желано занимание за през свободното време.
21
22[Functionalities/Надарености]
23{Роля: Играч}
241. Регистрация и вход в профил на играч - приложението пази информация за регистрираните до момента потребители, както и добавя нови
25при регистриране.Също така търси за наличието на вече създаден профил при заявка за вход от страна на клиента.
262. Изход от профил - при направена заявка за изход от страна на играч, системата изкарва текущия играч от самата игра, като при това
27оставя за съхранение всички негови данни с цел възможност за последвало влизане.
283. Всеки играч има достъп до своя профил - приложението пази информация за всеки създаден профил(лични данни, супергерои, виртуални пари -
29пайтънки, ранк и др.) и при заявка предоставя нуждната информация.
304. Закупуване на определен супергерой от общия пазар - приложението пази списък от всички налични супергерои(създадени от
31администраторите) и извършва заявки за търсене, добавяне и премахване на такива.
325. Подобряване на герой - приложението поддърда логика за увеличаване на силата на определен герои на даден играч с определена цена,
33измерена в пайтънки.
346. Достъп до общата класация - приложението съхранява информация за моментното класиране на всички играчи в нея, което от своя страна
35се определя по определена формула, включваща брой изиграни битки, брой победи, налични пайтънки и други. Системата показва текущия
36ранк на даден потребител в класацията при направена от него заявка.
377. Всеки играч може да участва в битки от вид "неангажиращи" - приложението поддържа логика за провеждане на неангажиращи битки между
38играчи, изразяващи се в директно нападение на супергерой на играч, като с това се определя победител и победен и съответно приходи и
39разходи от този вид битка. Системата следи за правилното провеждане на битката и изпълнява последвалите от нея действия(загуба на герой,
40промяна на пайтънките, промяна на ранклистата и др.)
418. Всеки играч може да участва в битки от вид "ангажиращи" - приложението поддържа логика за провеждане на ангажиращи битки тип league
42между играчи, изразяващи се в ангажиране на няколко играча в този тип битка, последвано от няколко кръга на играта. На всеки кръг
43приложението взима хода на участващ играч в битката и след като всички ходове са направени, системата изчислява резултата от текущия
44кръг - убити герои, отпаднали играчи, приходи, разходи и тн. като за победител се взима последният останал играч с най-много победи
45сред рундовете. Приложението финализира победителят и управлява целият ход на лигата.
46
47{Роля: Администратор}
481. Вход в системата - приложението пази информация за регистрираните администратори в системата, като при вход на администратор в
49системата, тя проверява коректността на данните му и връща своеобразен отговор. Системата не поддържа възможност за регистриране на нови
50потребители като администратори, а вместо това предоставя функционалността като правомощие на самите администратори.
512. Изход от профил - при направена заявка за изход от страна на администратор, системата изкарва текущия администратор от самата игра,
52като при това оставя за съхранение всички негови данни с цел възможност за последвало влизане.
533. Инфорамция за администраторския профил - системата пази информация за съотвения администраторски профил, като при заявка за достъп
54до информация от него връща съответен отговор.
554. Добавяне на нов администратор - системата поддържа добавянето на нов администратор единствено от страна на друг такъв. Процесът на
56добавяне на профил с администраторски права се контролира от системата.
575. Добавяне на нов играч - приложението предоставя функционалността за добавяне на нов играч от страна на администратора с цел вид на
58"user support" - при проблем за създаване на профил от страна на играч, съответен администратор предоставя готовия потребителски профил.
596. Изтриване на играч - системата поддържа опция за изтриване на играч от страна на администратора с цел контролиране на достъпа
60до системата за определени играчи - в тази си роля даден администратор се явява в облика си на системен модератор.
617. Достъп до информация за играч - приложението съхранява информация за профилите на всички регистрирани в системата играчи, като тя
62предоставя достъп(пълен) до всеки един от тях при направена заявка от страна на администратор.
638. Достъп до информация за друг администратор - приложението съхранява информация за профилите на всички регистрирани в системата
64администратори, като тя предоставя достъп(частичен) до всеки един от тях при направена заявка от страна на администратор.
659. Добавяне на герой към общия пазар - приложението предоставя правоможия на администраторите за добавянето на нови герои към общия
66пазар от такива. При заявка за тази функционалност от страна на администратор, системата отговаря за правилното менажиране на
67необходимите данни за създаването на герой, както и запазването му в системата.
6810. Премахване на герой от пазара - приложението поддържа логика за правилното премахване на герой от общия пазар(администратор
69може да премахва само създаден от него герой).
70
71[Milestones/Възлови точки]
72-Модул за боравене с графичния интерфейс на приложението
73-Основен конролер, отговарящ за изпълняване на основните функционалности в системата(делегиране към модули от по-ниско ниво) - роля
74на "свърваща" точка в системата
75-Модул, менажиращ логиката за профилите в системата(лична информация, роля, съхранявани обекти)
76-Модул, отговарящ за провеждането на битки(неангажиращи и leagues)
77-Модул, отговарящ за съхранението и достъпа(частни герои на играч или общи в пазара) до героите в играта и тяхното менажиране(подобряване)
78-Модул, отговарящ за менажирането на функционалност от тип "общ пазар"
79-Модули от тип "Фабрика" за създаване на профили и герои, при поискване от страна на другите модули
80-Модул за обработка на командите, идващи от страна на потребителя и боравещ с основния контролер
81
82[Estimate in man-hours/Времеоценка в човекочасове]
83100 часа
84
85[Usage of technologies/Потребление на технологии]
86-Интерфейс - css, html, javascript
87-Бази данни - db.sqlite3 given by Django
88-създаване и менажиране на сайта - Django
89-server - local server
90-външни библиотеки - в процеса на работа
91
92'''
----------------------------------------------------------------------
Ran 0 tests in 0.000s
OK
![]()
Даниел Йорданов
14.02.2024 13:43Здравейте, тъй като срещнах значителни трудности в процеса на работа с Джанго, реших да сменя изцяло идеята си за проект и от няколко дена се насочих в друга област на Python. Това би ли представлявало проблем (мога да предоставя и подходяща документация в случай на нужда)? Предварително благодаря! |
![]()
Виктор Бечев
05.01.2024 16:19Разбира се, не очакваме да платиш на Гугъл за сървър, само за защитите. 😁 |
![]()
Даниел Йорданов
05.01.2024 15:11Благодаря! Само не разбрах дали стана ясно, тук мисля да използвам локален сървър, нали всичко е ок с това? |
![]()
Виктор Бечев
05.01.2024 14:23
Ако това не отговаря напълно на въпросите, свиркай. :) |
![]()
Даниел Йорданов
05.01.2024 14:08Благодаря за отговора! Ако мога да задам две въпросчета:
Предварително благодаря! |
![]()
Виктор Бечев
05.01.2024 13:47Идеята ми напомня на една стара уеб-базирана масовка - Bulfleet. |