Домашни > Време е да помислите за проектите си! > Решения > Решението на Димитър Христов

Резултати
0 точки от тестове
6 точки от учител

6 точки общо

0 успешни теста
0 неуспешни теста
Код

 1'''
 2[Title/Звание]
 3Battleships
 4
 5[Description/Обрисовка]
 6Online приложение за игра на battleships. Ще има solo mod - игра срещу компютъра и pvp mod - 1v1 (срещу рандом опонент или срещу познат чрез номер на стая) 
 7
 8[Functionalities/Надарености]
 9При влизане се предоставя избор на играча за solo или pvp mod. 
10При избор на solo се избира размер на полето и брой кораби. След това корабите се поставят(ръчно или със качване на файл с разположението им).
11Освен това след игра ще има възмойност за изтегляне на конфигурацията от играта за последваща употреба.
12При избор на pvp mod се избира дали потребителят ще иска да създаде стая, да се присъедини към някоя стая или да се присъедини към определена стая.
13При създаването на стая подобно на solo се задават параметрите размер на полето и брой кораби.
14Самата игра представлява най-обикновен battleships и приключва когато играч потопи всички кораби на опонента
15
16[Milestones/Възлови точки]
17Гръбнак (контролер), който обработва логиката.
18Графичен интерфейс.
19Алгоритъм за игра на компютъра в solo mod
20Менюта за : - избор на параметри и поставяне на кораби
21            - създаване и избор на стаи
22            - Избор на mod
23Имплементация на импорт на разположения на корабите
24
25[Estimate in man-hours/Времеоценка в човекочасове]
2656 часа
27
28[Usage of technologies/Потребление на технологии]
29pygame
30django
31'''


----------------------------------------------------------------------
Ran 0 tests in 0.000s

OK

Дискусия
Георги Кунчев
06.02.2024 19:06

За размета на полето разбирам и съм ок да е статично, но ако искаш максимален брой точки, не бих спестил настройката за брой/размер на корабите
Димитър Христов
06.02.2024 15:35

Ок ли е да фиксирам броя кораби и размера, защото ще стане малко трудно с pygame да параметризирам генерирането на екрана?
Георги Кунчев
02.02.2024 22:02

Ако ще правиш pygame, бих казал, че е най-добре да отвориш сокети за комуникация между двамата играчи, а ивентите, които минават през сокетите да се визуализират с някакъв вид callback. Ако целиш визуализация в браузъра, то тогава не бих използвал pygame, а и много голяма част от логиката ти ще трябва да е написана на JavaScript. С няколко думи, забрави за браузъра и ползвай само pygame. Прегледай уроци по темата, за да можеш да отвориш сокети и да закачиш ивенти, които двамата играчи да си обменят.
Димитър Христов
02.02.2024 17:20

Имам един въпрос относно технологиите. Ако ползвам pygame за играта, какъв е най-разумният метод да exec-на прозореца му в браузера и за мултиплейер как да си комуникират клиентите на играчите(как да се показва къде е стрелял опонент без да се презарежда страницата)?
Димитър Христов
05.01.2024 19:08

Идеята за статистиките е готина. Игрите лесно могат да се запазват в удобен формат и да се експортват. Може и съответно да има общи(опростени) статистики за профил които да са достъпни за всички. Това за настройката за отбелязването не ме радва мен лично, но не е лошо да го има като опция предполагам.
Георги Кунчев
04.01.2024 19:48

За да ютилизираш факта, че имаш Django, очаквам да пазиш информация за потребителите и игрите, както и да предоставиш някакъв вид статистика за тези данни. Може да направиш експорт на файлове със статистика за всички игри на даден играч. Добра идея е да развиеш с разни настройки. Например дали при избор на квадратче, в което няма кораб, да маркираш полето като играно, или да оставиш играча сам да помни кои е стрелял и са били пропуски. Всяка допълнителна идея за разширяване може да го направи по-интересно и съответно да се бориш за повече точки.
История
Това решение има само една версия.