| f | """ | f | """ |
| [Title/Звание] | | [Title/Звание] |
| | | |
| Escape Python – интерактивна escape room игра | | Escape Python – интерактивна escape room игра |
| n | | n | |
| | | |
| [Description/Обрисовка] | | [Description/Обрисовка] |
| | | |
| Escape Python е текстова/графична игра, в която играчът попада в заключена стая | | Escape Python е текстова/графична игра, в която играчът попада в заключена стая |
| и трябва да намери начин да избяга чрез решаване на логически загадки, | | и трябва да намери начин да избяга чрез решаване на логически загадки, |
| събиране на предмети и взаимодействие с околната среда. | | събиране на предмети и взаимодействие с околната среда. |
| | | |
| Играта симулира escape room преживяване, като предлага различни стаи, | | Играта симулира escape room преживяване, като предлага различни стаи, |
| скрити улики и multiple endings в зависимост от решенията на играча. | | скрити улики и multiple endings в зависимост от решенията на играча. |
| Целта е да се демонстрира използване на структури от данни, класове, | | Целта е да се демонстрира използване на структури от данни, класове, |
| n | модули и логика за управление на състояние. | n | модули и логика за управление на състояние, както и използване на |
| | | графична визуализация чрез подходяща Python библиотека. |
| | | |
| | | |
| [Functionalities/Надарености] | | [Functionalities/Надарености] |
| | | |
| * Играчът може да се движи между различни стаи | | * Играчът може да се движи между различни стаи |
| n | | n | -> използване на класове Room и Player |
| | | |
| * Играчът може да разглежда предмети и да ги добавя в инвентара си | | * Играчът може да разглежда предмети и да ги добавя в инвентара си |
| n | | n | -> използване на класове Item и Inventory система |
| | | |
| * Система за инвентар (взимане, използване на предмети) | | * Система за инвентар (взимане, използване на предмети) |
| n | | n | -> използване на list, dictionaries и OOP логика |
| | | |
| * Пъзели (кодове, загадки, комбинации) | | * Пъзели (кодове, загадки, комбинации) |
| n | * Взаимодействие чрез команди (например: "look", "take", "use") | n | -> използване на условни конструкции, функции и проверки |
| | | |
| | | * Взаимодействие чрез команди и графичен интерфейс |
| | | -> използване на pygame или tkinter |
| | | |
| * Таймер (по желание – ограничено време за бягство) | | * Таймер (по желание – ограничено време за бягство) |
| n | | n | -> използване на модула time |
| | | |
| * Save/Load система | | * Save/Load система |
| n | | n | -> използване на json модул |
| | | |
| * Multiple endings (успех/провал) | | * Multiple endings (успех/провал) |
| n | | n | -> използване на game state логика и проверки |
| | | |
| * Скритa логика за отключване на нови зони | | * Скритa логика за отключване на нови зони |
| n | | n | -> използване на flags, conditions и inventory checks |
| | | |
| | | * Визуализация на стаите, предметите и действията на играча |
| | | -> използване на pygame за графична реализация |
| | | |
| | | |
| [Milestones/Възлови точки] | | [Milestones/Възлови точки] |
| | | |
| 1. Основен game engine | | 1. Основен game engine |
| | | |
| * обработка на вход от потребителя | | * обработка на вход от потребителя |
| * управление на game loop | | * управление на game loop |
| | | |
| 2. Модел на играта | | 2. Модел на играта |
| | | |
| * класове за Room, Item, Player | | * класове за Room, Item, Player |
| * връзки между стаите | | * връзки между стаите |
| | | |
| 3. Инвентар система | | 3. Инвентар система |
| | | |
| * добавяне и премахване на предмети | | * добавяне и премахване на предмети |
| * използване на предмети | | * използване на предмети |
| | | |
| 4. Puzzle система | | 4. Puzzle система |
| | | |
| * кодови загадки | | * кодови загадки |
| * проверки за условия | | * проверки за условия |
| | | |
| n | 5. Навигация | n | 5. Навигация и визуализация |
| | | |
| * движение между стаи | | * движение между стаи |
| n | * описание на стаите | n | * описание и визуализиране на стаите |
| | | * графичен интерфейс за взаимодействие |
| | | |
| 6. Persistence | | 6. Persistence |
| | | |
| * save/load чрез JSON | | * save/load чрез JSON |
| | | |
| n | | n | 7. Графична реализация |
| | | |
| | | * използване на библиотека като pygame или tkinter |
| | | * визуализиране на интерфейс, менюта и игрови елементи |
| | | |
| | | |
| [Estimate in man-hours/Времеоценка] | | [Estimate in man-hours/Времеоценка] |
| | | |
| n | Общо: ~60 часа | n | Общо: ~70 часа |
| | | |
| * Game engine: 10 часа | | * Game engine: 10 часа |
| * Модел (класове): 10 часа | | * Модел (класове): 10 часа |
| * Пъзели: 15 часа | | * Пъзели: 15 часа |
| * Инвентар: 10 часа | | * Инвентар: 10 часа |
| * Save/Load: 5 часа | | * Save/Load: 5 часа |
| n | | n | * Графична визуализация: 20 часа |
| | | |
| | | |
| [Usage of technologies/Потребление на технологии] | | [Usage of technologies/Потребление на технологии] |
| | | |
| * Python - основен език | | * Python - основен език |
| n | | n | * pygame или tkinter - за графична визуализация |
| * json - за запазване на състояние | | * json - за запазване на състояние |
| * random - за генериране на елементи | | * random - за генериране на елементи |
| t | | t | * time - за таймер |
| * unittest - за тестове | | * unittest - за тестове |
| | | |
| """ | | """ |