Распечатал ленточный счётчик качественнее и уже протестировал в игре. Удобен, не уступает прежнему с колёсами. Компактный и лёгкий — ношу как браслет, почти не замечаю. Текст напечатан на первом и втором слоях и закрыт третьим, чтобы сохранить гладкую внешнюю поверхность, при этом благодаря прозрачности материала он остаётся хорошо читаемым сквозь один слой
Сейчас он не показывает номер подачи и кто подаёт. Механизм можно добавить, но пока пользуемся арифметикой:
Напомню правила подачи: игроки подают по 3 раза по очереди. Игра — до 16 очков. После каждой подачи кто-то получает очко
Пусть P1 и P2 — счёт игроков. // — целое частное, % — остаток от деления
- Подающий: ((P1 + P2) % 6) // 3 + 1
- Номер подачи: ((P1 + P2) % 6) % 3 + 1
В уме это проще — по остатку от деления суммы очков на 6 наблюдаем результат:
- 0 — 1-й игрок, 1-я подача
- 1 — 1-й, 2-я
- 2 — 1-й, 3-я
- 3 — 2-й, 1-я
- 4 — 2-й, 2-я
- 5 — 2-й, 3-я
Пример:
- 5:8 → 13 % 6 = 1 → 1-й, 2-я
- 5:9 → 14 % 6 = 2 → 1-й, 3-я
- 6:9 → 15 % 6 = 3 → 2-й, 1-я
Сейчас он не показывает номер подачи и кто подаёт. Механизм можно добавить, но пока пользуемся арифметикой:
Напомню правила подачи: игроки подают по 3 раза по очереди. Игра — до 16 очков. После каждой подачи кто-то получает очко
Пусть P1 и P2 — счёт игроков. // — целое частное, % — остаток от деления
- Подающий: ((P1 + P2) % 6) // 3 + 1
- Номер подачи: ((P1 + P2) % 6) % 3 + 1
В уме это проще — по остатку от деления суммы очков на 6 наблюдаем результат:
- 0 — 1-й игрок, 1-я подача
- 1 — 1-й, 2-я
- 2 — 1-й, 3-я
- 3 — 2-й, 1-я
- 4 — 2-й, 2-я
- 5 — 2-й, 3-я
Пример:
- 5:8 → 13 % 6 = 1 → 1-й, 2-я
- 5:9 → 14 % 6 = 2 → 1-й, 3-я
- 6:9 → 15 % 6 = 3 → 2-й, 1-я
👍6🔥3💊2
Придумал способ упростить определение подачи — хотя на практике он не особо проще.
Добавил на циферблат вспомогательные точки:
- Справа от числа очков игрока: X % 3
- Слева: (X // 3) % 2
Как определить подачу:
- Пусть R1 и R2 — точки справа от счёта первого и второго игрока
- L1 и L2 — точки слева
- Считаем сумму правых точек R = R1 + R2
- Номер подачи: R % 3 + 1
- Если R < 3, то C = 0, иначе C = 1
- Если C + L1 + L2 чётное — подаёт 1-й игрок, иначе 2-й
По своей сути этот алгоритм с точками напоминает полусумматор
На фото можете попробовать провести эти расчёты, результаты должны совпадать с примером из предыдущего поста
UPD: после ещё одной игры привыкли и стало нормально пользоваться этими точками. Перефразирую принцип человечнее:
Смотрим на точки слева от чисел
Чёт — начинал подачи первый игрок
Не чёт — начинал второй
Смотрим на сумму точек справа от чисел — это кол-во сделанных подач
0, 1, 2 — всё ещё подает тот, кто "начинал"
3 — сделано уже три подачи, значит подаёт другой. С 4 аналогично
Добавил на циферблат вспомогательные точки:
- Справа от числа очков игрока: X % 3
- Слева: (X // 3) % 2
Как определить подачу:
- Пусть R1 и R2 — точки справа от счёта первого и второго игрока
- L1 и L2 — точки слева
- Считаем сумму правых точек R = R1 + R2
- Номер подачи: R % 3 + 1
- Если R < 3, то C = 0, иначе C = 1
- Если C + L1 + L2 чётное — подаёт 1-й игрок, иначе 2-й
По своей сути этот алгоритм с точками напоминает полусумматор
На фото можете попробовать провести эти расчёты, результаты должны совпадать с примером из предыдущего поста
UPD: после ещё одной игры привыкли и стало нормально пользоваться этими точками. Перефразирую принцип человечнее:
Смотрим на точки слева от чисел
Чёт — начинал подачи первый игрок
Не чёт — начинал второй
Смотрим на сумму точек справа от чисел — это кол-во сделанных подач
0, 1, 2 — всё ещё подает тот, кто "начинал"
3 — сделано уже три подачи, значит подаёт другой. С 4 аналогично
🤔3👍1
Вся эта арифметика — это сумма очков, представленная как двухразрядное число в смешанной системе счисления: младший разряд — по основанию 3, старший — по основанию 2. Всего 6 состояний: 00, 01, 02, 10, 11, 12, после чего всё повторяется с 00
Смешанные системы вы знаете по часам: например, 23:59 + 1 минута = 00:00. Эра, год, месяц, день и т.д. — тоже пример такой системы. Я даже делал под это библиотеку для Clojure — есть доклад на YouTube
Так вот. Эта система идеально подходит для механической реализации: состояния можно отображать на круглом циферблате, как на часах. В счётчике с колёсами для отображения подачи один циферблат на 6 секций. Его можно заменить двумя — на 3 секции и на 2. Это уменьшит размеры
- Диаметр циферблата = (кол-во секций * длину дуги секции)/π.
- Один диск на 6 секторов (по 10 мм дуга) ≈ 2 см
- 2 на 3 и 2 секции: ≈ 1см и 6мм
- Вместо 2x2см получаем ~1.5x1см
- Циферблат для счета игрока на 16 очков ≈5см в диаметре
В общем! Это как наручные часы! Смотрите, какие циферблаты получились
Смешанные системы вы знаете по часам: например, 23:59 + 1 минута = 00:00. Эра, год, месяц, день и т.д. — тоже пример такой системы. Я даже делал под это библиотеку для Clojure — есть доклад на YouTube
Так вот. Эта система идеально подходит для механической реализации: состояния можно отображать на круглом циферблате, как на часах. В счётчике с колёсами для отображения подачи один циферблат на 6 секций. Его можно заменить двумя — на 3 секции и на 2. Это уменьшит размеры
- Диаметр циферблата = (кол-во секций * длину дуги секции)/π.
- Один диск на 6 секторов (по 10 мм дуга) ≈ 2 см
- 2 на 3 и 2 секции: ≈ 1см и 6мм
- Вместо 2x2см получаем ~1.5x1см
- Циферблат для счета игрока на 16 очков ≈5см в диаметре
В общем! Это как наручные часы! Смотрите, какие циферблаты получились
👍3🤯3🔥1
KgOfHedgehogs
Придумал способ упростить определение подачи — хотя на практике он не особо проще. Добавил на циферблат вспомогательные точки: - Справа от числа очков игрока: X % 3 - Слева: (X // 3) % 2 Как определить подачу: - Пусть R1 и R2 — точки справа от счёта первого…
Осознал, что всё на много проще:
Если сумма очков делится на три, то подачи переходят другому игроку
Если сумма при этом четная, то первому, если не четная, то второму
Сейчас заниматься механизмом счетчиков желание закончилось, остаюсь с этим простым ленточным счётчиком, стираю с него нарисованные точки, возвращаюсь к воланчикам %)
Если сумма очков делится на три, то подачи переходят другому игроку
Если сумма при этом четная, то первому, если не четная, то второму
Сейчас заниматься механизмом счетчиков желание закончилось, остаюсь с этим простым ленточным счётчиком, стираю с него нарисованные точки, возвращаюсь к воланчикам %)
😁7👍1
После воланчикового детокса я снова в деле. Идей особо нет, может, у вас появится что-то креативное
Я достиг приемлемой надёжности юбки и летных характеристик. Но крепление юбки к "шее" воланчика не имеет механических гарантий: сейчас на юбке есть "пальцы", которые я приматываю изолентой к шее. Потом надевается набалдашник, с прижимающим пластиковым кольцом
При ударах пальцы немного выскальзывают — эту проблему и нужно решить. Возможно, юбки пока не ломаются именно потому, что удар гасится этим выскальзыванием. Поэтому хочется, чтобы пальцы могли немного ёрзать в пределах допустимого
Есть ещё нюанс — вес. Сейчас воланчик весит 8.2–8.8г при оригинальных 8.6г. Так что решение должно быть максимально лёгким, чтобы не выйти за рамки
Варианты:
– Супер-клей: шея станет одноразовой, а пластик — хрупким
– Горячий клей: возможно, поможет, но хочется обойтись без пост-обработки и иметь механическую гарантию
– Соединить пальцы сверху дугой (из нейлона или TPU) — но дуга, вероятно, будет трескаться
Больше идей нет
Я достиг приемлемой надёжности юбки и летных характеристик. Но крепление юбки к "шее" воланчика не имеет механических гарантий: сейчас на юбке есть "пальцы", которые я приматываю изолентой к шее. Потом надевается набалдашник, с прижимающим пластиковым кольцом
При ударах пальцы немного выскальзывают — эту проблему и нужно решить. Возможно, юбки пока не ломаются именно потому, что удар гасится этим выскальзыванием. Поэтому хочется, чтобы пальцы могли немного ёрзать в пределах допустимого
Есть ещё нюанс — вес. Сейчас воланчик весит 8.2–8.8г при оригинальных 8.6г. Так что решение должно быть максимально лёгким, чтобы не выйти за рамки
Варианты:
– Супер-клей: шея станет одноразовой, а пластик — хрупким
– Горячий клей: возможно, поможет, но хочется обойтись без пост-обработки и иметь механическую гарантию
– Соединить пальцы сверху дугой (из нейлона или TPU) — но дуга, вероятно, будет трескаться
Больше идей нет
👍3❤1
KgOfHedgehogs
Photo
Хорошая новость! За пару недель тестов последняя версия воланчика показала себя очень хорошо:
- Ремешки не выскакивают
- Спицы не вылетают
- Юбка не рвётся
Новая версия отличается тем, что соединяет спицы в пары и имеет ремешок для затягивания спиц. Я сначала затягиваю этот ремешок так, что спицы смыкаются полностю, затем вставляю горловину, которая растягивает ремешок с максимальным прижимом спиц к горловине
Всё еще есть проблемы, которые надо исправить:
- Спицы вылетают не по отдельности, а все сразу (где-то через 150-200 подач набалдашник без юбки пулей улетает метров на 50). На одном воланчике спицы приклеил супер-клеем и это первый случай, когда из-за клея деталь не стала хрупкой. Все равно посмотрю, как можно обойтись без клея
- Ремешки от вибраций постепенно начинают выскальзывать. Добавлю зацепку на конце ремешка, чтобы зафиксировать его механически
- Ломаются спицы: сделаю юбку тоньше, а спицы толще
Это наконец по-настоящему позитивный результат за долгое время, чуть ли не с самой первой версии
- Ремешки не выскакивают
- Спицы не вылетают
- Юбка не рвётся
Новая версия отличается тем, что соединяет спицы в пары и имеет ремешок для затягивания спиц. Я сначала затягиваю этот ремешок так, что спицы смыкаются полностю, затем вставляю горловину, которая растягивает ремешок с максимальным прижимом спиц к горловине
Всё еще есть проблемы, которые надо исправить:
- Спицы вылетают не по отдельности, а все сразу (где-то через 150-200 подач набалдашник без юбки пулей улетает метров на 50). На одном воланчике спицы приклеил супер-клеем и это первый случай, когда из-за клея деталь не стала хрупкой. Все равно посмотрю, как можно обойтись без клея
- Ремешки от вибраций постепенно начинают выскальзывать. Добавлю зацепку на конце ремешка, чтобы зафиксировать его механически
- Ломаются спицы: сделаю юбку тоньше, а спицы толще
Это наконец по-настоящему позитивный результат за долгое время, чуть ли не с самой первой версии
👍17🔥4🙈2👾1