@jjlmoya/utils-tabletop 1.3.0 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/category/TabletopCategorySEO.astro +2 -7
- package/src/category/i18n/en.ts +4 -4
- package/src/category/i18n/ru.ts +2 -2
- package/src/category/i18n/zh.ts +8 -8
- package/src/category/index.ts +2 -1
- package/src/entries.ts +4 -1
- package/src/pages/[locale]/[slug].astro +7 -6
- package/src/tests/locale_completeness.test.ts +1 -1
- package/src/tests/no_em_dash.test.ts +47 -0
- package/src/tests/seo_length.test.ts +1 -0
- package/src/tests/title_quality.test.ts +1 -1
- package/src/tests/tool_validation.test.ts +1 -1
- package/src/tool/board-game-timer/modules/ColorHelper.ts +2 -2
- package/src/tool/board-game-timer/modules/DuelViewManager.ts +4 -4
- package/src/tool/board-game-timer/modules/GameRunner.ts +1 -1
- package/src/tool/board-game-timer/modules/MultiplayerViewManager.ts +2 -2
- package/src/tool/board-game-timer/modules/SetupPanelManager.ts +1 -1
- package/src/tool/board-game-timer/modules/TimerEngine.ts +1 -1
- package/src/tool/board-game-timer/types.ts +1 -1
- package/src/tool/dice-roller-simulator/client.ts +2 -2
- package/src/tool/dice-roller-simulator/i18n/ru.ts +8 -8
- package/src/tool/dice-roller-simulator/modules/history.ts +1 -1
- package/src/tool/first-player-selector/bibliography.astro +16 -0
- package/src/tool/first-player-selector/bibliography.ts +12 -0
- package/src/tool/first-player-selector/client.ts +197 -0
- package/src/tool/first-player-selector/component.astro +77 -0
- package/src/tool/first-player-selector/entry.ts +42 -0
- package/src/tool/first-player-selector/first-player-selector.css +303 -0
- package/src/tool/first-player-selector/i18n/de.ts +226 -0
- package/src/tool/first-player-selector/i18n/en.ts +226 -0
- package/src/tool/first-player-selector/i18n/es.ts +226 -0
- package/src/tool/first-player-selector/i18n/fr.ts +227 -0
- package/src/tool/first-player-selector/i18n/id.ts +226 -0
- package/src/tool/first-player-selector/i18n/it.ts +227 -0
- package/src/tool/first-player-selector/i18n/ja.ts +227 -0
- package/src/tool/first-player-selector/i18n/ko.ts +227 -0
- package/src/tool/first-player-selector/i18n/nl.ts +226 -0
- package/src/tool/first-player-selector/i18n/pl.ts +227 -0
- package/src/tool/first-player-selector/i18n/pt.ts +226 -0
- package/src/tool/first-player-selector/i18n/ru.ts +227 -0
- package/src/tool/first-player-selector/i18n/sv.ts +226 -0
- package/src/tool/first-player-selector/i18n/tr.ts +226 -0
- package/src/tool/first-player-selector/i18n/zh.ts +227 -0
- package/src/tool/first-player-selector/index.ts +9 -0
- package/src/tool/first-player-selector/modules/AnimationEffects.ts +256 -0
- package/src/tool/first-player-selector/modules/SelectionEngine.ts +249 -0
- package/src/tool/first-player-selector/modules/SoundEffects.ts +87 -0
- package/src/tool/first-player-selector/modules/TouchTracker.ts +148 -0
- package/src/tool/first-player-selector/seo.astro +16 -0
- package/src/tool/first-player-selector/types.ts +21 -0
- package/src/tools.ts +2 -0
- package/src/types.ts +1 -2
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
import type { FirstPlayerSelectorUI } from '../entry';
|
|
4
|
+
|
|
5
|
+
const ui: FirstPlayerSelectorUI = {
|
|
6
|
+
title: 'Eerste Speler Kiezer',
|
|
7
|
+
instructions: 'Plaats uw vingers op het scherm of klik om spelers toe te voegen',
|
|
8
|
+
tapToSelect: 'Tik om te Kiezen',
|
|
9
|
+
winner: 'Winnaar gekozen!',
|
|
10
|
+
reset: 'Opnieuw',
|
|
11
|
+
start: 'Start Keuze',
|
|
12
|
+
setupTitle: 'Instellingen van de Kiezer',
|
|
13
|
+
clearPlayers: 'Wis Alle Spelers',
|
|
14
|
+
fingerMode: 'Vinger Modus',
|
|
15
|
+
wheelMode: 'Roulette Modus',
|
|
16
|
+
presetsTitle: 'Opties',
|
|
17
|
+
soundOn: 'Geluid Aan',
|
|
18
|
+
soundOff: 'Geluid Uit',
|
|
19
|
+
playerCountLabel: 'Spelers / Vingers',
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
const faq = [
|
|
23
|
+
{
|
|
24
|
+
question: 'Hoe werkt de Vinger Modus?',
|
|
25
|
+
answer: 'In de Vinger Modus plaatst elke speler een vinger op het mobiele scherm. Het gereedschap detecteert alle aanraakpunten, toont gloeiende gekleurde ringen eromheen en start automatisch een korte aftelling. Zodra de aftelling eindigt, wordt één speler gemarkeerd als winnaar terwijl de anderen vervagen, vergezeld door een explosie van deeltjes.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: 'Kan ik dit gereedschap op een desktopcomputer gebruiken?',
|
|
29
|
+
answer: 'Ja! Als u een apparaat zonder aanraakscherm gebruikt, schakelt het gereedschap automatisch naar de Roulette Modus. U kunt op het canvas klikken om gekleurde spelerspinnen te plaatsen en vervolgens op de Start Keuze knop klikken om het selectiewiel te laten draaien.',
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
question: 'Hoeveel spelers kunnen meedoen?',
|
|
33
|
+
answer: 'Het gereedschap ondersteunt tot 10 gelijktijdige spelers. In de Vinger Modus kunnen tot 10 vingers tegelijk worden gedetecteerd. In de Roulette Modus kunt u tot 10 gekleurde spelerspinnen op het canvas plaatsen door te klikken.',
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
question: 'Is de selectie echt willekeurig?',
|
|
37
|
+
answer: 'Ja. Het selectie-algoritme gebruikt JavaScript\'s cryptografische Math.random() om onpartijdige resultaten te garanderen. In de Vinger Modus wordt de winnaar uniform willekeurig gekozen uit alle gedetecteerde aanraakpunten. In de Roulette Modus vertraagt het wiel realistisch met wrijvingsfysica, en de uiteindelijke hoek bepaalt wiskundig de winnaar.',
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
question: 'Hoe verwijder ik een spelerpin in de Roulette Modus?',
|
|
41
|
+
answer: 'Klik eenvoudig op een bestaande pin om deze te verwijderen. Het gereedschap detecteert klikken binnen 30 pixels van een geplaatste pin en verwijdert deze, zodat u de spelersopstelling kunt aanpassen voordat u de spin start.',
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
question: 'Verzamelt of verzendt dit gereedschap gegevens?',
|
|
45
|
+
answer: 'Helemaal niet. Alles wordt lokaal in uw browser uitgevoerd. Geen vingergegevens, aanraakposities of selectieresultaten worden ooit naar een server verzonden. Uw spelavond blijft volledig privé.',
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
question: 'Werkt het op projectoren of externe schermen?',
|
|
49
|
+
answer: 'Ja. De Roulette Modus werkt uitstekend op grote schermen en projectoren voor bordspelsessies. De hoogcontrast neon visuals en grote afteltimer zijn ontworpen om vanaf de andere kant van de kamer zichtbaar te zijn.',
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
question: 'Waarom wordt de aftelling gereset wanneer iemand zijn vinger optilt?',
|
|
53
|
+
answer: 'Dit is opzettelijk. In de Vinger Modus gaat de aftelling alleen door terwijl alle spelers hun vingers stil op het scherm houden. Als iemand de vinger optilt of verschuift, wordt de timer gereset om ervoor te zorgen dat iedereen betrokken is voordat de selectie wordt uitgevoerd. Dit voorkomt onbedoelde activeringen.',
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
question: 'Kan ik het geluid wijzigen of uitschakelen?',
|
|
57
|
+
answer: 'Ja. Klik op het luidsprekerpictogram rechtsboven om het geluid aan of uit te zetten. Het gereedschap speelt een tikkend geluid tijdens de aftelling en een fanfare wanneer een winnaar is gekozen.',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
question: 'Wat gebeurt er als er maar één speler is?',
|
|
61
|
+
answer: 'In beide modi zijn ten minste twee spelers vereist om een selectie te maken. In de Vinger Modus start de aftelling pas wanneer ten minste twee vingers worden gedetecteerd. In de Roulette Modus blijft de Start Keuze knop uitgeschakeld totdat u ten minste twee pinnen plaatst.',
|
|
62
|
+
},
|
|
63
|
+
];
|
|
64
|
+
|
|
65
|
+
const howTo = [
|
|
66
|
+
{
|
|
67
|
+
name: 'Plaats Vingers of Spelers',
|
|
68
|
+
text: 'In de Vinger Modus laten alle spelers één vinger op het scherm plaatsen. In de Roulette Modus klikt u ergens op het canvas om spelerspinnen te plaatsen.',
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
name: 'Start de Selectie',
|
|
72
|
+
text: 'In de Vinger Modus start de selectie automatisch na een paar seconden vasthouden. In de Roulette Modus klikt u op de Start Keuze knop om te draaien.',
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
name: 'Zie de Winnaar',
|
|
76
|
+
text: 'De winnaar wordt gemarkeerd met een pulseffect, deelexplosie en geluidsfanfare. Klik op Opnieuw of til alle vingers op om het opnieuw te proberen.',
|
|
77
|
+
},
|
|
78
|
+
];
|
|
79
|
+
|
|
80
|
+
export const content: ToolLocaleContent<FirstPlayerSelectorUI> = {
|
|
81
|
+
slug: 'eerste-speler-kiezer',
|
|
82
|
+
title: 'Eerste Speler Kiezer: Vingerkiezer & Beurtenroulette',
|
|
83
|
+
description: 'Kies wie er als eerste mag in uw bordspellen met deze spectaculaire vingerkiezer en interactieve beurtenroulette.',
|
|
84
|
+
ui,
|
|
85
|
+
seo: [
|
|
86
|
+
{ type: 'title', text: 'Eerlijkheid en Strategie: Het Eerste Spelersvoordeel in Bordspellen Oplossen', level: 2 },
|
|
87
|
+
{ type: 'paragraph', html: 'Het bepalen van de startspeler in bordspelsessies kan de spel dynamiek sterk beïnvloeden. In de speltheorie verwijst het Eerste-Spelersvoordeel (FPA) naar het statistische voordeel dat de speler die de eerste beurt heeft, heeft ten opzichte van tegenstanders. In strategische schaakpartijen, wargames en moderne Eurogames zoals Agricola of Puerto Rico stelt het nemen van de eerste actie een speler in staat om kritieke grondstoffen veilig te stellen of stukken te positioneren voordat tegenstanders kunnen reageren. Om FPA te beperken en een gebalanceerd speelveld te garanderen, is een betrouwbare, onpartijdige selectiemethode essentieel. Onze digitale startspeler kiezer garandeert absolute willekeur, waardoor speelgroepen direct de beurtvolgorde kunnen bepalen en meteen kunnen beginnen met spelen.' },
|
|
88
|
+
{
|
|
89
|
+
type: 'stats',
|
|
90
|
+
items: [
|
|
91
|
+
{ value: '100% Willekeurig', label: 'Onpartijdige Selectie' },
|
|
92
|
+
{ value: '2 Seconden', label: 'Aftel Trigger' },
|
|
93
|
+
{ value: 'Touch', label: 'Mobiel Compatibel' },
|
|
94
|
+
],
|
|
95
|
+
columns: 3,
|
|
96
|
+
},
|
|
97
|
+
{ type: 'title', text: 'Spelregels vs. Digitale Randomizers: De Aanraakrevolutie', level: 2 },
|
|
98
|
+
{ type: 'paragraph', html: 'Veel moderne bordspelregelboeken bevatten thematische startspelerregels, zoals "de jongste speler begint", "de laatste die een boerderij bezocht begint" of "de langste speler begint". Hoewel vermakelijk tijdens initiële spelletjes, worden deze regels snel repetitief, statisch en oneerlijk voor regelmatige speelgroepen. Fysieke randomizers zoals dobbelsteenworpen of kaarttrekkingen verlengen de opzettijd en zijn gevoelig voor menselijke vooringenomenheid of slecht schudden. De vingerkiezer-mechaniek lost dit op door een snelle, aanraak-en-vasthoud randomizer te bieden die in seconden een startspeler selecteert zonder extra kaarten of dobbelstenen.' },
|
|
99
|
+
{
|
|
100
|
+
type: 'table',
|
|
101
|
+
headers: ['Selectiemethode', 'Snelheid en Opzet', 'Kwaliteit van Willekeur', 'Het Beste Geschikt Voor'],
|
|
102
|
+
rows: [
|
|
103
|
+
['Willekeurige Spelregels', 'Direct, maar repetitief', 'Geen willekeur na het eerste spel', 'Gezinsspellen en feestspellen'],
|
|
104
|
+
['Dobbelsteen Worpen', 'Vereist dobbelstenen zoeken en gooien, vatbaar voor gelijke standen', 'Hoge willekeur, maar vervelend voor grote groepen', 'Wargames en RPGs'],
|
|
105
|
+
['Kaarten Trekken', 'Vereist schudden en uitdelen', 'Goede willekeur, maar vereist fysieke kaarten', 'Deck-builders en kaartspellen'],
|
|
106
|
+
['Aanraak Vingerkiezer', 'Direct, geen opzet, visuele animaties', 'Absolute algoritmische willekeur', 'Alle bord- en tafelspellen'],
|
|
107
|
+
],
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
type: 'tip',
|
|
111
|
+
title: 'Optimaliseer Uw Touch Kiezer Opstelling',
|
|
112
|
+
html: 'Voor de beste ervaring in Vinger Modus, plaats uw tablet of smartphone plat in het midden van de tafel. Laat alle spelers één duidelijke vinger op het aanraakvlak plaatsen. De aftelling wordt gereset als een speler zijn vinger optilt of verschuift, waardoor onbedoelde selecties worden voorkomen en absolute consensus wordt gegarandeerd voordat de kiezer wordt gestart.',
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
type: 'title',
|
|
116
|
+
text: 'Uw Gereedschap Kiezen: Aanraak Vingerkiezer vs. Spinroulette',
|
|
117
|
+
level: 3,
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
type: 'paragraph',
|
|
121
|
+
html: 'Afhankelijk van uw hardware-opstelling en omgeving kunt u schakelen tussen twee verschillende lay-outmodi die zijn ontworpen om de schermruimte en toegankelijkheid te maximaliseren:' },
|
|
122
|
+
{
|
|
123
|
+
type: 'proscons',
|
|
124
|
+
title: 'Selectiemodi Vergelijken',
|
|
125
|
+
items: [
|
|
126
|
+
{
|
|
127
|
+
pro: 'Vinger Modus biedt een ongelooflijk snelle en tactiele ervaring, waardoor tot 10 spelers tegelijkertijd hun vingers kunnen plaatsen.',
|
|
128
|
+
con: 'Vereist een aanraakscherm zoals een smartphone of tablet.',
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
pro: 'Roulette Modus werkt op elke laptop, desktop of projectorscherm, ideaal voor virtuele sessies en remote spelavonden.',
|
|
132
|
+
con: 'Vereist klikken om handmatig spelers te plaatsen voordat de spin wordt gestart.',
|
|
133
|
+
},
|
|
134
|
+
],
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
type: 'title',
|
|
138
|
+
text: 'Visuele Optimalisatie: Touch Webpatronen vs. Vertragende Wiel',
|
|
139
|
+
level: 3,
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
type: 'comparative',
|
|
143
|
+
items: [
|
|
144
|
+
{
|
|
145
|
+
title: 'Touch Kiezer',
|
|
146
|
+
description: 'Volgt meerdere afzonderlijke aanraakpunten op het scherm. Tekent neon-verbindingswebben en krimpende aftelringen rond elke vinger, uitmondend in een vieringsexplosie.',
|
|
147
|
+
icon: 'mdi:gesture-double-tap',
|
|
148
|
+
highlight: true,
|
|
149
|
+
points: [
|
|
150
|
+
'Gelijktijdige aanraakregistratie',
|
|
151
|
+
'Tactiele vasthoud-en-loslaat controles',
|
|
152
|
+
'Spectaculaire deelexplosies',
|
|
153
|
+
],
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
title: 'Spin Roulette Wiel',
|
|
157
|
+
description: 'Plaatst gekleurde spelerspinnen rond een wiskundig middelpunt. Laat een gekleurd sectorwiel draaien dat op natuurlijke wijze vertraagt met behulp van gesimuleerde wrijving voordat de winnaar wordt aangewezen.',
|
|
158
|
+
icon: 'mdi:compass-outline',
|
|
159
|
+
highlight: false,
|
|
160
|
+
points: [
|
|
161
|
+
'Centrum-gebaseerde uitlijning',
|
|
162
|
+
'Wrijvingsgebaseerde vertragingsfysica',
|
|
163
|
+
'Universele desktop muisondersteuning',
|
|
164
|
+
],
|
|
165
|
+
},
|
|
166
|
+
],
|
|
167
|
+
columns: 2,
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
type: 'glossary',
|
|
171
|
+
items: [
|
|
172
|
+
{
|
|
173
|
+
term: 'Eerste-Spelersvoordeel (FPA)',
|
|
174
|
+
definition: 'Een beurtvolgorde-vooringenomenheid in bordspellen waarbij de startspeler een statistisch significant voordeel behaalt in actie-selectie of resourcebeheer.',
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
term: 'Aanraakselectieprotocol',
|
|
178
|
+
definition: 'Een aanraak-en-vasthoud interactie waarbij alle deelnemers hun vingers op een aanraakscherm plaatsen totdat één enkele winnaar willekeurig wordt gemarkeerd.',
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
term: 'Vertragingsfysica',
|
|
182
|
+
definition: 'Een wiskundige animatieroutine die wrijvingsmultiplicatoren toepast op een draaiend wiel om natuurlijke traagheid te simuleren en spanning op te bouwen.',
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
term: 'Centrum Berekening',
|
|
186
|
+
definition: 'Het berekende middelpunt van een verspreide set coördinaat-spelers, gebruikt als rotatiepivot voor de roulettewiel graphics.',
|
|
187
|
+
},
|
|
188
|
+
],
|
|
189
|
+
},
|
|
190
|
+
],
|
|
191
|
+
faq: faq,
|
|
192
|
+
bibliography,
|
|
193
|
+
howTo: howTo,
|
|
194
|
+
schemas: [
|
|
195
|
+
{
|
|
196
|
+
'@context': 'https://schema.org',
|
|
197
|
+
'@type': 'FAQPage',
|
|
198
|
+
'mainEntity': faq.map((f) => ({
|
|
199
|
+
'@type': 'Question',
|
|
200
|
+
'name': f.question,
|
|
201
|
+
'acceptedAnswer': {
|
|
202
|
+
'@type': 'Answer',
|
|
203
|
+
'text': f.answer,
|
|
204
|
+
},
|
|
205
|
+
})),
|
|
206
|
+
},
|
|
207
|
+
{
|
|
208
|
+
'@context': 'https://schema.org',
|
|
209
|
+
'@type': 'SoftwareApplication',
|
|
210
|
+
'name': 'Eerste Speler Kiezer & Vingerkiezer',
|
|
211
|
+
'operatingSystem': 'All',
|
|
212
|
+
'applicationCategory': 'UtilitiesApplication',
|
|
213
|
+
'browserRequirements': 'Requires HTML5. Requires JavaScript.',
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
'@context': 'https://schema.org',
|
|
217
|
+
'@type': 'HowTo',
|
|
218
|
+
'name': 'How to Use the First Player Selector',
|
|
219
|
+
'step': howTo.map((h) => ({
|
|
220
|
+
'@type': 'HowToStep',
|
|
221
|
+
'name': h.name,
|
|
222
|
+
'text': h.text,
|
|
223
|
+
})),
|
|
224
|
+
},
|
|
225
|
+
],
|
|
226
|
+
};
|
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
import type { FirstPlayerSelectorUI } from '../entry';
|
|
4
|
+
|
|
5
|
+
const ui: FirstPlayerSelectorUI = {
|
|
6
|
+
title: 'Wybór pierwszego gracza',
|
|
7
|
+
instructions: 'Połóż palce na ekranie lub kliknij, aby dodać pinezki',
|
|
8
|
+
tapToSelect: 'Dotknij, aby wybrać',
|
|
9
|
+
winner: 'Zwycięzca wybrany!',
|
|
10
|
+
reset: 'Resetuj',
|
|
11
|
+
start: 'Rozpocznij wybór',
|
|
12
|
+
setupTitle: 'Ustawienia wyboru',
|
|
13
|
+
clearPlayers: 'Usuń wszystkie pinezki',
|
|
14
|
+
fingerMode: 'Tryb palców',
|
|
15
|
+
wheelMode: 'Tryb ruletki',
|
|
16
|
+
presetsTitle: 'Opcje',
|
|
17
|
+
soundOn: 'Dźwięk wł.',
|
|
18
|
+
soundOff: 'Dźwięk wył.',
|
|
19
|
+
playerCountLabel: 'Pinezki / Palce',
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
const faq = [
|
|
23
|
+
{
|
|
24
|
+
question: 'Jak działa tryb palców?',
|
|
25
|
+
answer: 'W trybie palców każdy gracz kładzie palec na ekranie urządzenia mobilnego. Narzędzie wykrywa wszystkie punkty dotyku, wyświetla świecące kolorowe pierścienie wokół nich i automatycznie uruchamia krótkie odliczanie. Po zakończeniu odliczania jeden gracz zostaje podświetlony jako zwycięzca, a pozostali znikają w towarzyszącej eksplozji cząsteczek.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: 'Czy mogę używać tego narzędzia na komputerze stacjonarnym?',
|
|
29
|
+
answer: 'Tak! Jeśli korzystasz z urządzenia bez ekranu dotykowego, narzędzie automatycznie przełącza się na tryb ruletki. Możesz klikać na ekranie, aby umieszczać kolorowe pinezki reprezentujące graczy, a następnie kliknąć przycisk "Rozpocznij wybór", aby uruchomić wirowanie koła.',
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
question: 'Ilu graczy może uczestniczyć?',
|
|
33
|
+
answer: 'Narzędzie obsługuje do 10 jednoczesnych graczy. W trybie palców można wykryć do 10 palców jednocześnie. W trybie ruletki możesz umieścić do 10 kolorowych pinezek na ekranie, klikając myszą.',
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
question: 'Czy wybór jest naprawdę losowy?',
|
|
37
|
+
answer: 'Tak. Algorytm wyboru wykorzystuje kryptograficzny Math.random() z JavaScript, aby zapewnić bezstronne wyniki. W trybie palców zwycięzca jest wybierany jednostajnie losowo spośród wszystkich wykrytych punktów dotyku. W trybie ruletki koło zwalnia realistycznie przy użyciu fizyki tarcia, a końcowy kąt matematycznie określa zwycięzcę.',
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
question: 'Jak usunąć pinezkę gracza w trybie ruletki?',
|
|
41
|
+
answer: 'Wystarczy kliknąć na istniejącą pinezkę, aby ją usunąć. Narzędzie wykrywa kliknięcia w promieniu 30 pikseli od dowolnej umieszczonej pinezki i usuwa ją, umożliwiając dostosowanie składu graczy przed uruchomieniem wirowania.',
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
question: 'Czy to narzędzie zbiera lub przesyła jakieś dane?',
|
|
45
|
+
answer: 'Wcale nie. Wszystko działa lokalnie w twojej przeglądarce. Żadne dane o palcach, pozycjach dotyku ani wynikach wyboru nigdy nie są wysyłane na serwer. Twój wieczór gier pozostaje w pełni prywatny.',
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
question: 'Czy działa na projektorach lub zewnętrznych ekranach?',
|
|
49
|
+
answer: 'Tak. Tryb ruletki świetnie działa na dużych ekranach i projektorach podczas sesji planszowych. Kontrastowe neonowe efekty wizualne i duży licznik czasu są zaprojektowane tak, aby były widoczne z drugiego końca pokoju.',
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
question: 'Dlaczego odliczanie resetuje się, gdy ktoś zdejmie palec?',
|
|
53
|
+
answer: 'To celowe działanie. W trybie palców odliczanie postępuje tylko wtedy, gdy wszyscy gracze trzymają palce nieruchomo na ekranie. Jeśli ktoś zdejmie lub przesunie palec, timer resetuje się, aby upewnić się, że wszyscy są gotowi przed wyborem. Zapobiega to przypadkowym wyzwoleniom.',
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
question: 'Czy mogę zmienić dźwięk lub wyciszyć go?',
|
|
57
|
+
answer: 'Tak. Kliknij ikonę głośnika w prawym górnym rogu, aby włączyć lub wyłączyć dźwięk. Narzędzie odtwarza dźwięk tykania podczas odliczania i fanfary przy wyborze zwycięzcy.',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
question: 'Co się stanie, jeśli jest tylko jeden gracz?',
|
|
61
|
+
answer: 'W obu trybach do wyboru wymagane jest co najmniej dwóch graczy. W trybie palców odliczanie nie rozpocznie się, dopóki nie zostaną wykryte co najmniej dwa palce. W trybie ruletki przycisk "Rozpocznij wybór" pozostaje nieaktywny, dopóki nie umieścisz co najmniej dwóch pinezek.',
|
|
62
|
+
},
|
|
63
|
+
];
|
|
64
|
+
|
|
65
|
+
const howTo = [
|
|
66
|
+
{
|
|
67
|
+
name: 'Umieść palce lub pinezki',
|
|
68
|
+
text: 'W trybie palców poproś wszystkich graczy, aby położyli jeden palec na ekranie. W trybie ruletki kliknij w dowolnym miejscu ekranu, aby umieścić pinezki graczy.',
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
name: 'Uruchom wybór',
|
|
72
|
+
text: 'W trybie palców wybór rozpoczyna się automatycznie po przytrzymaniu przez kilka sekund. W trybie ruletki kliknij przycisk "Rozpocznij wybór", aby uruchomić wirowanie.',
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
name: 'Zobacz zwycięzcę',
|
|
76
|
+
text: 'Zwycięzca jest podświetlany efektem pulsowania, eksplozją cząsteczek i fanfarami dźwiękowymi. Kliknij "Resetuj" lub zdejmij wszystkie palce, aby spróbować ponownie.',
|
|
77
|
+
},
|
|
78
|
+
];
|
|
79
|
+
|
|
80
|
+
export const content: ToolLocaleContent<FirstPlayerSelectorUI> = {
|
|
81
|
+
slug: 'wybor-pierwszego-gracza',
|
|
82
|
+
title: 'Wybór pierwszego gracza: Wybieracz palcowy i ruletka tur',
|
|
83
|
+
description: 'Wybierz, kto zaczyna w twoich grach planszowych za pomocą spektakularnego wybieracza palcowego i interaktywnej ruletki tur.',
|
|
84
|
+
ui,
|
|
85
|
+
seo: [
|
|
86
|
+
{ type: 'title', text: 'Sprawiedliwość i strategia: Rozwiązywanie problemu przewagi pierwszego gracza w grach planszowych', level: 2 },
|
|
87
|
+
{ type: 'paragraph', html: 'Określenie rozpoczynającego gracza w sesjach planszowych może znacząco wpłynąć na dynamikę gry. W teorii gier przewaga pierwszego gracza (FPA) odnosi się do statystycznej przewagi, jaką gracz wykonujący pierwszy ruch ma nad przeciwnikami. W strategicznych partiach szachów, wargamach i nowoczesnych eurograch, takich jak Agricola czy Puerto Rico, wykonanie pierwszej akcji pozwala graczowi zdobyć kluczowe zasoby lub ustawić pionki, zanim przeciwnicy zdążą zareagować. Aby zminimalizować FPA i zagwarantować zrównoważone pole gry, niezbędna jest niezawodna, bezstronna metoda wyboru. Nasz cyfrowy selektor pierwszego gracza gwarantuje absolutną losowość, umożliwiając grupom graczy natychmiastowe ustalenie kolejności tur i przejście do gry.' },
|
|
88
|
+
{
|
|
89
|
+
type: 'stats',
|
|
90
|
+
items: [
|
|
91
|
+
{ value: '100% Losowo', label: 'Bezstronny wybór' },
|
|
92
|
+
{ value: '2 Sekundy', label: 'Odliczanie' },
|
|
93
|
+
{ value: 'Multitouch', label: 'Kompatybilny z mobilem' },
|
|
94
|
+
],
|
|
95
|
+
columns: 3,
|
|
96
|
+
},
|
|
97
|
+
{ type: 'title', text: 'Zasady planszówek a cyfrowe randomizatory: Rewolucja dotykowa', level: 2 },
|
|
98
|
+
{ type: 'paragraph', html: 'Wiele współczesnych instrukcji gier planszowych zawiera tematyczne zasady wyboru pierwszego gracza, takie jak "najmłodszy gracz zaczyna", "ostatnia osoba, która była na farmie, zaczyna" czy "najwyższy gracz zaczyna". Choć zabawne w pierwszych partiach, zasady te szybko stają się powtarzalne, statyczne i niesprawiedliwe dla stałych grup graczy. Fizyczne randomizatory, takie jak rzuty kośćmi czy losowanie kart, wydłużają czas przygotowania i są podatne na ludzkie uprzedzenia lub słabe tasowanie. Mechanika wybieracza palcowego rozwiązuje ten problem, oferując szybki, dotykowy randomizator, który wybiera pierwszego gracza w sekundę bez potrzeby używania dodatkowych kart czy kości.' },
|
|
99
|
+
{
|
|
100
|
+
type: 'table',
|
|
101
|
+
headers: ['Metoda wyboru', 'Szybkość i przygotowanie', 'Jakość losowości', 'Najlepsza dla'],
|
|
102
|
+
rows: [
|
|
103
|
+
['Dowolne zasady z instrukcji', 'Natychmiast, ale powtarzalne', 'Zero losowości po pierwszej grze', 'Gry rodzinne i imprezowe'],
|
|
104
|
+
['Rzuty kośćmi', 'Wymaga znalezienia i rzucania kośćmi, możliwe remisy', 'Wysoka losowość, ale nużące dla dużych grup', 'Wargamy i RPG'],
|
|
105
|
+
['Losowanie kart', 'Wymaga tasowania i rozdawania', 'Dobra losowość, ale potrzebne fizyczne karty', 'Deck-buildery i gry karciane'],
|
|
106
|
+
['Dotykowy wybór palcem', 'Natychmiast, zero przygotowania, animacje wizualne', 'Absolutna algorytmiczna losowość', 'Wszystkie gry planszowe'],
|
|
107
|
+
],
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
type: 'tip',
|
|
111
|
+
title: 'Optymalizacja konfiguracji multitouch',
|
|
112
|
+
html: 'Dla najlepszych wrażeń w trybie palców umieść tablet lub smartfon płasko na środku stołu. Poproś wszystkich graczy, aby wyraźnie położyli jeden palec na ekranie. Odliczanie resetuje się, jeśli gracz uniesie lub przesunie palec, zapobiegając przypadkowym wyborom i zapewniając pełny konsensus przed uruchomieniem selekcji.',
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
type: 'title',
|
|
116
|
+
text: 'Wybór narzędzia: Dotykowy wybieracz palcowy a ruletka',
|
|
117
|
+
level: 3,
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
type: 'paragraph',
|
|
121
|
+
html: 'W zależności od konfiguracji sprzętu i otoczenia możesz przełączać się między dwoma trybami, zaprojektowanymi w celu maksymalizacji wykorzystania ekranu i dostępności:',
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
type: 'proscons',
|
|
125
|
+
title: 'Porównanie trybów wyboru',
|
|
126
|
+
items: [
|
|
127
|
+
{
|
|
128
|
+
pro: 'Tryb palców zapewnia niesamowicie szybkie i dotykowe doświadczenie, umożliwiając jednoczesny dotyk do 10 graczy.',
|
|
129
|
+
con: 'Wymaga ekranu dotykowego, takiego jak smartfon lub tablet.',
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
pro: 'Tryb ruletki działa na każdym laptopie, komputerze stacjonarnym lub projektorze, co czyni go idealnym do sesji wirtualnych i zdalnych wieczorów gier.',
|
|
133
|
+
con: 'Wymaga klikania w celu ręcznego umieszczania pinezek przed uruchomieniem wirowania.',
|
|
134
|
+
},
|
|
135
|
+
],
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
type: 'title',
|
|
139
|
+
text: 'Optymalizacja wizualna: Sieci multitouch i zwalniające koła',
|
|
140
|
+
level: 3,
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
type: 'comparative',
|
|
144
|
+
items: [
|
|
145
|
+
{
|
|
146
|
+
title: 'Wybór multitouch',
|
|
147
|
+
description: 'Śledzi wiele różnych punktów dotyku na ekranie. Rysuje neonowe sieci połączeń i kurczące się pierścienie odliczania wokół każdego palca, zakończone świątecznym wybuchem.',
|
|
148
|
+
icon: 'mdi:gesture-double-tap',
|
|
149
|
+
highlight: true,
|
|
150
|
+
points: [
|
|
151
|
+
'Jednoczesne śledzenie dotyku',
|
|
152
|
+
'Dotykowe sprawdzanie przytrzymania',
|
|
153
|
+
'Spektakularne eksplozje cząsteczek',
|
|
154
|
+
],
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
title: 'Ruletka',
|
|
158
|
+
description: 'Umieszcza kolorowe pinezki graczy wokół matematycznego centroidu. Uruchamia wirowanie kolorowego koła sektorowego, które zwalnia naturalnie przy użyciu symulowanego tarcia, zanim wyłoni zwycięzcę.',
|
|
159
|
+
icon: 'mdi:compass-outline',
|
|
160
|
+
highlight: false,
|
|
161
|
+
points: [
|
|
162
|
+
'Wyrównanie względem centroidu',
|
|
163
|
+
'Fizyka zwalniania oparta na tarciu',
|
|
164
|
+
'Uniwersalna obsługa myszy na PC',
|
|
165
|
+
],
|
|
166
|
+
},
|
|
167
|
+
],
|
|
168
|
+
columns: 2,
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
type: 'glossary',
|
|
172
|
+
items: [
|
|
173
|
+
{
|
|
174
|
+
term: 'Przewaga pierwszego gracza (FPA)',
|
|
175
|
+
definition: 'Odchylenie kolejności tur w grach planszowych, w którym rozpoczynający gracz zyskuje statystycznie istotną przewagę w wyborze akcji lub kontroli zasobów.',
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
term: 'Protokół wyboru dotykowego',
|
|
179
|
+
definition: 'Interakcja polegająca na dotknięciu i przytrzymaniu, w której wszyscy uczestnicy kładą palce na ekranie dotykowym, dopóki jeden losowy zwycięzca nie zostanie podświetlony.',
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
term: 'Fizyka zwalniania',
|
|
183
|
+
definition: 'Procedura animacji matematycznej, która stosuje mnożniki tarcia do wirującego koła w celu symulacji naturalnej bezwładności i budowania napięcia.',
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
term: 'Obliczanie centroidu',
|
|
187
|
+
definition: 'Obliczony punkt centralny rozproszonego zestawu współrzędnych pinezek, używany jako oś obrotu dla grafiki koła ruletki.',
|
|
188
|
+
},
|
|
189
|
+
],
|
|
190
|
+
},
|
|
191
|
+
],
|
|
192
|
+
faq: faq,
|
|
193
|
+
bibliography,
|
|
194
|
+
howTo: howTo,
|
|
195
|
+
schemas: [
|
|
196
|
+
{
|
|
197
|
+
'@context': 'https://schema.org',
|
|
198
|
+
'@type': 'FAQPage',
|
|
199
|
+
'mainEntity': faq.map((f) => ({
|
|
200
|
+
'@type': 'Question',
|
|
201
|
+
'name': f.question,
|
|
202
|
+
'acceptedAnswer': {
|
|
203
|
+
'@type': 'Answer',
|
|
204
|
+
'text': f.answer,
|
|
205
|
+
},
|
|
206
|
+
})),
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
'@context': 'https://schema.org',
|
|
210
|
+
'@type': 'SoftwareApplication',
|
|
211
|
+
'name': 'Wybór pierwszego gracza i wybieracz palcowy',
|
|
212
|
+
'operatingSystem': 'All',
|
|
213
|
+
'applicationCategory': 'UtilitiesApplication',
|
|
214
|
+
'browserRequirements': 'Requires HTML5. Requires JavaScript.',
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
'@context': 'https://schema.org',
|
|
218
|
+
'@type': 'HowTo',
|
|
219
|
+
'name': 'How to Use the First Player Selector',
|
|
220
|
+
'step': howTo.map((h) => ({
|
|
221
|
+
'@type': 'HowToStep',
|
|
222
|
+
'name': h.name,
|
|
223
|
+
'text': h.text,
|
|
224
|
+
})),
|
|
225
|
+
},
|
|
226
|
+
],
|
|
227
|
+
};
|