Replace placeholder question sets

This commit is contained in:
2026-06-27 14:26:14 +03:00
parent 272a9834ac
commit df2c4f0434
5 changed files with 252 additions and 478 deletions
+16 -9
View File
@@ -31,14 +31,21 @@ npm run check # проверка типов (svelte-check)
- **Засчитать частично +N/2** — для «почти правильного» ответа ведущий может
дать половину стоимости вопроса;
- **Не засчитывать** — без очков, но вопрос закрыт.
- Штрафов и минусов нет.
4. У некоторых вопросов есть необязательная **подсказка** 💡. Ведущий может
- Для обычных вопросов штрафов и минусов нет.
4. Иногда вместо обычного вопроса открывается **аукцион** — спецвопрос в стиле
«Своей игры». Ведущий назначает ставку и открывает случайный вопрос, затем
решает:
- **Засчитать +N** — команде идут очки;
- **Не засчитать** — с команды **снимается ставка**, но счёт не уходит в минус.
Пока аукцион не разрешён, ведущий может его отменить и вернуться к табло
без потерь.
5. У некоторых вопросов есть необязательная **подсказка** 💡. Ведущий может
показать её по желанию. Если подсказка показана — ответ засчитывается только
за половину стоимости: мягкая помощь без давления.
5. Для творческих вопросов (type `creative`) кнопка мягче:
6. Для творческих вопросов (type `creative`) кнопка мягче:
«Засчитать творческий ответ +N».
6. Сыгранный вопрос затемняется и больше не выбирается.
7. Когда сыграны все вопросы — экран результата с мягкой финальной фразой.
7. Сыгранный вопрос затемняется и больше не выбирается.
8. Когда сыграны все вопросы — экран результата с мягкой финальной фразой.
Прогресс сохраняется автоматически — после перезагрузки игра продолжится с того же места.
@@ -82,8 +89,9 @@ npm run check # проверка типов (svelte-check)
2. Зарегистрируйте набор в `src/lib/question-sets/index.ts`:
```ts
import { familyKnowledgeJourneySet } from './family-knowledge-journey';
import { mySet } from './my-set';
export const questionSets = [animalsSet, cozySet, mySet];
export const questionSets = [familyKnowledgeJourneySet, mySet];
```
Готово — набор автоматически появится на экране выбора.
@@ -97,9 +105,8 @@ src/
├─ lib/
│ ├─ types.ts # Доменные типы (Question, Category, QuestionSet, GameState)
│ ├─ question-sets/ # ДАННЫЕ (отделены от UI)
│ │ ├─ animals.ts # набор-заглушка
│ │ cozy.ts # набор-заглушка
│ │ └─ index.ts # реестр наборов + хелперы поиска
│ │ ├─ family-knowledge-journey.ts # набор вопросов
│ │ index.ts # реестр наборов + хелперы поиска
│ ├─ stores/
│ │ └─ game.ts # СОСТОЯНИЕ игры (Svelte store + localStorage)
│ └─ components/ # UI-компоненты