An open API service indexing awesome lists of open source software.

https://github.com/dontsovcmc/100_k_1

Игра 100 к 1
https://github.com/dontsovcmc/100_k_1

Last synced: 5 months ago
JSON representation

Игра 100 к 1

Awesome Lists containing this project

README

          

# Игра 100 к 1. Веб версия.

## Эпилог
В далеком 2011м году я не нашел в интернете ни одной реализации "100 к 1", а устроить праздник на День Рождения очень хотелось. За ночь была написана игра. Параллельно друг проводил опрос среди друзей и подсчитывал результаты. "Кажется я начинаю понимать Избирком..", - писал он мне в 5 утра накануне праздника.
Я старался полностью повторить телевизионную версию.
upd: переписана на веб версию с помощью claude в 2025 г.

### Краткое описание телевизионной игры
Телепередача "Сто к одному" (известная также как "100 к 1") состоит из пяти раундов, где две команды по пять человек угадывают популярные ответы на вопросы, заданные 100 людям с улицы. Ведущий объявляет вопрос, управляет розыгрышем права хода, опросом игроков, подсчетом очков и блицем при промахах. Ниже приведен точный порядок действий ведущего по раундам в виде списка.

[Описание игры в Википедии](https://ru.wikipedia.org/wiki/%D0%A1%D1%82%D0%BE_%D0%BA_%D0%BE%D0%B4%D0%BD%D0%BE%D0%BC%D1%83#%D0%9F%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%B0_%D0%B8%D0%B3%D1%80%D1%8B)

# Ход игры
## Подготовка
Необходим задать 4 вопроса 100 людям (или 10 вопросов, если хотите играть супер игру). Выбрать 6 самых популярных ответов в каждом. Загрузить эти ответы с вопросами в файл игры и распечатать их ведущему.

### Готовые ответы
[Сообщество ВК с ответами на вопросы](https://vk.com/otvet_na_vopros_100_k_1)

[Интернет версия, где выкладывают ответы](https://100-1.ru/?main=yesterday)

## Участники
Ведущий.
Экран с изображением игры.
2 команды по 5-6 человек. В каждой команде есть капитан.
Оператор за компьютером, который управляет игрой и знает все ответы на закрытом табло.

Нужны ещё две кнопки или жребий по которому будет выбираться команда играющая раунд первой.

## Старт
1. Ведущий спрашивает названия команд
2. Оператор ПК вводит их

## Простая игра
1. Ведущий вызывает капитанов для розыгрыша: зачитывает вопрос, первый нажавший кнопку отвечает; если ответ есть на табло и самый популярный — ход его команды, иначе отвечает соперник или повтор розыгрыша.

2. Команда определена. Ведущий опрашивает игроков по кругу: открывает строки табло за правильные ответы, фиксирует промахи.

3. При трех промахах проводит блиц другой команде: ведущий опрашивает 4-х участников, потом возращается к капитану и капитан выбирает ответ (или дает свой). Если капитан дал верный ответ, то все очки раунда попадают его команде. Иначе первой.

4. Капитан открывает остаток табло для интереса зрителей и участников. Очки никому не назначаются.

## Двойная игра
Аналогично простой: розыгрыш между вторыми (следующими) игроками команд, очки за строки удваиваются.

## Тройная игра
Розыгрыш между третьими (следующими) игроками, очки утраиваются (1-я строка — 15×3=45, до 6-й — 1×3=3, но по популярности).

## Игра наоборот
1. Ведущий напоминает правила: я назову вопрос и дам 20 секунд на совещание в командах.
Дальше я первым спрошу ответа капитана отстающей по очкам команды. Затем капитана лидирующей по очкам команды. Ответы не могут совпадать. Вам требуется угадать самый не популярный ответ.
(1 строка - 15 очков, 2 строка - 30, 3 строка - 60, 4 строка - 120, 5 строка - 180, 6 строка - 240).

2. Ведущий называет вопрос. Запускается таймер.

3. Ведущий спрашивает ответ у капитана отстающей команды.

4. Ведущий спрашивает ответ у капитана лидирующей команды.

5. Ведущий открывает табло начиная с верха (самого популярного ответа). Если команда угадала - ей очки.

6. Ведущий подводит итоги; при равенстве — жребий (камень-ножницы-бумага).

Большая игра с командой, которая заработала большее количество очков.

## Большая игра
Участвует лидирующая команда. Для победы в игре нужно набрать 200 очков в суперигре.
Ведущий рассказывает правила лидирующей команде:
"Вы выбирает двух участников. Один участник отправляется слушать музыку, другой участник первым отвечает на вопросы. Договоритесь, кто будет первым, кто вторым."
1. Лидирующая команда выбирает двоих игроков;
2. Ведущий рассказывает правило первому участнику: "За 15 секунд вы должны дать ответы на 6 вопросов. За каждый угаданный ответ вы получаете очки."
2. Игрок отвечает на вопросы. Ответы записывает Оператор ПК.
3. Возвращается второй участник.
4. Ведущий рассказывает правила второму участнику: "За 20 секунд вы должны ответить на 6 вопросов, которые я задавал вашему коллеге по команде. Если ваш ответ совпадет с первым участником вы услышите вот такой вот сигнал (звук) и должны тут же дать другой ответ."
5. Ведущий проверяет ответы; при ≥200 очках — выигрыш!

# Компьютерная версия

## Быстрый старт

### Играть онлайн (GitHub Pages)
Игра доступна онлайн: **[https://dontsovcmc.github.io/100_k_1/](https://dontsovcmc.github.io/100_k_1/)**

⚠️ **Важно**: Онлайн версия НЕ сохраняет настройки после перезагрузки страницы, поэтому после редактирования настроек скачайте файл на компьютер.

### Скачать и играть локально (Рекомендуется)
Для сохранения прогресса и настроек:

1. Скачайте проект с [GitHub](https://github.com/dontsovcmc/100_k_1)
2. Откройте файл `index-prod.html` двойным кликом
3. Готово! Игра работает без интернета.

## Вопросы и ответы
Хранятся ТОЛЬКО на вашем компьютере в json файле. Можно загрузить или сохранить его. В игре есть редактор файла. После изменений скачайте файл на компьютер.

## Настройки игры
Настройки можно менять:
- изменить названия команд;
- включить/выключить уровни (вдруг вы спросили меньше 5 вопросов на улице);
- время размышлений в Обратной игре;
- время ответов 1го и 2го игрока в Супер игре;
- кол-во очков для победы в Супер игре;

# Для разработчиков

#### Сборка bundle (для разработчиков)
```bash
# Установить зависимости (один раз)
npm install

# Собрать bundle
npm run build

# Открыть файл напрямую
open index-prod.html
```

### Режим разработки (модули)
Требует веб-сервер из-за CORS ограничений ES6 модулей.

```bash
# Запустить веб-сервер
python3 -m http.server 8000

# Открыть в браузере
open http://localhost:8000/index-dev.html
```

Для минифицированной production версии:
```bash
npm run prod # Создает оптимизированный bundle + source map
```

### Команды сборки
- `npm run build` - Обычная сборка (unminified, 51KB)
- `npm run build:watch` - Автообновление при изменении файлов
- `npm run dev` - Alias для build:watch
- `npm run prod` - Минифицированная сборка с source map (30KB)

### Структура после сборки
```
.
├── index-dev.html # Разработка (ES6 modules)
├── index-prod.html # Production (bundle)
├── js/ # Исходные модули
├── dist/
│ ├── bundle.js # Собранный файл
│ └── bundle.js.map # Source map
├── package.json
├── styles.css
├── demo.json
├── sounds/
└── bmp/
```

## Обратная связь

Создал чат в tg для обсуждения
game_100_k_1

Буду рад, если кто-то разовьет идею и сделает автоматизацию проведения опросов!
Что надо бы доработать:
- дизайн;
- поддержку 2-го экрана для показа органов управления;
- поддержку опросов в GoogleForms или свой сайт;
- шеринг вопросов-ответов;

Пишите в комментариях, если будете где-то проводить игры!
Также приветствуются результаты Ваших опросов.