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

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

3 точки общо

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

 1"""
 2[Title/Звание]
 3    Игра нонограми
 4
 5
 6[Description/Обрисовка]
 7    Целта на играта е да се запълни напълно матрицата, за да се получи рисунка.
 8    Всяка клетка от матрицата може да е или плътно запълнена, или отбелязана като 
 9    невалидна за плътно запълване.
10    Играта има един участник.
11    Играчът трябва да отгатне кои от тези клетки ще са плътно запълнени.
12    Играчът има по 3 сърца (възможност за допускане на 3 грешки), като ако ги загуби, 
13    играта започва от начало (играчът е загубил).
14    За всеки играч се пазят вече направените рисунки.
15
16
17[Functionalities/Надарености]
18    Матрицата представлява поле с размерност 15х15.
19    Има предварително зададени готови шаблони за тези матрици,наречени рисунки.
20
21    Отляво на редовете и отгоре над колоните има за всеки ред/колона по колко на 
22    брой плътно запълнени клетки ще има в този ред/стълб.
23    Възможно е на някой ред/колона да има повече от една група от плътно запълнени 
24    клетки, като обаче между всяка група трябва да има поне една невалидна за плътно 
25    запълване клетка.
26    Пример1: отстрани на ред пише 4 10 => има една група от 4 плътно запълнени клетки, 
27    1 невалидна клетка, втора група от 10 плътно запълнени клетки.
28    Пример2: отстрани на ред пише 3 10 => има една група от 3 плътно запълнени клетки, 
29    2 невалидна клетка, втора група от 10 плътно запълнени клетки, НО една от 
30    невалидните клетни е между двете групи, но другата може да е както преди така и 
31    след всяка от групите.
32    Попринцип играта не изисква да се налучква, а да се гледат как се застъпат колоните
33    и редовете, за да се намерят кои клетки със сигурност са плътно запълнени или пък
34    невалидни за запълване.
35
36    При въвеждане на клетка като невалидна или плътна има два варианта: ако е правилно,
37    клетката става част от рисунката, ако е грешно, сърцата на играча се намаляват.
38    Това се повтаря докато не се завърши рисунката или сърцата не свършат.
39
40    Всяка готова рисунка на играч и всичките шаблони ще се пазят в някаква база дании,
41    (може би с SQL още не съм решила какво ще е :) ).
42
43
44[Milestones/Възлови точки]
45    -Избор на рисунка за решаване   
46    -Графичен интерфейс (поддържа се актуалната матрица на всяко попълване)    
47    -Проверка за правилност на опит за запълване на клетка според шаблона
48    -Край на сърцата
49    -Готова рисунка
50
51
52[Estimate in man-hours/Времеоценка в човекочасове]
53     Нямам представа, та всичко ще е в условни граници :)
54     -Научаване как да се поддържа графичен интерфейс - 5 човекочасове
55     -Измисляне какво ще представлява базата данни и как да се имплементира - 7 човекочасове
56     -Как да се имплементира алгоритъма за това дали клетка е валидна или не - 5 човекочасове
57     -Писане код - 30 човекочасове
58     -Тестване - 30 човекочасове
59    + 20% буфер 
60
61    = ~ 92,4 човекочасове
62
63
64[Usage of technologies/Потребление на технологии]
65    -Модул pygame или модул Tkinter (защото май се води лесен за по-малки проекти)
66    -Технологията за база данни (може би MySQL) 
67    -други външни библиотеки
68"""


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

NO TESTS RAN

Дискусия
Георги Кунчев
03.12.2024 16:37

Играта е интересна, но предполагам, че имплементацията ще изисква някакви 200-300 реда кадърно написан код, т.е. сложността ще малее. Реално имаш визуализация на една таблица с кликабъл квадрати и една функция, която се извиква при клик на квадрат. Това е. Да добавиш база данни е добра идея, но опитай да добавиш още, иначе ще се бориш за не повече от 20-30% от максималния брой точки. Например - опитай да направиш бот, който сам да решава задачата. Опитай да направиш интерфейс, в който потребител може сам да дефинира карти. Може да вкараш и мултиплейър, в който играчи се редуват, за да имаш повече функционалност.
История
Това решение има само една версия.