1'''
2[Title/Звание]
3
4Повелителят на моретата
5
6[Description/Обрисовка]
7
8Повелителят на моретата всъщност представлява уеб приложение за игра на морски шах (tic tac toe).
9Могат да играят двама потребители един срещу друг или един потребител да играе с компютъра, а не с реален опонент.
10Компютъра играе оптимално, което развива мисленето на играчите.
11Така те стават по-конкурентоспособни при игра с друг реален играч.
12
13[Functionalities/Надарености]
14
15*Този параграф е за хора, които не знаят какво е морски шах. Идеята на проекта следва тази на оригиналната игра.*
16Морския шах (tic tac toe) се играе от двама играчи, кръстени X и O, които се редуват да маркират пространствата в мрежа 3×3.
17Този, който успее да постави три от своите маркери в диагонален, хоризонтален или вертикален ред първи, е победителят.
18Това е стратегическа игра, чийто изход може да е победа, загуба или равенство за всеки от играчите.
19
20
21Влизат двама играчи, които искат да играят един срещу друг и чрез въвеждане на "таен" код, се включват към обща дъска за игра.
22Това става като още в самото начало всеки има опция да избере дали играча Х ще въведе таен код и съответно ще бъде допуснат в стая,
23а играча У ще въведе същия код, за да може да влезе в същата стая, или обратното– играча У ще "каже" какъв да е кода.
24Ако и двамата изберат опция да са "въвеждащия" кода, ще се озоват на различни дъски и няма да могат да играят, докато не дойде втория играч.
25Възможно е един играч да си няма партньор, но това не значи, че не може да играе.
26Компютъра ще е неговия опонент, който при това ще е силен играч.
27Потребителя може да реши дали той да направи първия ход или компютъра.
28Оптималната игра на компютъра се дължи на алгоритъма min-max с алфа-бета отсичане.
29
30[Milestones/Възлови точки]
31
32Модул - портал за управлението на проекта
33Модул с необходимите класове
34Модул с функционалност за обработване на заявките и връщане на отговор
35Модул за url-ите
36Модул за игра срещу компютъра
37Модул за тестване
38front-end част: html, css, js
39
40[Estimate in man-hours/Времеоценка в човекочасове]
41
4240 часа
43
44[Usage of technologies/Потребление на технологии]
45
46Django
47django.contrib
48django.db
49django.conf.urls
50django.views
51django.test
52
53'''
----------------------------------------------------------------------
Ran 0 tests in 0.000s
OK
Георги Кунчев
03.01.2024 12:53Проектът ще стане прекалено лесен за максимума, но е достатъчен, ако се целиш под средата и покажеш добре направена игра.
Помисли с какво да го развиеш, за да стане по-обширен като показани знания.
Една идея - ползвай Recursive tic-tac-toe - виж в Google за какво иде реч.
Разбира се, това не усложнява откъм технологии и познания, но ще е по-интересно.
Друго интересно за проекта е как ще се справиш с комуникацията между играчите. Все пак не очакваме потребителя да презарежда страницата, за да разбере, че има ход. А и не бих искал да видя код, който прави периодични проверки дали опонента е направил ход. Направи така, че потребителя да получава известие за нов ход и браузъра сам да рефрешва (не цялата страница, а да добавя X/O където е нужно).
Друго - може да се добави чат повреме на игра.
|