@jjlmoya/utils-tabletop 1.11.0 → 1.12.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/entries.ts +4 -0
- package/src/tests/locale_completeness.test.ts +1 -1
- package/src/tests/tool_validation.test.ts +1 -1
- package/src/tool/dice-roller-simulator/component.astro +116 -26
- package/src/tool/scatter-direction-selector/animation.ts +278 -0
- package/src/tool/scatter-direction-selector/bibliography.astro +16 -0
- package/src/tool/scatter-direction-selector/bibliography.ts +12 -0
- package/src/tool/scatter-direction-selector/client.ts +296 -0
- package/src/tool/scatter-direction-selector/component.astro +184 -0
- package/src/tool/scatter-direction-selector/entry.ts +59 -0
- package/src/tool/scatter-direction-selector/history.ts +71 -0
- package/src/tool/scatter-direction-selector/i18n/de.ts +143 -0
- package/src/tool/scatter-direction-selector/i18n/en.ts +231 -0
- package/src/tool/scatter-direction-selector/i18n/es.ts +143 -0
- package/src/tool/scatter-direction-selector/i18n/fr.ts +143 -0
- package/src/tool/scatter-direction-selector/i18n/id.ts +143 -0
- package/src/tool/scatter-direction-selector/i18n/it.ts +143 -0
- package/src/tool/scatter-direction-selector/i18n/ja.ts +143 -0
- package/src/tool/scatter-direction-selector/i18n/ko.ts +143 -0
- package/src/tool/scatter-direction-selector/i18n/nl.ts +143 -0
- package/src/tool/scatter-direction-selector/i18n/pl.ts +143 -0
- package/src/tool/scatter-direction-selector/i18n/pt.ts +143 -0
- package/src/tool/scatter-direction-selector/i18n/ru.ts +143 -0
- package/src/tool/scatter-direction-selector/i18n/sv.ts +143 -0
- package/src/tool/scatter-direction-selector/i18n/tr.ts +143 -0
- package/src/tool/scatter-direction-selector/i18n/zh.ts +143 -0
- package/src/tool/scatter-direction-selector/index.ts +10 -0
- package/src/tool/scatter-direction-selector/logic.test.ts +62 -0
- package/src/tool/scatter-direction-selector/logic.ts +52 -0
- package/src/tool/scatter-direction-selector/scatter-direction-selector.css +794 -0
- package/src/tool/scatter-direction-selector/seo.astro +16 -0
- package/src/tool/scatter-direction-selector/settings.ts +81 -0
- package/src/tool/scatter-direction-selector/sound.ts +22 -0
- package/src/tools.ts +2 -0
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
2
|
+
import type { ScatterSelectorLocaleContent } from '../entry';
|
|
3
|
+
|
|
4
|
+
const ui = {
|
|
5
|
+
title: 'Sélecteur de Direction de Déviation',
|
|
6
|
+
setupTitle: 'Paramètres de Déviation',
|
|
7
|
+
sectorsLabel: 'Secteurs de Boussole',
|
|
8
|
+
sectors8: '8 Directions',
|
|
9
|
+
sectors12: '12 Directions (Horloge)',
|
|
10
|
+
diceLabel: 'Jet de Distance de Déviation',
|
|
11
|
+
diceD6: '1D6 Pouces',
|
|
12
|
+
dice2D6: '2D6 Pouces',
|
|
13
|
+
diceD10: '1D10 Pouces',
|
|
14
|
+
diceCustom: 'Plage Personnalisée',
|
|
15
|
+
customMaxLabel: 'Distance Maximale',
|
|
16
|
+
hitChanceLabel: 'Probabilité d\u2019Impact Direct (%)',
|
|
17
|
+
rollButton: 'Lancer la Déviation',
|
|
18
|
+
hitResult: 'Impact Direct\u00a0!',
|
|
19
|
+
scatterResult: 'Déviation\u00a0!',
|
|
20
|
+
distanceLabel: 'Distance',
|
|
21
|
+
angleLabel: 'Angle',
|
|
22
|
+
dragHint: 'Fais glisser la boussole pour régler la direction du vent manuellement',
|
|
23
|
+
historyTitle: 'Lancers Récents',
|
|
24
|
+
clearHistory: 'Effacer l\u2019Historique',
|
|
25
|
+
presetTitle: 'Préréglages de Wargaming',
|
|
26
|
+
soundOn: 'Son Activé',
|
|
27
|
+
soundOff: 'Son Désactivé',
|
|
28
|
+
guideStep1: 'Fais glisser la boussole pour l\u2019aligner sur ta table de jeu',
|
|
29
|
+
guideStep2: 'Choisis les secteurs, les dés et la probabilité d\u2019impact direct',
|
|
30
|
+
guideStep3: 'Centre\u00a0= ta cible. La lueur verte signifie qu\u2019elle a atterri exactement dessus',
|
|
31
|
+
guideStep3Scatter: 'Flèche\u00a0= direction de déviation. Déplace le tir depuis le centre de cette distance en pouces le long de la flèche',
|
|
32
|
+
scatterModeLabel: 'Direction de Déviation',
|
|
33
|
+
scatterModeRandom: 'Aléatoire',
|
|
34
|
+
scatterModeWind: 'Dérive du Vent',
|
|
35
|
+
scatterModeWindHint: 'La flèche suit toujours la boussole - seule la distance est aléatoire',
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
const faq = [
|
|
39
|
+
{
|
|
40
|
+
question: 'Comment fonctionne le Sélecteur de Direction de Déviation\u00a0?',
|
|
41
|
+
answer: 'Il calcule un angle aléatoire (0-359 degrés) et une distance basée sur la configuration de dés choisie. Il simule également un dé de déviation en vérifiant les impacts directs.',
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
question: 'Puis-je changer le format des secteurs\u00a0?',
|
|
45
|
+
answer: 'Oui, tu peux basculer entre les secteurs cardinaux à 8 directions et les secteurs à 12 directions au format horloge.',
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
question: 'Qu\u2019est-ce que la probabilité d\u2019impact direct\u00a0?',
|
|
49
|
+
answer: 'Elle représente la chance que le projectile touche exactement l\u2019endroit visé sans aucune déviation, simulant un résultat "Touché" sur un dé de déviation standard.',
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
question: 'Est-ce compatible avec Warhammer ou Bolt Action\u00a0?',
|
|
53
|
+
answer: 'Oui, il prend en charge les gabarits standard à 8 directions et les alignements d\u2019horloge à 12 directions utilisés dans la plupart des wargames tactiques et règles de figurines.',
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
question: 'Comment la distance de déviation est-elle affichée visuellement\u00a0?',
|
|
57
|
+
answer: 'La distance en pouces appara\u00eet comme une étiquette flottante au point d\u2019impact, positionnée dans la direction de déviation. La flèche rouge de la boussole se verrouille également sur l\u2019angle final pour un alignement rapide du gabarit.',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
question: 'Puis-je désactiver l\u2019animation pour obtenir des résultats plus rapides\u00a0?',
|
|
61
|
+
answer: 'L\u2019animation dure environ deux secondes, après quoi le résultat final s\u2019affiche au centre et la flèche de la boussole se verrouille. Il n\u2019y a pas d\u2019option de saut actuellement, mais le délai est conçu pour correspondre au rythme du lancer de dés physiques.',
|
|
62
|
+
},
|
|
63
|
+
];
|
|
64
|
+
|
|
65
|
+
const howTo = [
|
|
66
|
+
{
|
|
67
|
+
name: 'Configurer les Règles',
|
|
68
|
+
text: 'Sélectionne les secteurs de boussole, choisis un dé de distance et ajuste la probabilité d\u2019impact direct.',
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
name: 'Lancer ou Glisser',
|
|
72
|
+
text: 'Clique sur Lancer la Déviation pour simuler la déviation, ou fais glisser la roue de la boussole pour ajuster la direction manuellement.',
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
name: 'Lire le Résultat',
|
|
76
|
+
text: 'Consulte l\u2019affichage central et la flèche vectorielle pour conna\u00eetre la distance, l\u2019angle et la direction exacts de la déviation.',
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
name: 'Observer la Trajectoire',
|
|
80
|
+
text: 'Après le lancer, regarde le projectile animé traverser la boussole. La tra\u00eenée en pointillés montre le chemin de déviation et le point d\u2019impact affiche la distance en pouces.',
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
name: 'Interpréter le Résultat',
|
|
84
|
+
text: 'Une impulsion verte avec "DIRECT HIT" signifie une déviation nulle. Une explosion rouge avec une étiquette de distance signifie que le tir a dévié - place ton gabarit à cette distance de la cible dans la direction de la flèche.',
|
|
85
|
+
},
|
|
86
|
+
];
|
|
87
|
+
|
|
88
|
+
export const content: ScatterSelectorLocaleContent = {
|
|
89
|
+
slug: 'selecteur-de-direction-de-deviation',
|
|
90
|
+
title: 'Sélecteur de Direction de Déviation\u00a0: Boussole Tactile pour Wargames de Figurines',
|
|
91
|
+
description: 'Détermine les déviations aléatoires, la dérive du vent et les directions de dispersion pour les wargames de figurines avec une boussole tactile 3D.',
|
|
92
|
+
ui,
|
|
93
|
+
seo: [
|
|
94
|
+
{ type: 'title', text: 'Boussole Interactive de Déviation avec Animation de Projectile en Temps Réel', level: 2 },
|
|
95
|
+
{ type: 'paragraph', html: 'Le Sélecteur de Direction de Déviation va au-delà de la simple génération de nombres en affichant une trajectoire animée du projectile directement sur la boussole. Quand tu cliques sur Lancer la Déviation, un projectile lumineux voyage du centre le long de l\u2019angle de déviation, laissant une tra\u00eenée en pointillés et explosant en particules au point d\u2019impact.' },
|
|
96
|
+
{ type: 'stats', items: [
|
|
97
|
+
{ value: '2', label: 'Systèmes de Secteurs', icon: 'mdi:compass-rose' },
|
|
98
|
+
{ value: '4', label: 'Préréglages de Dés', icon: 'mdi:dice-d6' },
|
|
99
|
+
{ value: '0-100%', label: 'Plage de Probabilité d\u2019Impact', icon: 'mdi:target' },
|
|
100
|
+
{ value: '10', label: 'Historique des Lancers Récents', icon: 'mdi:history' },
|
|
101
|
+
], columns: 4 },
|
|
102
|
+
{ type: 'title', text: 'Comment l\u2019Animation de Trajectoire Améliore la Prise de Décision en Wargame', level: 3 },
|
|
103
|
+
{ type: 'paragraph', html: 'Les outils traditionnels affichent un angle et une distance numériques, obligeant les joueurs à visualiser mentalement le décalage sur la table. La trajectoire animée comble cet écart en dessinant le chemin de vol exact du point de visée jusqu\u2019à la zone d\u2019atterrissage de la déviation.' },
|
|
104
|
+
{ type: 'diagnostic', variant: 'success', title: 'Impact Direct', html: 'Quand le jet dépasse la probabilité d\u2019impact, le centre de la boussole s\u2019illumine d\u2019anneaux verts pulsants avec une animation "DIRECT HIT". Le projectile retourne au centre, confirmant un impact parfait sans déviation.' },
|
|
105
|
+
{ type: 'diagnostic', variant: 'error', title: 'Déviation', html: 'Sur un résultat de déviation, le projectile suit une trajectoire en pointillés jusqu\u2019à son point d\u2019atterrissage. Une explosion de particules, un marqueur lumineux et la distance en pouces (ex. <strong>5"</strong>) apparaissent sur le lieu d\u2019impact.' },
|
|
106
|
+
{ type: 'tip', title: 'Astuce\u00a0: Utiliser le Mode Dérive du Vent', html: 'Active la Dérive du Vent pour verrouiller la direction de déviation sur l\u2019angle de boussole réglé manuellement. Cela simule un vent dominant ou un vecteur de déplacement fixe - idéal pour les roquettes non guidées, les nuages de gaz ou les incidents de téléportation.' },
|
|
107
|
+
],
|
|
108
|
+
faq,
|
|
109
|
+
bibliography,
|
|
110
|
+
howTo,
|
|
111
|
+
schemas: [
|
|
112
|
+
{
|
|
113
|
+
'@context': 'https://schema.org',
|
|
114
|
+
'@type': 'FAQPage',
|
|
115
|
+
'mainEntity': faq.map((f) => ({
|
|
116
|
+
'@type': 'Question',
|
|
117
|
+
'name': f.question,
|
|
118
|
+
'acceptedAnswer': {
|
|
119
|
+
'@type': 'Answer',
|
|
120
|
+
'text': f.answer,
|
|
121
|
+
},
|
|
122
|
+
})),
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
'@context': 'https://schema.org',
|
|
126
|
+
'@type': 'SoftwareApplication',
|
|
127
|
+
'name': 'Sélecteur de Direction de Déviation',
|
|
128
|
+
'operatingSystem': 'All',
|
|
129
|
+
'applicationCategory': 'UtilitiesApplication',
|
|
130
|
+
'browserRequirements': 'Requires HTML5. Requires JavaScript.',
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
'@context': 'https://schema.org',
|
|
134
|
+
'@type': 'HowTo',
|
|
135
|
+
'name': 'Comment utiliser le Sélecteur de Direction de Déviation',
|
|
136
|
+
'step': howTo.map((h) => ({
|
|
137
|
+
'@type': 'HowToStep',
|
|
138
|
+
'name': h.name,
|
|
139
|
+
'text': h.text,
|
|
140
|
+
})),
|
|
141
|
+
},
|
|
142
|
+
],
|
|
143
|
+
};
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
2
|
+
import type { ScatterSelectorLocaleContent } from '../entry';
|
|
3
|
+
|
|
4
|
+
const ui = {
|
|
5
|
+
title: 'Pemilih Arah Hamburan',
|
|
6
|
+
setupTitle: 'Pengaturan Hamburan',
|
|
7
|
+
sectorsLabel: 'Sektor Kompas',
|
|
8
|
+
sectors8: '8 Arah',
|
|
9
|
+
sectors12: '12 Arah (Jam)',
|
|
10
|
+
diceLabel: 'Lemparan Jarak Deviasi',
|
|
11
|
+
diceD6: '1D6 Inci',
|
|
12
|
+
dice2D6: '2D6 Inci',
|
|
13
|
+
diceD10: '1D10 Inci',
|
|
14
|
+
diceCustom: 'Jarak Kustom',
|
|
15
|
+
customMaxLabel: 'Jarak Maksimum',
|
|
16
|
+
hitChanceLabel: 'Probabilitas Pukulan Langsung (%)',
|
|
17
|
+
rollButton: 'Lempar Hamburan',
|
|
18
|
+
hitResult: 'Pukulan Langsung!',
|
|
19
|
+
scatterResult: 'Hamburan!',
|
|
20
|
+
distanceLabel: 'Jarak',
|
|
21
|
+
angleLabel: 'Sudut',
|
|
22
|
+
dragHint: 'Seret kompas untuk mengatur arah angin secara manual',
|
|
23
|
+
historyTitle: 'Lemparan Terbaru',
|
|
24
|
+
clearHistory: 'Hapus Riwayat',
|
|
25
|
+
presetTitle: 'Prasetel Wargaming',
|
|
26
|
+
soundOn: 'Suara Nyala',
|
|
27
|
+
soundOff: 'Suara Mati',
|
|
28
|
+
guideStep1: 'Seret kompas agar sesuai dengan orientasi meja Anda',
|
|
29
|
+
guideStep2: 'Pilih sektor, dadu, dan probabilitas pukulan langsung',
|
|
30
|
+
guideStep3: 'Pusat = target Anda. Cahaya hijau berarti jatuh tepat di sana',
|
|
31
|
+
guideStep3Scatter: 'Panah = arah deviasi. Geser tembakan dari pusat sejauh itu inci sepanjang panah',
|
|
32
|
+
scatterModeLabel: 'Arah Hamburan',
|
|
33
|
+
scatterModeRandom: 'Acak',
|
|
34
|
+
scatterModeWind: 'Hanyutan Angin',
|
|
35
|
+
scatterModeWindHint: 'Panah selalu mengikuti kompas - hanya jarak yang acak',
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
const faq = [
|
|
39
|
+
{
|
|
40
|
+
question: 'Bagaimana cara kerja Pemilih Arah Hamburan?',
|
|
41
|
+
answer: 'Alat ini menghitung sudut acak (0-359 derajat) dan jarak berdasarkan konfigurasi dadu yang dipilih. Juga mensimulasikan dadu hamburan dengan memeriksa pukulan langsung.',
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
question: 'Bisakah saya mengubah format sektor?',
|
|
45
|
+
answer: 'Ya, Anda bisa beralih antara sektor kardinal 8 arah dan sektor muka jam 12 arah.',
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
question: 'Apa itu probabilitas pukulan langsung?',
|
|
49
|
+
answer: 'Ini mewakili peluang proyektil mendarat tepat di sasaran tanpa deviasi, mensimulasikan hasil "Pukulan" pada dadu hamburan standar.',
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
question: 'Apakah ini kompatibel dengan Warhammer atau Bolt Action?',
|
|
53
|
+
answer: 'Ya, alat ini mendukung templat 8 arah standar dan penyelarasan jam 12 arah yang digunakan di sebagian besar wargame taktis dan aturan miniatur.',
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
question: 'Bagaimana jarak hamburan ditampilkan secara visual?',
|
|
57
|
+
answer: 'Jarak dalam inci muncul sebagai label terapung di titik tumbukan, diposisikan sesuai arah deviasi. Panah merah kompas juga terkunci ke sudut akhir untuk penyelarasan templat yang cepat.',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
question: 'Bisakah saya menonaktifkan animasi untuk mendapatkan hasil lebih cepat?',
|
|
61
|
+
answer: 'Animasi berlangsung sekitar dua detik, setelah itu hasil akhir ditampilkan di tengah dan panah kompas terkunci. Saat ini tidak ada opsi lewati, tetapi penundaan ini dirancang agar sesuai dengan kecepatan melempar dadu fisik.',
|
|
62
|
+
},
|
|
63
|
+
];
|
|
64
|
+
|
|
65
|
+
const howTo = [
|
|
66
|
+
{
|
|
67
|
+
name: 'Konfigurasi Aturan',
|
|
68
|
+
text: 'Pilih sektor kompas, pilih dadu jarak, dan sesuaikan probabilitas pukulan langsung.',
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
name: 'Lempar atau Seret',
|
|
72
|
+
text: 'Klik Lempar Hamburan untuk mensimulasikan deviasi, atau seret roda kompas untuk menyesuaikan arah secara manual.',
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
name: 'Baca Hasil',
|
|
76
|
+
text: 'Periksa tampilan pusat dan panah vektor untuk mengetahui jarak, sudut, dan arah hamburan yang tepat.',
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
name: 'Amati Lintasan',
|
|
80
|
+
text: 'Setelah melempar, amati proyektil animasi melintasi kompas. Jejak putus-putus menunjukkan jalur deviasi, dan titik tumbukan menampilkan jarak dalam inci.',
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
name: 'Interpretasi Hasil',
|
|
84
|
+
text: 'Denyut hijau dengan "DIRECT HIT" berarti deviasi nol. Ledakan merah dengan label jarak berarti tembakan menyebar - tempatkan templat Anda sejauh itu inci dari target sesuai arah panah.',
|
|
85
|
+
},
|
|
86
|
+
];
|
|
87
|
+
|
|
88
|
+
export const content: ScatterSelectorLocaleContent = {
|
|
89
|
+
slug: 'pemilih-arah-hamburan',
|
|
90
|
+
title: 'Pemilih Arah Hamburan: Kompas Taktis untuk Wargame Miniatur',
|
|
91
|
+
description: 'Tentukan deviasi acak, hanyutan angin, dan arah hamburan untuk wargame miniatur dengan kompas taktil 3D.',
|
|
92
|
+
ui,
|
|
93
|
+
seo: [
|
|
94
|
+
{ type: 'title', text: 'Kompas Hamburan Interaktif dengan Animasi Proyektil Waktu Nyata', level: 2 },
|
|
95
|
+
{ type: 'paragraph', html: 'Pemilih Arah Hamburan melampaui pembuatan angka statis dengan menampilkan lintasan proyektil animasi langsung di atas kompas. Saat Anda mengklik Lempar Hamburan, proyektil bercahaya bergerak dari pusat sepanjang sudut deviasi, meninggalkan jejak putus-putus dan meledak menjadi partikel di titik tumbukan.' },
|
|
96
|
+
{ type: 'stats', items: [
|
|
97
|
+
{ value: '2', label: 'Sistem Sektor', icon: 'mdi:compass-rose' },
|
|
98
|
+
{ value: '4', label: 'Prasetel Dadu', icon: 'mdi:dice-d6' },
|
|
99
|
+
{ value: '0-100%', label: 'Rentang Probabilitas Pukulan', icon: 'mdi:target' },
|
|
100
|
+
{ value: '10', label: 'Riwayat Lemparan Terbaru', icon: 'mdi:history' },
|
|
101
|
+
], columns: 4 },
|
|
102
|
+
{ type: 'title', text: 'Bagaimana Animasi Lintasan Meningkatkan Pengambilan Keputusan dalam Wargame', level: 3 },
|
|
103
|
+
{ type: 'paragraph', html: 'Alat hamburan tradisional menampilkan sudut dan jarak numerik, memaksa pemain untuk memvisualisasikan offset di atas meja secara mental. Lintasan animasi menjembatani kesenjangan ini dengan menggambar jalur penerbangan yang tepat dari titik bidik ke zona pendaratan hamburan.' },
|
|
104
|
+
{ type: 'diagnostic', variant: 'success', title: 'Pukulan Langsung', html: 'Saat lemparan melebihi probabilitas pukulan, pusat kompas meletup dengan cincin hijau berdenyut dan animasi teks "DIRECT HIT". Proyektil kembali ke pusat, mengonfirmasi tumbukan sempurna tanpa deviasi.' },
|
|
105
|
+
{ type: 'diagnostic', variant: 'error', title: 'Hamburan', html: 'Pada hasil hamburan, proyektil mengikuti lintasan putus-putus ke titik pendaratannya. Ledakan partikel, penanda bercahaya, dan jarak dalam inci (mis. <strong>5"</strong>) muncul di lokasi tumbukan.' },
|
|
106
|
+
{ type: 'tip', title: 'Tips: Menggunakan Mode Hanyutan Angin', html: 'Aktifkan Hanyutan Angin untuk mengunci arah hamburan ke sudut kompas yang Anda atur secara manual. Ini mensimulasikan angin kencang atau vektor perpindahan tetap - ideal untuk roket tanpa kendali, awan gas, atau kecelakaan teleportasi.' },
|
|
107
|
+
],
|
|
108
|
+
faq,
|
|
109
|
+
bibliography,
|
|
110
|
+
howTo,
|
|
111
|
+
schemas: [
|
|
112
|
+
{
|
|
113
|
+
'@context': 'https://schema.org',
|
|
114
|
+
'@type': 'FAQPage',
|
|
115
|
+
'mainEntity': faq.map((f) => ({
|
|
116
|
+
'@type': 'Question',
|
|
117
|
+
'name': f.question,
|
|
118
|
+
'acceptedAnswer': {
|
|
119
|
+
'@type': 'Answer',
|
|
120
|
+
'text': f.answer,
|
|
121
|
+
},
|
|
122
|
+
})),
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
'@context': 'https://schema.org',
|
|
126
|
+
'@type': 'SoftwareApplication',
|
|
127
|
+
'name': 'Pemilih Arah Hamburan',
|
|
128
|
+
'operatingSystem': 'All',
|
|
129
|
+
'applicationCategory': 'UtilitiesApplication',
|
|
130
|
+
'browserRequirements': 'Requires HTML5. Requires JavaScript.',
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
'@context': 'https://schema.org',
|
|
134
|
+
'@type': 'HowTo',
|
|
135
|
+
'name': 'Cara menggunakan Pemilih Arah Hamburan',
|
|
136
|
+
'step': howTo.map((h) => ({
|
|
137
|
+
'@type': 'HowToStep',
|
|
138
|
+
'name': h.name,
|
|
139
|
+
'text': h.text,
|
|
140
|
+
})),
|
|
141
|
+
},
|
|
142
|
+
],
|
|
143
|
+
};
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
2
|
+
import type { ScatterSelectorLocaleContent } from '../entry';
|
|
3
|
+
|
|
4
|
+
const ui = {
|
|
5
|
+
title: 'Selettore Direzione Deviazione',
|
|
6
|
+
setupTitle: 'Impostazioni Deviazione',
|
|
7
|
+
sectorsLabel: 'Settori della Bussola',
|
|
8
|
+
sectors8: '8 Direzioni',
|
|
9
|
+
sectors12: '12 Direzioni (Orologio)',
|
|
10
|
+
diceLabel: 'Tiro di Distanza Deviazione',
|
|
11
|
+
diceD6: '1D6 Pollici',
|
|
12
|
+
dice2D6: '2D6 Pollici',
|
|
13
|
+
diceD10: '1D10 Pollici',
|
|
14
|
+
diceCustom: 'Intervallo Personalizzato',
|
|
15
|
+
customMaxLabel: 'Distanza Massima',
|
|
16
|
+
hitChanceLabel: 'Probabilità di Impatto Diretto (%)',
|
|
17
|
+
rollButton: 'Tira Deviazione',
|
|
18
|
+
hitResult: 'Impatto Diretto!',
|
|
19
|
+
scatterResult: 'Deviazione!',
|
|
20
|
+
distanceLabel: 'Distanza',
|
|
21
|
+
angleLabel: 'Angolo',
|
|
22
|
+
dragHint: 'Trascina la bussola per impostare manualmente la direzione del vento',
|
|
23
|
+
historyTitle: 'Tiri Recenti',
|
|
24
|
+
clearHistory: 'Cancella Cronologia',
|
|
25
|
+
presetTitle: 'Preset per Wargaming',
|
|
26
|
+
soundOn: 'Suono Attivo',
|
|
27
|
+
soundOff: 'Suono Disattivato',
|
|
28
|
+
guideStep1: 'Trascina la bussola per allinearla al tuo tavolo da gioco',
|
|
29
|
+
guideStep2: 'Scegli settori, dadi e probabilità di impatto diretto',
|
|
30
|
+
guideStep3: 'Centro = il tuo bersaglio. Il bagliore verde significa che è caduto esattamente lì',
|
|
31
|
+
guideStep3Scatter: 'Freccia = direzione di deviazione. Sposta il colpo dal centro di quel numero di pollici lungo la freccia',
|
|
32
|
+
scatterModeLabel: 'Direzione Deviazione',
|
|
33
|
+
scatterModeRandom: 'Casuale',
|
|
34
|
+
scatterModeWind: 'Deriva del Vento',
|
|
35
|
+
scatterModeWindHint: 'La freccia segue sempre la bussola - solo la distanza è casuale',
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
const faq = [
|
|
39
|
+
{
|
|
40
|
+
question: 'Come funziona il Selettore Direzione Deviazione?',
|
|
41
|
+
answer: 'Calcola un angolo casuale (0-359 gradi) e una distanza in base alla configurazione dei dadi selezionata. Simula inoltre un dado di deviazione, verificando la presenza di impatti diretti.',
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
question: 'Posso cambiare il formato dei settori?',
|
|
45
|
+
answer: 'Sì, puoi passare dai settori cardinali a 8 direzioni ai settori a 12 direzioni con formato orologio.',
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
question: 'Cos\u2019è la probabilità di impatto diretto?',
|
|
49
|
+
answer: 'Rappresenta la probabilità che il proiettile colpisca esattamente il punto mirato senza alcuna deviazione, simulando un risultato "Colpito" su un dado di deviazione standard.',
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
question: 'È compatibile con Warhammer o Bolt Action?',
|
|
53
|
+
answer: 'Sì, supporta i template standard a 8 direzioni e gli allineamenti a 12 direzioni usati nella maggior parte dei wargame tattici e dei regolamenti per miniature.',
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
question: 'Come viene visualizzata la distanza di deviazione?',
|
|
57
|
+
answer: 'La distanza in pollici appare come un\u2019etichetta galleggiante nel punto d\u2019impatto, posizionata lungo la direzione di deviazione. Anche la freccia rossa della bussola si blocca sull\u2019angolo finale per un rapido allineamento del template.',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
question: 'Posso disattivare l\u2019animazione per ottenere risultati più veloci?',
|
|
61
|
+
answer: 'L\u2019animazione dura circa due secondi, dopo i quali il risultato finale viene mostrato al centro e la freccia della bussola si blocca. Al momento non c\u2019è un\u2019opzione per saltarla, ma il ritardo è studiato per riprodurre il ritmo del lancio fisico dei dadi.',
|
|
62
|
+
},
|
|
63
|
+
];
|
|
64
|
+
|
|
65
|
+
const howTo = [
|
|
66
|
+
{
|
|
67
|
+
name: 'Configurare le Regole',
|
|
68
|
+
text: 'Seleziona i settori della bussola, scegli un dado per la distanza e regola la probabilità di impatto diretto.',
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
name: 'Tirare o Trascinare',
|
|
72
|
+
text: 'Clicca su Tira Deviazione per simulare la deviazione, o trascina la ruota della bussola per regolare manualmente la direzione.',
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
name: 'Leggere il Risultato',
|
|
76
|
+
text: 'Controlla il display centrale e la freccia vettoriale per trovare distanza, angolo e direzione esatti della deviazione.',
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
name: 'Osservare la Traiettoria',
|
|
80
|
+
text: 'Dopo il tiro, guarda il proiettile animato viaggiare attraverso la bussola. La scia tratteggiata mostra il percorso di deviazione e il punto d\u2019impatto indica la distanza in pollici.',
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
name: 'Interpretare il Risultato',
|
|
84
|
+
text: 'Un impulso verde con "DIRECT HIT" significa deviazione zero. Un\u2019esplosione rossa con un\u2019etichetta di distanza significa che il colpo è deviato - posiziona il tuo template a quella distanza dal bersaglio nella direzione della freccia.',
|
|
85
|
+
},
|
|
86
|
+
];
|
|
87
|
+
|
|
88
|
+
export const content: ScatterSelectorLocaleContent = {
|
|
89
|
+
slug: 'selettore-direzione-deviazione',
|
|
90
|
+
title: 'Selettore Direzione Deviazione: Bussola Tattile per Wargame con Miniature',
|
|
91
|
+
description: 'Determina deviazioni casuali, deriva del vento e direzioni di dispersione per wargame con miniature usando una bussola tattile 3D.',
|
|
92
|
+
ui,
|
|
93
|
+
seo: [
|
|
94
|
+
{ type: 'title', text: 'Bussola Interattiva di Deviazione con Animazione Proiettile in Tempo Reale', level: 2 },
|
|
95
|
+
{ type: 'paragraph', html: 'Il Selettore Direzione Deviazione va oltre la semplice generazione numerica, mostrando una traiettoria animata del proiettile direttamente sulla bussola. Quando clicchi su Tira Deviazione, un proiettile luminoso viaggia dal centro lungo l\u2019angolo di deviazione, lasciando una scia tratteggiata ed esplodendo in particelle nel punto d\u2019impatto.' },
|
|
96
|
+
{ type: 'stats', items: [
|
|
97
|
+
{ value: '2', label: 'Sistemi di Settori', icon: 'mdi:compass-rose' },
|
|
98
|
+
{ value: '4', label: 'Preset di Dadi', icon: 'mdi:dice-d6' },
|
|
99
|
+
{ value: '0-100%', label: 'Intervallo Probabilità Impatto', icon: 'mdi:target' },
|
|
100
|
+
{ value: '10', label: 'Cronologia Tiri Recenti', icon: 'mdi:history' },
|
|
101
|
+
], columns: 4 },
|
|
102
|
+
{ type: 'title', text: 'Come l\u2019Animazione della Traiettoria Migliora le Decisioni nei Wargame', level: 3 },
|
|
103
|
+
{ type: 'paragraph', html: 'Gli strumenti tradizionali mostrano un angolo e una distanza numerici, costringendo i giocatori a visualizzare mentalmente lo spostamento sul tavolo. La traiettoria animata colma questo divario disegnando il percorso di volo esatto dal punto di mira alla zona d\u2019atterraggio della deviazione.' },
|
|
104
|
+
{ type: 'diagnostic', variant: 'success', title: 'Impatto Diretto', html: 'Quando il tiro supera la probabilità d\u2019impatto, il centro della bussola si illumina con anelli verdi pulsanti e un\u2019animazione "DIRECT HIT". Il proiettile torna al centro, confermando un impatto perfetto senza deviazione.' },
|
|
105
|
+
{ type: 'diagnostic', variant: 'error', title: 'Deviazione', html: 'Su un risultato di deviazione, il proiettile segue una traiettoria tratteggiata fino al punto d\u2019atterraggio. Un\u2019esplosione di particelle, un indicatore luminoso e la distanza in pollici (es. <strong>5"</strong>) appaiono nel punto d\u2019impatto.' },
|
|
106
|
+
{ type: 'tip', title: 'Consiglio: Usare la Modalità Deriva del Vento', html: 'Attiva la Deriva del Vento per bloccare la direzione di deviazione sull\u2019angolo della bussola impostato manualmente. Simula un vento prevalente o un vettore di spostamento fisso - ideale per razzi non guidati, nubi di gas o incidenti di teletrasporto.' },
|
|
107
|
+
],
|
|
108
|
+
faq,
|
|
109
|
+
bibliography,
|
|
110
|
+
howTo,
|
|
111
|
+
schemas: [
|
|
112
|
+
{
|
|
113
|
+
'@context': 'https://schema.org',
|
|
114
|
+
'@type': 'FAQPage',
|
|
115
|
+
'mainEntity': faq.map((f) => ({
|
|
116
|
+
'@type': 'Question',
|
|
117
|
+
'name': f.question,
|
|
118
|
+
'acceptedAnswer': {
|
|
119
|
+
'@type': 'Answer',
|
|
120
|
+
'text': f.answer,
|
|
121
|
+
},
|
|
122
|
+
})),
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
'@context': 'https://schema.org',
|
|
126
|
+
'@type': 'SoftwareApplication',
|
|
127
|
+
'name': 'Selettore Direzione Deviazione',
|
|
128
|
+
'operatingSystem': 'All',
|
|
129
|
+
'applicationCategory': 'UtilitiesApplication',
|
|
130
|
+
'browserRequirements': 'Requires HTML5. Requires JavaScript.',
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
'@context': 'https://schema.org',
|
|
134
|
+
'@type': 'HowTo',
|
|
135
|
+
'name': 'Come usare il Selettore Direzione Deviazione',
|
|
136
|
+
'step': howTo.map((h) => ({
|
|
137
|
+
'@type': 'HowToStep',
|
|
138
|
+
'name': h.name,
|
|
139
|
+
'text': h.text,
|
|
140
|
+
})),
|
|
141
|
+
},
|
|
142
|
+
],
|
|
143
|
+
};
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
2
|
+
import type { ScatterSelectorLocaleContent } from '../entry';
|
|
3
|
+
|
|
4
|
+
const ui = {
|
|
5
|
+
title: '散乱方向選択器',
|
|
6
|
+
setupTitle: '散乱設定',
|
|
7
|
+
sectorsLabel: 'コンパスセクター',
|
|
8
|
+
sectors8: '8方向',
|
|
9
|
+
sectors12: '12方向(時計)',
|
|
10
|
+
diceLabel: '偏差距離ロール',
|
|
11
|
+
diceD6: '1D6インチ',
|
|
12
|
+
dice2D6: '2D6インチ',
|
|
13
|
+
diceD10: '1D10インチ',
|
|
14
|
+
diceCustom: 'カスタム範囲',
|
|
15
|
+
customMaxLabel: '最大距離',
|
|
16
|
+
hitChanceLabel: '直撃確率(%)',
|
|
17
|
+
rollButton: '散乱ロール',
|
|
18
|
+
hitResult: '直撃!',
|
|
19
|
+
scatterResult: '散乱!',
|
|
20
|
+
distanceLabel: '距離',
|
|
21
|
+
angleLabel: '角度',
|
|
22
|
+
dragHint: 'コンパスをドラッグして風向きを手動設定',
|
|
23
|
+
historyTitle: '最近のロール',
|
|
24
|
+
clearHistory: '履歴をクリア',
|
|
25
|
+
presetTitle: 'ウォーゲームプリセット',
|
|
26
|
+
soundOn: 'サウンドON',
|
|
27
|
+
soundOff: 'サウンドOFF',
|
|
28
|
+
guideStep1: 'コンパスをドラッグしてテーブルの向きに合わせる',
|
|
29
|
+
guideStep2: 'セクター、ダイス、直撃確率を選択',
|
|
30
|
+
guideStep3: '中央 = ターゲット。緑の輝きはそこに正確に着弾したことを示す',
|
|
31
|
+
guideStep3Scatter: '矢印 = 偏差方向。中央から矢印に沿ってそのインチ数分だけ射撃を移動',
|
|
32
|
+
scatterModeLabel: '散乱方向',
|
|
33
|
+
scatterModeRandom: 'ランダム',
|
|
34
|
+
scatterModeWind: '風ドリフト',
|
|
35
|
+
scatterModeWindHint: '矢印は常にコンパスに従う - 距離のみランダム',
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
const faq = [
|
|
39
|
+
{
|
|
40
|
+
question: '散乱方向選択器の使い方は?',
|
|
41
|
+
answer: '選択したダイス構成に基づいて、ランダムな角度(0-359度)と距離を計算します。また、散乱ダイスをシミュレートし、直撃をチェックします。',
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
question: 'セクター形式を変更できますか?',
|
|
45
|
+
answer: 'はい、8方向の基本セクターと12方向の時計盤セクターを切り替えられます。',
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
question: '直撃確率とは何ですか?',
|
|
49
|
+
answer: '発射物が照準した場所に正確に着弾し、まったく偏差がない確率を表します。標準的な散乱ダイスでの「命中」結果をシミュレートします。',
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
question: 'WarhammerやBolt Actionと互換性がありますか?',
|
|
53
|
+
answer: 'はい。ほとんどの戦術ウォーゲームやミニチュアルールセットで使用される標準の8方向テンプレートと12方向時計配置をサポートしています。',
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
question: '散乱距離は視覚的にどのように表示されますか?',
|
|
57
|
+
answer: '距離(インチ)が着弾点に浮遊ラベルとして表示され、偏差方向に沿って配置されます。赤いコンパス矢印も最終角度にロックされ、テンプレートを素早く位置合わせできます。',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
question: '結果を早く得るためにアニメーションを無効にできますか?',
|
|
61
|
+
answer: 'アニメーションは約2秒間続き、その後最終結果が中央に表示され、コンパス矢印がロックされます。現在スキップオプションはありませんが、この遅延は物理的なダイスを振るペースに合わせて設計されています。',
|
|
62
|
+
},
|
|
63
|
+
];
|
|
64
|
+
|
|
65
|
+
const howTo = [
|
|
66
|
+
{
|
|
67
|
+
name: 'ルールの設定',
|
|
68
|
+
text: 'コンパスセクターを選択し、距離ダイスのプリセットを選び、直撃確率を調整します。',
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
name: 'ロールまたはドラッグ',
|
|
72
|
+
text: '「散乱ロール」をクリックして偏差をシミュレートするか、コンパスホイールをドラッグして方向を手動で調整します。',
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
name: '結果の確認',
|
|
76
|
+
text: '中央の表示とベクトル矢印を確認して、散乱の正確な距離、角度、方向を把握します。',
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
name: '軌道の観察',
|
|
80
|
+
text: 'ロール後、アニメーション化された発射物がコンパス上を移動する様子を観察します。破線の軌跡が偏差経路を示し、着弾点に距離がインチで表示されます。',
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
name: '結果の解釈',
|
|
84
|
+
text: '緑のパルスと「DIRECT HIT」は偏差ゼロを意味します。距離ラベル付きの赤いバーストは散乱を意味します - ターゲットから矢印の方向にテンプレートをそのインチ数だけ配置してください。',
|
|
85
|
+
},
|
|
86
|
+
];
|
|
87
|
+
|
|
88
|
+
export const content: ScatterSelectorLocaleContent = {
|
|
89
|
+
slug: 'scatter-direction-selector',
|
|
90
|
+
title: '散乱方向選択器: テーブルトップウォーゲーム用コンパス',
|
|
91
|
+
description: 'ミニチュアウォーゲーム向けに、ランダムな偏差、風ドリフト、散乱方向を3Dタクタイルコンパスで決定します。',
|
|
92
|
+
ui,
|
|
93
|
+
seo: [
|
|
94
|
+
{ type: 'title', text: 'リアルタイム弾道アニメーション付きインタラクティブ散乱コンパス', level: 2 },
|
|
95
|
+
{ type: 'paragraph', html: '散乱方向選択器は、静的な数値生成を超え、コンパス上にアニメーション化された弾道を直接描画します。「散乱ロール」をクリックすると、発光する発射物が中心から偏差角度に沿って移動し、破線の軌跡を残して着弾点で粒子となって爆発します。' },
|
|
96
|
+
{ type: 'stats', items: [
|
|
97
|
+
{ value: '2', label: 'セクターシステム', icon: 'mdi:compass-rose' },
|
|
98
|
+
{ value: '4', label: 'ダイスプリセット', icon: 'mdi:dice-d6' },
|
|
99
|
+
{ value: '0-100%', label: '命中確率範囲', icon: 'mdi:target' },
|
|
100
|
+
{ value: '10', label: '最近のロール履歴', icon: 'mdi:history' },
|
|
101
|
+
], columns: 4 },
|
|
102
|
+
{ type: 'title', text: '弾道アニメーションがウォーゲームの意思決定を向上させる方法', level: 3 },
|
|
103
|
+
{ type: 'paragraph', html: '従来の散乱ツールは数値の角度と距離を表示するだけなので、プレイヤーはテーブル上のオフセットを頭の中で視覚化する必要があります。アニメーション化された弾道は、照準点から散乱着弾ゾーンまでの正確な飛行経路を描くことで、このギャップを埋めます。' },
|
|
104
|
+
{ type: 'diagnostic', variant: 'success', title: '直撃', html: 'ロールが直撃確率を超えると、コンパス中央が脈動する緑のリングと「DIRECT HIT」テキストアニメーションで噴出します。発射物は中央に戻り、偏差ゼロの完全な衝撃を確認します。' },
|
|
105
|
+
{ type: 'diagnostic', variant: 'error', title: '散乱', html: '散乱結果の場合、発射物は破線の軌道に沿って着弾点に移動します。粒子の爆発、発光マーカー、距離(例: <strong>5"</strong>)が着弾位置に表示されます。' },
|
|
106
|
+
{ type: 'tip', title: 'プロのコツ: 風ドリフトモードの使用', html: '風ドリフトを有効にすると、散乱方向が手動で回転させたコンパス角度に固定されます。これは卓越風や固定変位ベクトルをシミュレートします - 無誘導ロケット、ガス雲、テレポーテーション事故などに最適です。' },
|
|
107
|
+
],
|
|
108
|
+
faq,
|
|
109
|
+
bibliography,
|
|
110
|
+
howTo,
|
|
111
|
+
schemas: [
|
|
112
|
+
{
|
|
113
|
+
'@context': 'https://schema.org',
|
|
114
|
+
'@type': 'FAQPage',
|
|
115
|
+
'mainEntity': faq.map((f) => ({
|
|
116
|
+
'@type': 'Question',
|
|
117
|
+
'name': f.question,
|
|
118
|
+
'acceptedAnswer': {
|
|
119
|
+
'@type': 'Answer',
|
|
120
|
+
'text': f.answer,
|
|
121
|
+
},
|
|
122
|
+
})),
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
'@context': 'https://schema.org',
|
|
126
|
+
'@type': 'SoftwareApplication',
|
|
127
|
+
'name': '散乱方向選択器',
|
|
128
|
+
'operatingSystem': 'All',
|
|
129
|
+
'applicationCategory': 'UtilitiesApplication',
|
|
130
|
+
'browserRequirements': 'Requires HTML5. Requires JavaScript.',
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
'@context': 'https://schema.org',
|
|
134
|
+
'@type': 'HowTo',
|
|
135
|
+
'name': '散乱方向選択器の使い方',
|
|
136
|
+
'step': howTo.map((h) => ({
|
|
137
|
+
'@type': 'HowToStep',
|
|
138
|
+
'name': h.name,
|
|
139
|
+
'text': h.text,
|
|
140
|
+
})),
|
|
141
|
+
},
|
|
142
|
+
],
|
|
143
|
+
};
|