Вэб-версія гульні «Аліяс»: адзін гулец тлумачыць слова, каманда адгадвае. 886 беларускіх слоў, ад 1 да 5 каманд, тры ўзроўні складанасці, кірыліца або лацінка. Працуе ў мабільным браўзеры, нічога ставіць не трэба.
Гуляць: https://alias.itbeard.com/
- Гульцы дзеляцца на каманды (ад 1 да 5) і тлумачаць словы па чарзе.
- Адзін гулец бярэ тэлефон і тлумачыць слова з экрана, астатнія ў камандзе адгадваюць.
- Нельга называць аднакаранёвыя словы, перакладаць слова на іншую мову і паказваць яго жэстамі.
- Адгадалі — Адгадана (ці свайп направа): +1 ачко. Не ведаеце — Пас (свайп налева): −1 ачко, калі ўключаны штраф. Каля рэдкіх слоў ёсць кнопка ? — яна паказвае пераклад.
- Раунд доўжыцца зададзены час. Калі ў наладах уключана правіла апошняга слова, пасля сігналу можна дагуляць слова на экране; яго можна аддаць і ўсім камандам — тады ачко атрымлівае тая, што адгадала першай.
- Пасля раунда паказваецца спіс слоў — спрэчныя адзнакі выпраўляюцца націскам.
- Гульня сканчаецца, калі каманда набірае мэтавы лік; круг дагульваецца, каб ва ўсіх была роўная колькасць раундаў.
- 1–5 каманд, назвы выпадкова бяруцца са спіса і перакідваюцца кнопкай з косткай («Вусы Мулявіна», «Карона Вітаўта», «Косы Касцюшкі»…); у кожнай назвы — свой піксельны лагатып: вусы, карона, скрыжаваныя косы ды іншыя. Знак прывязаны да назвы і мяняецца разам з ёй, колер вызначаецца месцам каманды ў спісе. Пры адной камандзе — сола-рэжым. У рэжыме 18+ спіс назваў свой, юрлівы: «Мара Глобуса», «Дудка Багушэвіча», «Першы раз Скарыны»…
- Тры ўзроўні складанасці + рэжым «усе разам»:
- лёгкі — 340 канкрэтных штодзённых слоў;
- сярэдні — 304 паняцці, прафесіі, дзеясловы;
- складаны — 242 тэрміны і абстракцыі.
- Рэжым 18+ — асобны слоўнік са 107 слоў беларускай секс-лексікі паводле артыкула MOST, слоўнічкаў «Нашай Нівы», PALATNO і Радыё Свабода: ад «заляцацца» да «шмаравідла». Стаіць апошнім у перамыкачы ўзроўняў, уключаецца пасля пацвярджэння ўзросту і ў «усе разам» не трапляе.
- Падказка да слова: кнопка «?» паміж «Пас» і «Адгадана» паказвае пад словам пераклад на расейскую (заўсёды кірыліцай) і ангельскую — для таго, хто тлумачыць і сам не ведае слова. Калі прамога перакладу няма («талака», «Дзяды», «варыўня»), замест яго — сціплае тлумачэнне па-беларуску. З новым словам падказка закрываецца, на рахунак не ўплывае. Падказка ёсць толькі да малаўжывальных слоў і да тых, што зусім не падобныя да расейскіх і забываюцца, калі мовай даўно не карыстаўся («пэндзаль», «страўнік», «дыван» — ковёр) — іх 228 на ўсіх узроўнях. Без яе застаюцца словы, якія па-расейску пішуцца амаль гэтаксама («цэп», «бібліятэка», «парадокс»), і відавочныя ці часта ўжываныя («крама», «каханне», «чакаць») — на такіх словах кнопкі няма, а «Пас» і «Адгадана» займаюць усю шырыню. Падказкі выключаюцца ў наладах (па змаўчанні ўключаныя).
- Кірыліца або лацінка: словы, назвы камандаў, увесь інтэрфейс і загаловак укладкі транслітаруюцца ў беларускую лацінку (Biełaruś, Mahiloŭ, hulnia) паводле класічных правілаў.
- Светлая і цёмная тэмы (або аўта): стрыманая палітра «лён і чырвань», ромб як знак гульні.
- Галоўны экран — толькі каманды, узровень слоў і раунд; рэдкія налады (алфавіт, тэма, штраф, апошняе слова, падказкі да слоў, гук, вібрацыя) схаваныя ў шторку за іконкай у шапцы.
- Налады раунда: час (30/45/60/90 с), мэтавы лік (20/30/50/75), штраф за пас, правіла апошняга слова (па змаўчанні выключанае: раунд сканчаецца разам з сігналам).
- Агульнае апошняе слова (таксама выключанае па змаўчанні, пераключальнік з’яўляецца разам з правілам апошняга слова): пасля сігналу слова на экране адгадваюць усе каманды. «Адгадана» адкрывае шторку «Хто адгадаў?» — ачко ідзе выбранай камандзе, «Пас» значыць, што не адгадаў ніхто. На экране выніку такое слова падпісанае, а націск на яго дае перавыбраць каманду.
- Зроблена пад тэлефон: адлік 3‑2‑1 перад раундам, свайп карткі з візуальным адгукам, вялікія кнопкі ў зоне вялікага пальца, абарона ад падвойнага націску, ландшафтная раскладка, шторкі правілаў і налад зачыняюцца змахам уніз, пацверджанне перад завяршэннем гульні (скончыць яе можна і з паўзы пасярод раунда — словы гэтага раунда тады не залічваюцца), гук і вібрацыя, экран не гасне падчас раунда.
- З ноўтбука: стрэлкі ← → адказваюць, ↑ або «?» адкрывае падказку, прабел ставіць паўзу. Радок са стрэлкамі пад карткай паказваецца толькі на шырокіх экранах — на тэлефоне ён схаваны.
- Стан гульні захоўваецца ў браўзеры — можна закрыць укладку і вярнуцца, а з наладаў працягнуць незавершаную партыю.
- Пасля перазагрузкі адказы і вынікі раунда захоўваюцца. Актыўны раунд аднаўляецца на паўзе; калі час ужо выйшаў — прымяняецца правіла апошняга слова. Перад зменай колькасці каманд або пачаткам новай партыі гульня папярэджвае пра скід рахунку.
- Дадаецца на хатні экран як асобная праграма (PWA-маніфест).
npm install
npm run dev # лакальны сервер
npm test # тэсты (vitest + testing-library)
npm run test:coverage # тэсты з пакрыццём
npm run lint # oxlint
npm run build # зборка ў dist/
npm run deploy # ручная публікацыя на GitHub Pages (галіна gh-pages)- Deploy (
.github/workflows/deploy.yml) — пры кожным пушы ўmainправярае лінтар і тэсты, збірае праект і публікуеdist/у галінуgh-pages. Калі праверкі не прайшлі, сайт не абнаўляецца. Можна запусціць і ўручную з укладкі Actions. - CI (
.github/workflows/ci.yml) — тыя ж праверкі для кожнага pull request, у тым ліку ад Dependabot. - Dependabot (
.github/dependabot.yml) — штопанядзелка правярае абнаўленні npm-пакетаў і GitHub Actions і адкрывае pull request'ы: React асобнай групай, астатнія дробныя абнаўленні адным PR, мажорныя — паасобку.
Стэк: React 19 + Vite, звычайны JavaScript і CSS, без знешніх бібліятэк у рантайме. Шрыфты (Manrope, Unbounded) убудаваныя ў зборку праз fontsource.
src/
data/words.js слоўнікі па ўзроўнях складанасці
data/hints.js падказкі да слоў: пераклады на расейскую і ангельскую або тлумачэнне
game/ стан гульні (reducer), калода, захаванне, гук, скланенне лічэбнікаў
i18n/ транслітарацыя ў лацінку і кантэкст алфавіту
ornament/ піксельныя лагатыпы каманд, матывы арнаменту і SVG-геаметрыя
hooks/ таймер, свайп карткі, змахванне шторкі, клавіятура, wake lock
components/ экраны: налады, гатоўнасць, гульня, вынік, фінал; знакі, шторкі
theme.js тэма (data-theme, theme-color) і мова дакумента
test/ наладка vitest, дапаможнікі для таймераў і touch-падзей
Тэсты ляжаць побач з кодам (*.test.js(x)): reducer і калода, транслітарацыя (у тым ліку
ўвесь слоўнік), слоўнікі (колькасць, унікальнасць, алфавіт), падказкі (толькі да рэдкіх слоў, не падобных да расейскіх), арнаменты, хукі, кожны экран,
поўная партыя праз App і снапшоты экранаў у абодвух алфавітах.
Словы — у файле src/data/words.js, правапіс афіцыйны. Дадаць сваё слова
можна ў адпаведны масіў: EASY, MEDIUM ці HARD. Словазлучэнняў у слоўніках няма — толькі
асобныя словы. Рэдкаму слову варта дадаць падказку ў src/data/hints.js; падказку да слова,
якое па-расейску пішацца амаль гэтаксама, тэст не прапусціць. Новы лагатып каманды — матрыца 15×15 з «X» і «.»
у src/ornament/teamLogos.js. Назва і ключ лагатыпа дадаюцца ў
FAMILY_TEAM_MOTIFS (або ADULT_TEAM_MOTIFS — для рэжыму 18+) у src/game/constants.js;
спісы выпадковых назваў будуюцца з іх.