@jjlmoya/utils-creative 1.7.0 → 1.9.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 +2 -1
- package/src/category/i18n/de.ts +9 -0
- package/src/category/i18n/id.ts +9 -0
- package/src/category/i18n/it.ts +9 -0
- package/src/category/i18n/ja.ts +9 -0
- package/src/category/i18n/ko.ts +9 -0
- package/src/category/i18n/nl.ts +9 -0
- package/src/category/i18n/pl.ts +9 -0
- package/src/category/i18n/pt.ts +9 -0
- package/src/category/i18n/ru.ts +9 -0
- package/src/category/i18n/sv.ts +9 -0
- package/src/category/i18n/tr.ts +9 -0
- package/src/category/i18n/zh.ts +9 -0
- package/src/category/index.ts +12 -0
- package/src/tests/faq_count.test.ts +1 -1
- package/src/tests/i18n_coverage.test.ts +36 -0
- package/src/tests/locale_completeness.test.ts +2 -2
- package/src/tests/slug_uniqueness.test.ts +81 -0
- package/src/tests/title_quality.test.ts +3 -3
- package/src/tool/bead-pattern-generator/i18n/de.ts +115 -0
- package/src/tool/bead-pattern-generator/i18n/en.ts +1 -1
- package/src/tool/bead-pattern-generator/i18n/es.ts +1 -1
- package/src/tool/bead-pattern-generator/i18n/fr.ts +1 -1
- package/src/tool/bead-pattern-generator/i18n/id.ts +115 -0
- package/src/tool/bead-pattern-generator/i18n/it.ts +115 -0
- package/src/tool/bead-pattern-generator/i18n/ja.ts +115 -0
- package/src/tool/bead-pattern-generator/i18n/ko.ts +115 -0
- package/src/tool/bead-pattern-generator/i18n/nl.ts +115 -0
- package/src/tool/bead-pattern-generator/i18n/pl.ts +115 -0
- package/src/tool/bead-pattern-generator/i18n/pt.ts +115 -0
- package/src/tool/bead-pattern-generator/i18n/ru.ts +115 -0
- package/src/tool/bead-pattern-generator/i18n/sv.ts +115 -0
- package/src/tool/bead-pattern-generator/i18n/tr.ts +115 -0
- package/src/tool/bead-pattern-generator/i18n/zh.ts +115 -0
- package/src/tool/bead-pattern-generator/index.ts +12 -0
- package/src/tool/dice-roller/i18n/de.ts +138 -0
- package/src/tool/dice-roller/i18n/id.ts +138 -0
- package/src/tool/dice-roller/i18n/it.ts +138 -0
- package/src/tool/dice-roller/i18n/ja.ts +138 -0
- package/src/tool/dice-roller/i18n/ko.ts +138 -0
- package/src/tool/dice-roller/i18n/nl.ts +138 -0
- package/src/tool/dice-roller/i18n/pl.ts +138 -0
- package/src/tool/dice-roller/i18n/pt.ts +138 -0
- package/src/tool/dice-roller/i18n/ru.ts +138 -0
- package/src/tool/dice-roller/i18n/sv.ts +138 -0
- package/src/tool/dice-roller/i18n/tr.ts +138 -0
- package/src/tool/dice-roller/i18n/zh.ts +138 -0
- package/src/tool/dice-roller/index.ts +12 -0
- package/src/tool/excuse-generator/i18n/de.ts +122 -0
- package/src/tool/excuse-generator/i18n/id.ts +122 -0
- package/src/tool/excuse-generator/i18n/it.ts +122 -0
- package/src/tool/excuse-generator/i18n/ja.ts +122 -0
- package/src/tool/excuse-generator/i18n/ko.ts +122 -0
- package/src/tool/excuse-generator/i18n/nl.ts +122 -0
- package/src/tool/excuse-generator/i18n/pl.ts +122 -0
- package/src/tool/excuse-generator/i18n/pt.ts +122 -0
- package/src/tool/excuse-generator/i18n/ru.ts +122 -0
- package/src/tool/excuse-generator/i18n/sv.ts +122 -0
- package/src/tool/excuse-generator/i18n/tr.ts +122 -0
- package/src/tool/excuse-generator/i18n/zh.ts +122 -0
- package/src/tool/excuse-generator/index.ts +12 -0
- package/src/tool/fortune-cookie/i18n/de.ts +127 -0
- package/src/tool/fortune-cookie/i18n/id.ts +127 -0
- package/src/tool/fortune-cookie/i18n/it.ts +127 -0
- package/src/tool/fortune-cookie/i18n/ja.ts +127 -0
- package/src/tool/fortune-cookie/i18n/ko.ts +127 -0
- package/src/tool/fortune-cookie/i18n/nl.ts +127 -0
- package/src/tool/fortune-cookie/i18n/pl.ts +127 -0
- package/src/tool/fortune-cookie/i18n/pt.ts +127 -0
- package/src/tool/fortune-cookie/i18n/ru.ts +127 -0
- package/src/tool/fortune-cookie/i18n/sv.ts +127 -0
- package/src/tool/fortune-cookie/i18n/tr.ts +127 -0
- package/src/tool/fortune-cookie/i18n/zh.ts +127 -0
- package/src/tool/fortune-cookie/index.ts +12 -0
- package/src/tool/synesthesia-painter/i18n/de.ts +122 -0
- package/src/tool/synesthesia-painter/i18n/fr.ts +2 -2
- package/src/tool/synesthesia-painter/i18n/id.ts +122 -0
- package/src/tool/synesthesia-painter/i18n/it.ts +122 -0
- package/src/tool/synesthesia-painter/i18n/ja.ts +122 -0
- package/src/tool/synesthesia-painter/i18n/ko.ts +122 -0
- package/src/tool/synesthesia-painter/i18n/nl.ts +122 -0
- package/src/tool/synesthesia-painter/i18n/pl.ts +122 -0
- package/src/tool/synesthesia-painter/i18n/pt.ts +122 -0
- package/src/tool/synesthesia-painter/i18n/ru.ts +122 -0
- package/src/tool/synesthesia-painter/i18n/sv.ts +122 -0
- package/src/tool/synesthesia-painter/i18n/tr.ts +122 -0
- package/src/tool/synesthesia-painter/i18n/zh.ts +122 -0
- package/src/tool/synesthesia-painter/index.ts +12 -0
- package/src/tool/zalgo-generator/i18n/de.ts +113 -0
- package/src/tool/zalgo-generator/i18n/id.ts +113 -0
- package/src/tool/zalgo-generator/i18n/it.ts +113 -0
- package/src/tool/zalgo-generator/i18n/ja.ts +113 -0
- package/src/tool/zalgo-generator/i18n/ko.ts +113 -0
- package/src/tool/zalgo-generator/i18n/nl.ts +113 -0
- package/src/tool/zalgo-generator/i18n/pl.ts +113 -0
- package/src/tool/zalgo-generator/i18n/pt.ts +113 -0
- package/src/tool/zalgo-generator/i18n/ru.ts +113 -0
- package/src/tool/zalgo-generator/i18n/sv.ts +113 -0
- package/src/tool/zalgo-generator/i18n/tr.ts +113 -0
- package/src/tool/zalgo-generator/i18n/zh.ts +113 -0
- package/src/tool/zalgo-generator/index.ts +12 -0
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { DiceRollerLocaleContent } from '../index';
|
|
3
|
+
|
|
4
|
+
const slug = 'wuerfel-simulator';
|
|
5
|
+
const title = 'Würfel Simulator';
|
|
6
|
+
const description = 'Ein kompletter Würfelsimulator für Ihre RPGs und Brettspiele. Würfeln Sie d4, d6, d8, d10, d12, d20 und d100 mit Modifikatoren und Historie.';
|
|
7
|
+
|
|
8
|
+
const faq: DiceRollerLocaleContent['faq'] = [
|
|
9
|
+
{
|
|
10
|
+
question: 'Wie kann ich einen Wurf mit Vorteil (D&D) simulieren?',
|
|
11
|
+
answer: 'Fügen Sie zwei d20-Würfel zum Beutel hinzu, indem Sie zweimal auf die d20-Schaltfläche klicken. Achten Sie beim Würfeln auf die beiden Einzelergebnisse und behalten Sie das höhere. Die angezeigte Summe ist der Gesamtwert, aber Sie können jeden Würfel einzeln in der Ergebnisaufschlüsselung sehen.',
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
question: 'Was bedeuten die grünen oder roten Farben bei den Ergebnissen?',
|
|
15
|
+
answer: 'Grüne Ergebnisse zeigen an, dass der Würfel seinen maximal möglichen Wert gewürfelt hat (ein "Krit"). Rote Ergebnisse zeigen den Minimalwert an (eine "1", das schlechtestmögliche Ergebnis). So lassen sich kritische Erfolge und Patzer auf einen Blick erkennen.',
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
question: 'Kann ich mehrere Würfel desselben Typs hinzufügen?',
|
|
19
|
+
answer: 'Ja. Jeder Klick auf einen Würfel fügt ihn dem Beutel hinzu. Wenn Sie dreimal auf d6 klicken, zeigt der Beutel "3d6" an. Um die Anzahl zu verringern, klicken Sie auf die Schaltfläche "−", die neben jeder Würfelgruppe im Beutel erscheint.',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
question: 'Sind digitale Würfel so zufällig wie physische?',
|
|
23
|
+
answer: 'Statistisch gesehen, ja. Moderne JavaScript-Engines verwenden Pseudozufallsalgorithmen (xorshift128+) mit einer sehr hochwertigen Gleichverteilung. Ein echter physischer Würfel kann kleine Herstellungsfehler aufweisen, die die Ergebnisse beeinflussen; der digitale Würfel hat dieses Problem nicht.',
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
question: 'Was ist der d100 und wie wird er verwendet?',
|
|
27
|
+
answer: 'Der d100 (oder d%) erzeugt eine Zahl von 1 bis 100 und wird in prozentualen Spielsystemen wie Cthulhu oder Warhammer Fantasy Roleplay verwendet. Er stellt die "direkte Wahrscheinlichkeit" dar: Wenn Ihr Fertigkeitswert in Schleichen 65 % beträgt, müssen Sie eine 65 oder weniger würfeln, um Erfolg zu haben.',
|
|
28
|
+
},
|
|
29
|
+
];
|
|
30
|
+
|
|
31
|
+
const howTo: DiceRollerLocaleContent['howTo'] = [
|
|
32
|
+
{ name: 'Würfelpool zusammenstellen', text: 'Klicken Sie auf die Würfelschaltflächen (d4, d6, d8...), um sie Ihrem Pool hinzuzufügen. Jeder Klick fügt einen Würfel des gewählten Typs hinzu. Sie können verschiedene Typen in demselben Wurf kombinieren.' },
|
|
33
|
+
{ name: 'Modifikator anpassen', text: 'Verwenden Sie die Schaltflächen "+" und "−" neben dem Modifikator, um Boni oder Abzüge anzuwenden (wie den Attributsmodifikator in D&D). Der Modifikator wird automatisch zur Gesamtsumme addiert.' },
|
|
34
|
+
{ name: 'Würfeln', text: 'Drücken Sie die Schaltfläche "Würfeln". Das rechte Feld zeigt die Gesamtsumme und die Aufschlüsselung der einzelnen Würfel, wobei Kritische Erfolge (Maximum) grün und Patzer (Minimum) rot markiert sind.' },
|
|
35
|
+
{ name: 'Historie prüfen', text: 'Jeder Wurf wird in der Historie mit der verwendeten Würfelformel, dem Gesamtergebnis und der genauen Zeit aufgezeichnet. Sie können die Historie mit der entsprechenden Schaltfläche löschen.' },
|
|
36
|
+
];
|
|
37
|
+
|
|
38
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
39
|
+
'@context': 'https://schema.org',
|
|
40
|
+
'@type': 'FAQPage',
|
|
41
|
+
mainEntity: faq.map((item) => ({
|
|
42
|
+
'@type': 'Question',
|
|
43
|
+
name: item.question,
|
|
44
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
45
|
+
})),
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
const howToSchema: WithContext<HowTo> = {
|
|
49
|
+
'@context': 'https://schema.org',
|
|
50
|
+
'@type': 'HowTo',
|
|
51
|
+
name: title,
|
|
52
|
+
description,
|
|
53
|
+
step: howTo.map((step) => ({
|
|
54
|
+
'@type': 'HowToStep',
|
|
55
|
+
name: step.name,
|
|
56
|
+
text: step.text,
|
|
57
|
+
})),
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
61
|
+
'@context': 'https://schema.org',
|
|
62
|
+
'@type': 'SoftwareApplication',
|
|
63
|
+
name: title,
|
|
64
|
+
description,
|
|
65
|
+
applicationCategory: 'UtilitiesApplication',
|
|
66
|
+
operatingSystem: 'Web',
|
|
67
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
68
|
+
inLanguage: 'de',
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
export const content: DiceRollerLocaleContent = {
|
|
72
|
+
slug,
|
|
73
|
+
title,
|
|
74
|
+
description,
|
|
75
|
+
faqTitle: 'Häufig gestellte Fragen',
|
|
76
|
+
bibliographyTitle: 'Zufalls-Bibliographie',
|
|
77
|
+
ui: {
|
|
78
|
+
title: 'Würfel Simulator',
|
|
79
|
+
description: 'Möge das Glück mit dir sein.',
|
|
80
|
+
rollBtn: 'Würfeln',
|
|
81
|
+
totalLabel: 'Summe',
|
|
82
|
+
historyLabel: 'Historie',
|
|
83
|
+
clearHistoryBtn: 'Historie löschen',
|
|
84
|
+
faqTitle: 'FAQ',
|
|
85
|
+
bibliographyTitle: 'Referenzen',
|
|
86
|
+
addDiceLabel: 'Würfel zum Beutel hinzufügen',
|
|
87
|
+
bagLabel: 'Würfelbeutel',
|
|
88
|
+
emptyBagBtn: 'Leeren',
|
|
89
|
+
emptyBagText: 'Klicke auf die Würfel, um sie hinzuzufügen',
|
|
90
|
+
modifierLabel: 'Modifikator',
|
|
91
|
+
rollManyLabel: '$COUNT Würfel werfen',
|
|
92
|
+
rollOneLabel: '$COUNT Würfel werfen',
|
|
93
|
+
preRollText: 'Würfel hinzufügen und werfen',
|
|
94
|
+
emptyHistoryText: 'Wurfhistorie wird hier angezeigt'
|
|
95
|
+
},
|
|
96
|
+
seo: [
|
|
97
|
+
{ type: 'title', text: 'Die Kunst des Zufalls: Geschichte und Mathematik der Würfel', level: 2 },
|
|
98
|
+
{ type: 'paragraph', html: 'Würfel gehören zu den ältesten Zufallsgeneratoren der Menschheit. <strong>Astragali</strong> — Sprungbeine von Schafen und Ziegen — wurden bereits 5000 v. Chr. in Mesopotamien und Ägypten als primitive vierseitige Würfel verwendet. Die Entwicklung vom geschnitzten Knochen bis hin zu modernen Ikosaedern aus Epoxidharz ist nicht nur ästhetischer Natur: Es ist eine Reise durch die Wahrscheinlichkeitstheorie und das Design von Spielmechaniken.' },
|
|
99
|
+
{ type: 'title', text: 'Die Standard Würfelfamilie', level: 3 },
|
|
100
|
+
{ type: 'paragraph', html: 'Das am weitesten verbreitete Würfelset in Rollenspielen — bekann gemacht durch <strong>Dungeons & Dragons</strong> im Jahr 1974 — besteht aus den fünf platonischen Körpern plus zwei zusätzlichen Formen: d4 (Tetraeder), d6 (Würfel), d8 (Oktaeder), d10 (Pentagonales Trapezoeder), d12 (Dodekaeder), d20 (Ikosaeder) und d100 (Prozentwürfel). Jedes Polyeder garantiert eine Gleichverteilung: Alle Flächen haben genau die gleiche Wahrscheinlichkeit, gewürfelt zu werden.' },
|
|
101
|
+
{ type: 'list', items: [
|
|
102
|
+
'<strong>d4 – Tetraeder:</strong> Am gefährlichsten, wenn man barfuß darauf tritt. Vier dreieckige Flächen, 25 % Wahrscheinlichkeit pro Fläche. Häufig verwendet für Dolchschaden oder Zaubersprüche auf niedriger Stufe.',
|
|
103
|
+
'<strong>d6 – Würfel:</strong> Der universellste Würfel. In allen Brettspielen seit dem ägyptischen Senet vorhanden. Seine kubische Geometrie garantiert perfekte Gleichverteilung.',
|
|
104
|
+
'<strong>d8 – Oktaeder:</strong> Der Würfel für den Speer oder die Streitaxt. Acht gleichseitige dreieckige Flächen. 12,5 % Wahrscheinlichkeit pro Fläche.',
|
|
105
|
+
'<strong>d10 – Pentagonales Trapezoeder:</strong> Der einzige nicht-platonische Körper im Standardset. Zwei gegenüberliegende Flächen pro "Ecke". Unverzichtbar für den d100 (zwei kombinierte d10).',
|
|
106
|
+
'<strong>d12 – Dodekaeder:</strong> Der Würfel des Barbaren. Zwölf fünfeckige Flächen. In vielen Systemen unterschätzt, Protagonist beim D&D 5e Barbaren.',
|
|
107
|
+
'<strong>d20 – Ikosaeder:</strong> Der König des Rollenspiels. Zwanzig dreieckige Flächen. Protagonist des d20-Systems: entscheidet über Erfolg oder Misserfolg fast aller Aktionen.',
|
|
108
|
+
'<strong>d100 – Prozentwürfel:</strong> Zwei kombinierte d10 (Zehner + Einer). Definiert feine Wahrscheinlichkeiten in Systemen wie Cthulhu oder Warhammer Fantasy.',
|
|
109
|
+
]},
|
|
110
|
+
{ type: 'stats', items: [
|
|
111
|
+
{ value: '5000 v. Chr.', label: 'Erste Würfel (Astragali)', icon: 'mdi:history' },
|
|
112
|
+
{ value: '1974', label: 'D&D machte das Set bekannt', icon: 'mdi:sword' },
|
|
113
|
+
{ value: '7 Typen', label: 'Standard RPG Würfel', icon: 'mdi:dice-multiple' },
|
|
114
|
+
{ value: '2¹²⁸', label: 'JS Zufallsperiode', icon: 'mdi:function-variant' },
|
|
115
|
+
], columns: 4 },
|
|
116
|
+
{ type: 'title', text: 'Wahrscheinlichkeiten und Verteilungskurven', level: 3 },
|
|
117
|
+
{ type: 'paragraph', html: 'Wenn Sie einen einzelnen Würfel werfen, erhalten Sie eine <strong>diskrete Gleichverteilung</strong>: jedes Ergebnis hat genau die gleiche Wahrscheinlichkeit (1/n). Sobald Sie jedoch mehrere Würfel kombinieren, verwandelt die mathematische Magie diese flache Kurve in eine <strong>annähernde Normalverteilung</strong>. Deshalb ist 2d6 nicht gleich 1d12: Bei zwei sechsseitigen Würfeln beträgt die Wahrscheinlichkeit, eine 7 zu würfeln, 6/36 ≈ 16,7 %, während die Extreme (2 und 12) nur in 2,8 % der Fälle auftreten.' },
|
|
118
|
+
{ type: 'tip', title: 'Vorteil und Nachteil (D&D 5e)', html: 'Die <strong>Vorteils</strong>-Mechanik besteht darin, 2d20 zu würfeln und das höhere Ergebnis zu behalten. Mathematisch erhöht dies den Durchschnitt von 10,5 auf etwa 13,8. <strong>Nachteil</strong> bewirkt das Gegenteil: Nehmen Sie den niedrigeren Wert, wodurch der Durchschnitt auf etwa 7,2 sinkt. Unser Simulator ermöglicht es Ihnen, dies zu simulieren, indem Sie zwei d20 zum Beutel hinzufügen und die Einzelergebnisse vergleichen.' },
|
|
119
|
+
{ type: 'title', text: 'Modifikatoren: Die Brücke zwischen Würfeln und Charakter', level: 3 },
|
|
120
|
+
{ type: 'paragraph', html: 'In den meisten Rollenspielsystemen agiert der Würfel nicht allein: Ein <strong>Modifikator</strong>, der die Fähigkeiten des Charakters darstellt, wird addiert oder subtrahiert. In D&D 5e bedeutet ein Stärkemodifikator von +5, dass Sie 1d20 würfeln, 5 addieren und das Ergebnis gegen die Rüstungsklasse des Gegners prüfen. Unser Simulator enthält eine Modifikatorsteuerung, um diese Mechaniken originalgetreu abzubilden.' },
|
|
121
|
+
{ type: 'tip', title: 'Standard Würfel Notation', html: 'Die <strong>XdY+Z</strong>-Notation ist der De-facto-Standard in Rollenspielen: X Würfel mit Y Flächen mit Modifikator Z. "3d6+2" bedeutet, drei sechsseitige Würfel zu werfen und 2 zur Summe zu addieren. Unser Werkzeug verwendet diese Notation in der Historie, damit Sie Ihre Würfe leicht teilen oder aufzeichnen können.' },
|
|
122
|
+
{ type: 'glossary', items: [
|
|
123
|
+
{ term: 'Kritischer Treffer', definition: 'Ein Wurf des maximalen Wertes auf einem Würfel (z. B. eine 20 auf einem d20). Löst in den meisten RPG-Systemen normalerweise spezielle Bonuseffekte aus.' },
|
|
124
|
+
{ term: 'Patzer / Nat 1', definition: 'Das Würfeln des Minimalwerts (1) auf einem Würfel. Führt oft zu einem dramatischen Misserfolg oder einer negativen Konsequenz.' },
|
|
125
|
+
{ term: 'Würfelpool', definition: 'Eine Sammlung von Würfeln, die gleichzeitig geworfen werden. Der Pool in unserem Werkzeug zeigt jeden Würfeltyp gruppiert nach Anzahl an (z. B. 3d6 + 2d8).' },
|
|
126
|
+
{ term: 'Modifikator', definition: 'Eine feste Zahl, die zu einem Würfelergebnis addiert oder davon subtrahiert wird und die Fertigkeit, den Attributsbonus oder einen situationsbedingten Abzug eines Charakters darstellt.' },
|
|
127
|
+
{ term: 'Prozentwurf', definition: 'Ein Wurf mit zwei d10, um ein Ergebnis von 1–100 zu erhalten, verwendet in fertigkeitsbasierten Systemen, in denen Fähigkeiten als Prozentsätze gemessen werden.' },
|
|
128
|
+
]},
|
|
129
|
+
],
|
|
130
|
+
faq,
|
|
131
|
+
bibliography: [
|
|
132
|
+
{ name: 'D&D Beyond – Regeln zur Würfelmechanik', url: 'https://www.dndbeyond.com/sources/basic-rules/using-ability-scores' },
|
|
133
|
+
{ name: 'Roll20 – Virtueller Spieltisch und Würfelsysteme', url: 'https://roll20.net/' },
|
|
134
|
+
{ name: 'Pathfinder – d20 System Reference', url: 'https://paizo.com/pathfinder' },
|
|
135
|
+
],
|
|
136
|
+
howTo,
|
|
137
|
+
schemas: [faqSchema as any, howToSchema as any, appSchema],
|
|
138
|
+
};
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { DiceRollerLocaleContent } from '../index';
|
|
3
|
+
|
|
4
|
+
const slug: string = 'pengocok-dadu';
|
|
5
|
+
const title: string = 'Pengocok Dadu';
|
|
6
|
+
const description: string = 'Simulator dadu lengkap untuk RPG dan permainan papan Anda. Lempar d4, d6, d8, d10, d12, d20, dan d100 dengan pengubah dan riwayat.';
|
|
7
|
+
|
|
8
|
+
const faq: DiceRollerLocaleContent['faq'] = [
|
|
9
|
+
{
|
|
10
|
+
question: 'Bagaimana cara mensimulasikan lemparan dengan keuntungan (advantage - D&D)?',
|
|
11
|
+
answer: 'Tambahkan dua dadu d20 ke dalam kantong dengan mengeklik tombol d20 dua kali. Saat melempar, perhatikan dua hasil individu dan ambil yang lebih tinggi. Total yang ditampilkan adalah jumlahnya, tetapi Anda dapat melihat masing-masing dadu secara terpisah dalam rincian hasil.',
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
question: 'Apa arti warna hijau atau merah pada hasil?',
|
|
15
|
+
answer: 'Hasil berwarna hijau menunjukkan bahwa dadu tersebut menghasilkan nilai maksimum yang mungkin (sebuah "critical"). Hasil merah menunjukkan nilai minimum (sebuah "1", hasil terburuk yang mungkin). Ini memudahkan untuk mengenali "crit" dan "fumble" secara sekilas.',
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
question: 'Dapatkah saya menambahkan beberapa dadu dengan tipe yang sama?',
|
|
19
|
+
answer: 'Ya. Setiap klik pada dadu akan menambahkannya ke dalam kantong. Jika Anda mengeklik d6 tiga kali, kantong akan menunjukkan "3d6". Untuk mengurangi jumlahnya, klik tombol "−" yang muncul di samping setiap grup dadu di dalam kantong.',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
question: 'Apakah dadu digital sama acaknya dengan dadu fisik?',
|
|
23
|
+
answer: 'Secara statistik, ya. Mesin JavaScript modern menggunakan algoritma pseudorandom (xorshift128+) dengan distribusi seragam berkualitas sangat tinggi. Dadu fisik asli dapat memiliki sedikit ketidaksempurnaan manufaktur yang membiaskan hasil; dadu digital tidak memiliki masalah tersebut.',
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
question: 'Apa itu d100 dan bagaimana cara menggunakannya?',
|
|
27
|
+
answer: 'd100 (atau d%) menghasilkan angka dari 1 hingga 100 dan digunakan dalam sistem permainan berbasis persentase, seperti Call of Cthulhu atau Warhammer Fantasy Roleplay. Ini mewakili "probabilitas langsung": jika keahlian Stealth Anda adalah 65%, Anda harus melempar 65 atau kurang untuk berhasil.',
|
|
28
|
+
},
|
|
29
|
+
];
|
|
30
|
+
|
|
31
|
+
const howTo: DiceRollerLocaleContent['howTo'] = [
|
|
32
|
+
{ name: 'Bangun kumpulan dadu', text: 'Klik tombol dadu (d4, d6, d8...) untuk menambahkannya ke kumpulan Anda. Setiap klik menambah satu dadu dari tipe yang dipilih. Anda dapat mencampur berbagai tipe dalam satu lemparan.' },
|
|
33
|
+
{ name: 'Sesuaikan pengubah', text: 'Gunakan tombol "+" dan "−" di samping pengubah untuk menerapkan bonus atau penalti (seperti pengubah atribut di D&D). Pengubah secara otomatis ditambahkan ke total.' },
|
|
34
|
+
{ name: 'Lempar dadu', text: 'Tekan tombol "Lempar Dadu". Panel kanan menunjukkan total akhir dan rincian setiap dadu individu, dengan "crit" (maksimum) berwarna hijau dan "fumble" (minimum) berwarna merah.' },
|
|
35
|
+
{ name: 'Periksa riwayat', text: 'Setiap lemparan dicatat dalam riwayat dengan ekspresi dadu yang digunakan, hasil total, dan waktu tepatnya. Anda dapat menghapus riwayat dengan tombol yang sesuai.' },
|
|
36
|
+
];
|
|
37
|
+
|
|
38
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
39
|
+
'@context': 'https://schema.org',
|
|
40
|
+
'@type': 'FAQPage',
|
|
41
|
+
mainEntity: faq.map((item) => ({
|
|
42
|
+
'@type': 'Question',
|
|
43
|
+
name: item.question,
|
|
44
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
45
|
+
})),
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
const howToSchema: WithContext<HowTo> = {
|
|
49
|
+
'@context': 'https://schema.org',
|
|
50
|
+
'@type': 'HowTo',
|
|
51
|
+
name: title,
|
|
52
|
+
description,
|
|
53
|
+
step: howTo.map((step) => ({
|
|
54
|
+
'@type': 'HowToStep',
|
|
55
|
+
name: step.name,
|
|
56
|
+
text: step.text,
|
|
57
|
+
})),
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
61
|
+
'@context': 'https://schema.org',
|
|
62
|
+
'@type': 'SoftwareApplication',
|
|
63
|
+
name: title,
|
|
64
|
+
description,
|
|
65
|
+
applicationCategory: 'UtilitiesApplication',
|
|
66
|
+
operatingSystem: 'Web',
|
|
67
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
68
|
+
inLanguage: 'id',
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
export const content: DiceRollerLocaleContent = {
|
|
72
|
+
slug,
|
|
73
|
+
title,
|
|
74
|
+
description,
|
|
75
|
+
faqTitle: 'Pertanyaan yang Sering Diajukan',
|
|
76
|
+
bibliographyTitle: 'Bibliografi Peluang',
|
|
77
|
+
ui: {
|
|
78
|
+
title: 'Pengocok Dadu',
|
|
79
|
+
description: 'Semoga keberuntungan menyertai Anda.',
|
|
80
|
+
rollBtn: 'Lempar Dadu',
|
|
81
|
+
totalLabel: 'Total',
|
|
82
|
+
historyLabel: 'Riwayat',
|
|
83
|
+
clearHistoryBtn: 'Hapus Riwayat',
|
|
84
|
+
faqTitle: 'FAQ',
|
|
85
|
+
bibliographyTitle: 'Referensi',
|
|
86
|
+
addDiceLabel: 'Tambahkan dadu ke kantong',
|
|
87
|
+
bagLabel: 'Kantong dadu',
|
|
88
|
+
emptyBagBtn: 'Kosongkan',
|
|
89
|
+
emptyBagText: 'Klik dadu untuk menambahkan',
|
|
90
|
+
modifierLabel: 'Pengubah',
|
|
91
|
+
rollManyLabel: 'Lempar $COUNT dadu',
|
|
92
|
+
rollOneLabel: 'Lempar $COUNT dadu',
|
|
93
|
+
preRollText: 'Tambahkan dadu dan lempar',
|
|
94
|
+
emptyHistoryText: 'Riwayat lemparan akan muncul di sini'
|
|
95
|
+
},
|
|
96
|
+
seo: [
|
|
97
|
+
{ type: 'title', text: 'Seni Keacakan: Sejarah dan Matematika Dadu', level: 2 },
|
|
98
|
+
{ type: 'paragraph', html: 'Dadu adalah salah satu generator keacakan tertua umat manusia. <strong>Astragali</strong> — tulang pergelangan kaki domba dan kambing — digunakan sebagai dadu empat sisi primitif sejak 5000 SM di Mesopotamia dan Mesir. Evolusi dari tulang ukir menjadi ikosahedron resin epoksi modern bukan sekadar estetika: ini adalah perjalanan melalui teori probabilitas dan desain mekanik permainan.' },
|
|
99
|
+
{ type: 'title', text: 'Keluarga Dadu Standar', level: 3 },
|
|
100
|
+
{ type: 'paragraph', html: 'Set dadu yang paling luas dalam permainan peran — dipopulerkan oleh <strong>Dungeons & Dragons</strong> pada tahun 1974 — terdiri dari lima bangun ruang Platonik ditambah dua bentuk tambahan: d4 (tetrahedron), d6 (kubus), d8 (oktahedron), d10 (pentagonal trapezohedron), d12 (dodekahedron), d20 (ikosahedron), dan d100 (dadu persentil). Setiap polihedron menjamin distribusi seragam: semua sisi memiliki probabilitas yang sama persis untuk muncul.' },
|
|
101
|
+
{ type: 'list', items: [
|
|
102
|
+
'<strong>d4 – Tetrahedron:</strong> Paling berbahaya jika terinjak dengan kaki telanjang. Empat sisi segitiga, probabilitas 25% per sisi. Umumnya digunakan untuk kerusakan belati atau mantra tingkat rendah.',
|
|
103
|
+
'<strong>d6 – Kubus:</strong> Dadu yang paling universal. Hadir di semua permainan papan sejak senet Mesir. Geometri kubusnya menjamin ekuidistribusi yang sempurna.',
|
|
104
|
+
'<strong>d8 – Oktahedron:</strong> Dadu untuk tombak atau kapak perang. Delapan sisi segitiga sama sisi. Probabilitas 12,5% per sisi.',
|
|
105
|
+
'<strong>d10 – Pentagonal Trapezohedron:</strong> Satu-satunya bangun ruang non-Platonik dalam set standar. Dua sisi berlawanan per "verteks". Penting untuk d100 (dua d10 digabungkan).',
|
|
106
|
+
'<strong>d12 – Dodekahedron:</strong> Dadunya kaum barbarian. Dua belas sisi pentagonal. Kurang dihargai di banyak sistem, protagonis di D&D 5e Barbarian.',
|
|
107
|
+
'<strong>d20 – Ikosahedron:</strong> Rajanya RPG. Dua puluh sisi segitiga. Protagonis dari sistem d20: menentukan keberhasilan atau kegagalan hampir semua tindakan.',
|
|
108
|
+
'<strong>d100 – Persentil:</strong> Dua d10 digabungkan (puluhan + satuan). Mendefinisikan probabilitas halus dalam sistem seperti Call of Cthulhu atau Warhammer Fantasy.',
|
|
109
|
+
]},
|
|
110
|
+
{ type: 'stats', items: [
|
|
111
|
+
{ value: '5000 SM', label: 'Dadu pertama (astragali)', icon: 'mdi:history' },
|
|
112
|
+
{ value: '1974', label: 'D&D mempopulerkan set ini', icon: 'mdi:sword' },
|
|
113
|
+
{ value: '7 tipe', label: 'Dadu RPG standar', icon: 'mdi:dice-multiple' },
|
|
114
|
+
{ value: '2¹²⁸', label: 'Periode acak JS', icon: 'mdi:function-variant' },
|
|
115
|
+
], columns: 4 },
|
|
116
|
+
{ type: 'title', text: 'Probabilitas dan Kurva Distribusi', level: 3 },
|
|
117
|
+
{ type: 'paragraph', html: 'Saat Anda melempar satu dadu, Anda mendapatkan <strong>distribusi seragam diskrit</strong>: setiap hasil memiliki probabilitas yang sama persis (1/n). Namun segera setelah Anda menggabungkan beberapa dadu, keajaiban matematika mengubah kurva datar itu menjadi <strong>perkiraan distribusi normal</strong>. Itulah mengapa 2d6 tidak sama dengan 1d12: dengan dua dadu enam sisi, probabilitas melempar angka 7 adalah 6/36 ≈ 16,7%, sedangkan hasil ekstrem (2 dan 12) hanya terjadi 2,8% dari waktu.' },
|
|
118
|
+
{ type: 'tip', title: 'Keuntungan dan Kerugian (D&D 5e)', html: 'Mekanik <strong>Keuntungan</strong> terdiri dari melempar 2d20 dan mengambil hasil yang lebih tinggi. Secara matematis, ini menaikkan rata-rata dari 10,5 menjadi sekitar 13,8. <strong>Kerugian</strong> melakukan sebaliknya: ambil yang lebih rendah, menurunkan rata-rata menjadi sekitar 7,2. Pengocok kami memungkinkan Anda mensimulasikan ini dengan menambahkan dua d20 ke kantong dan membandingkan hasil individunya.' },
|
|
119
|
+
{ type: 'title', text: 'Pengubah: Jembatan Antara Dadu dan Karakter', level: 3 },
|
|
120
|
+
{ type: 'paragraph', html: 'Dalam sebagian besar sistem RPG, dadu tidak bertindak sendiri: <strong>pengubah</strong> yang mewakili kemampuan karakter ditambahkan atau dikurangi. Di D&D 5e, pengubah Kekuatan +5 berarti Anda melempar 1d20, menambah 5, dan memeriksa hasilnya terhadap Armor Class musuh. Pengocok kami menyertakan kontrol pengubah untuk mencerminkan mekanik ini secara setia.' },
|
|
121
|
+
{ type: 'tip', title: 'Standar Notasi Dadu', html: 'Notasi <strong>XdY+Z</strong> adalah standar de facto dalam permainan peran: X dadu dengan Y sisi dengan pengubah Z. "3d6+2" berarti lempar tiga dadu enam sisi dan tambahkan 2 ke totalnya. Alat kami menggunakan notasi ini dalam riwayat sehingga Anda dapat dengan mudah membagikan atau mencatat lemparan Anda.' },
|
|
122
|
+
{ type: 'glossary', items: [
|
|
123
|
+
{ term: 'Critical Hit', definition: 'Lemparan nilai maksimum pada dadu (misalnya, melempar 20 pada d20). Biasanya memicu efek bonus khusus di sebagian besar sistem RPG.' },
|
|
124
|
+
{ term: 'Fumble / Nat 1', definition: 'Melempar nilai minimum (1) pada dadu. Seringkali menghasilkan kegagalan dramatis atau konsekuensi negatif.' },
|
|
125
|
+
{ term: 'Dice Pool', definition: 'Kumpulan dadu yang dilempar secara bersamaan. Kumpulan dalam alat kami menunjukkan setiap tipe dadu yang dikelompokkan berdasarkan jumlah (misalnya, 3d6 + 2d8).' },
|
|
126
|
+
{ term: 'Modifier', definition: 'Angka tetap yang ditambahkan atau dikurangi dari hasil lemparan, mewakili keahlian karakter, bonus atribut, atau penalti situasional.' },
|
|
127
|
+
{ term: 'Percentile Roll', definition: 'Lemparan menggunakan dua d10 untuk menghasilkan hasil dari 1–100, digunakan dalam sistem berbasis keahlian di mana kemampuan diukur sebagai persentase.' },
|
|
128
|
+
]},
|
|
129
|
+
],
|
|
130
|
+
faq,
|
|
131
|
+
bibliography: [
|
|
132
|
+
{ name: 'D&D Beyond – Aturan mekanik dadu', url: 'https://www.dndbeyond.com/sources/basic-rules/using-ability-scores' },
|
|
133
|
+
{ name: 'Roll20 – Meja virtual dan sistem dadu', url: 'https://roll20.net/' },
|
|
134
|
+
{ name: 'Pathfinder – Referensi Sistem d20', url: 'https://paizo.com/pathfinder' },
|
|
135
|
+
],
|
|
136
|
+
howTo,
|
|
137
|
+
schemas: [faqSchema as any, howToSchema as any, appSchema],
|
|
138
|
+
};
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { DiceRollerLocaleContent } from '../index';
|
|
3
|
+
|
|
4
|
+
const slug = 'lanciatore-di-dadi';
|
|
5
|
+
const title = 'Lanciatore di Dadi';
|
|
6
|
+
const description = 'Un simulatore di dadi completo per i tuoi giochi di ruolo e da tavolo. Lanci d4, d6, d8, d10, d12, d20 e d100 con modificatori e cronologia.';
|
|
7
|
+
|
|
8
|
+
const faq: DiceRollerLocaleContent['faq'] = [
|
|
9
|
+
{
|
|
10
|
+
question: 'Come posso simulare un tiro con vantaggio (D&D)?',
|
|
11
|
+
answer: 'Aggiungi due dadi d20 al sacchetto cliccando due volte sul pulsante d20. Durante il lancio, osserva i due risultati individuali e tieni il più alto. Il totale visualizzato sarà la somma, ma puoi vedere ogni dado separatamente nel dettaglio del risultato.',
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
question: 'Cosa significa il colore verde o rosso sui risultati?',
|
|
15
|
+
answer: 'I risultati verdi indicano che il dado ha ottenuto il suo valore massimo possibile (un "critico"). I risultati rossi indicano il valore minimo (un "1", il peggior risultato possibile). Questo permette di individuare critici e fallimenti a colpo d\'occhio.',
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
question: 'Posso aggiungere più dadi dello stesso tipo?',
|
|
19
|
+
answer: 'Sì. Ogni clic su un dado lo aggiunge al sacchetto. Se clicchi tre volte sul d6, il sacchetto mostrerà "3d6". Per ridurre il conteggio, clicca sul pulsante "−" che appare accanto a ogni gruppo di dadi nel sacchetto.',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
question: 'I dadi digitali sono casuali come quelli fisici?',
|
|
23
|
+
answer: 'Statisticamente sì. I motori JavaScript moderni utilizzano algoritmi pseudocasuali (xorshift128+) con una distribuzione uniforme di altissima qualità. Un dado fisico reale può avere piccole imperfezioni di fabbricazione che influenzano i risultati; il dado digitale non ha questo problema.',
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
question: 'Cos\'è il d100 e come si usa?',
|
|
27
|
+
answer: 'Il d100 (o d%) genera un numero da 1 a 100 ed è usato in sistemi di gioco basati sulla percentuale, come Il Richiamo di Cthulhu o Warhammer Fantasy Roleplay. Rappresenta la "probabilità diretta": se la tua abilità Furtività è del 65%, devi ottenere 65 o meno per avere successo.',
|
|
28
|
+
},
|
|
29
|
+
];
|
|
30
|
+
|
|
31
|
+
const howTo: DiceRollerLocaleContent['howTo'] = [
|
|
32
|
+
{ name: 'Componi il pool di dadi', text: 'Clicca sui pulsanti dei dadi (d4, d6, d8...) per aggiungerli al tuo pool. Ogni clic aggiunge un dado del tipo selezionato. Puoi mescolare diversi tipi nello stesso lancio.' },
|
|
33
|
+
{ name: 'Regola il modificatore', text: 'Usa i pulsanti "+" e "−" accanto al modificatore per applicare bonus o penalità (come il modificatore di caratteristica in D&D). Il modificatore viene aggiunto automaticamente al totale.' },
|
|
34
|
+
{ name: 'Lancia i dadi', text: 'Premi il pulsante "Lancia Dadi". Il pannello a destra mostra il totale finale e il dettaglio di ogni singolo dado, con i critici (massimo) in verde e i fallimenti (minimo) in rosso.' },
|
|
35
|
+
{ name: 'Controlla la cronologia', text: 'Ogni lancio viene registrato nella cronologia con la notazione dei dadi utilizzata, il risultato totale e l\'ora esatta. Puoi cancellare la cronologia con il pulsante corrispondente.' },
|
|
36
|
+
];
|
|
37
|
+
|
|
38
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
39
|
+
'@context': 'https://schema.org',
|
|
40
|
+
'@type': 'FAQPage',
|
|
41
|
+
mainEntity: faq.map((item) => ({
|
|
42
|
+
'@type': 'Question',
|
|
43
|
+
name: item.question,
|
|
44
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
45
|
+
})),
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
const howToSchema: WithContext<HowTo> = {
|
|
49
|
+
'@context': 'https://schema.org',
|
|
50
|
+
'@type': 'HowTo',
|
|
51
|
+
name: title,
|
|
52
|
+
description,
|
|
53
|
+
step: howTo.map((step) => ({
|
|
54
|
+
'@type': 'HowToStep',
|
|
55
|
+
name: step.name,
|
|
56
|
+
text: step.text,
|
|
57
|
+
})),
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
61
|
+
'@context': 'https://schema.org',
|
|
62
|
+
'@type': 'SoftwareApplication',
|
|
63
|
+
name: title,
|
|
64
|
+
description,
|
|
65
|
+
applicationCategory: 'UtilitiesApplication',
|
|
66
|
+
operatingSystem: 'Web',
|
|
67
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
68
|
+
inLanguage: 'it',
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
export const content: DiceRollerLocaleContent = {
|
|
72
|
+
slug,
|
|
73
|
+
title,
|
|
74
|
+
description,
|
|
75
|
+
faqTitle: 'Domande Frequenti',
|
|
76
|
+
bibliographyTitle: 'Bibliografia della Sorte',
|
|
77
|
+
ui: {
|
|
78
|
+
title: 'Lanciatore di Dadi',
|
|
79
|
+
description: 'Che la fortuna sia con te.',
|
|
80
|
+
rollBtn: 'Lancia Dadi',
|
|
81
|
+
totalLabel: 'Totale',
|
|
82
|
+
historyLabel: 'Cronologia',
|
|
83
|
+
clearHistoryBtn: 'Cancella Cronologia',
|
|
84
|
+
faqTitle: 'FAQ',
|
|
85
|
+
bibliographyTitle: 'Riferimenti',
|
|
86
|
+
addDiceLabel: 'Aggiungi dadi al sacchetto',
|
|
87
|
+
bagLabel: 'Sacchetto dei dadi',
|
|
88
|
+
emptyBagBtn: 'Svuota',
|
|
89
|
+
emptyBagText: 'Clicca sui dadi per aggiungerli',
|
|
90
|
+
modifierLabel: 'Modificatore',
|
|
91
|
+
rollManyLabel: 'Lancia $COUNT dadi',
|
|
92
|
+
rollOneLabel: 'Lancia $COUNT dado',
|
|
93
|
+
preRollText: 'Aggiungi i dadi e lancia',
|
|
94
|
+
emptyHistoryText: 'La cronologia dei lanci apparirà qui'
|
|
95
|
+
},
|
|
96
|
+
seo: [
|
|
97
|
+
{ type: 'title', text: 'L\'Arte della Casualità: Storia e Matematica dei Dadi', level: 2 },
|
|
98
|
+
{ type: 'paragraph', html: 'I dadi sono tra i più antichi generatori di casualità dell\'umanità. Gli <strong>astragali</strong> — ossa della caviglia di pecore e capre — venivano usati come primitivi dadi a quattro facce già nel 5000 a.C. in Mesopotamia ed Egitto. L\'evoluzione dall\'osso intagliato ai moderni icosaedri in resina epossidica non è solo estetica: è un viaggio attraverso la teoria della probabilità e il design delle meccaniche di gioco.' },
|
|
99
|
+
{ type: 'title', text: 'La Famiglia Standard dei Dadi', level: 3 },
|
|
100
|
+
{ type: 'paragraph', html: 'Il set di dadi più diffuso nei giochi di ruolo — reso popolare da <strong>Dungeons & Dragons</strong> nel 1974 — consiste dei cinque solidi platonici più due forme aggiuntive: d4 (tetraedro), d6 (cubo), d8 (ottaedro), d10 (trapezoedro pentagonale), d12 (dodecaedro), d20 (icosaedro) e d100 (dado percentuale). Ogni poliedro garantisce una distribuzione uniforme: tutte le facce hanno esattamente la stessa probabilità di uscire.' },
|
|
101
|
+
{ type: 'list', items: [
|
|
102
|
+
'<strong>d4 – Tetraedro:</strong> Il più pericoloso se calpestato a piedi nudi. Quattro facce triangolari, 25% di probabilità per faccia. Comunemente usato per il danno dei pugnali o incantesimi di basso livello.',
|
|
103
|
+
'<strong>d6 – Cubo:</strong> Il dado più universale. Presente in tutti i giochi da tavolo sin dal senet egizio. La sua geometria cubica garantisce una perfetta equidistribuzione.',
|
|
104
|
+
'<strong>d8 – Ottaedro:</strong> Il dado della lancia o dell\'ascia da battaglia. Otto facce triangolari equilatere. 12,5% di probabilità per faccia.',
|
|
105
|
+
'<strong>d10 – Trapezoedro Pentagonale:</strong> L\'unico solido non platonico nel set standard. Due facce opposte per ogni "vertice". Essenziale per il d100 (due d10 combinati).',
|
|
106
|
+
'<strong>d12 – Dodecaedro:</strong> Il dado del barbaro. Dodici facce pentagonali. Sottovalutato in molti sistemi, protagonista del Barbaro in D&D 5e.',
|
|
107
|
+
'<strong>d20 – Icosaedro:</strong> Il re dei GDR. Venti facce triangolari. Protagonista del sistema d20: determina il successo o il fallimento di quasi tutte le azioni.',
|
|
108
|
+
'<strong>d100 – Percentuale:</strong> Due d10 combinati (decine + unità). Definisce probabilità precise in sistemi come Il Richiamo di Cthulhu o Warhammer Fantasy.',
|
|
109
|
+
]},
|
|
110
|
+
{ type: 'stats', items: [
|
|
111
|
+
{ value: '5000 a.C.', label: 'Primi dadi (astragali)', icon: 'mdi:history' },
|
|
112
|
+
{ value: '1974', label: 'D&D rese popolare il set', icon: 'mdi:sword' },
|
|
113
|
+
{ value: '7 tipi', label: 'Dadi standard da GDR', icon: 'mdi:dice-multiple' },
|
|
114
|
+
{ value: '2¹²⁸', label: 'Periodo casuale JS', icon: 'mdi:function-variant' },
|
|
115
|
+
], columns: 4 },
|
|
116
|
+
{ type: 'title', text: 'Probabilità e Curve di Distribuzione', level: 3 },
|
|
117
|
+
{ type: 'paragraph', html: 'Quando lanci un singolo dado, ottieni una <strong>distribuzione uniforme discreta</strong>: ogni risultato ha esattamente la stessa probabilità (1/n). Ma non appena combini più dadi, la magia matematica trasforma quella curva piatta in una <strong>distribuzione normale approssimata</strong>. Ecco perché 2d6 non è uguale a 1d12: con due dadi a sei facce la probabilità di fare 7 è 6/36 ≈ 16,7%, mentre gli estremi (2 e 12) si verificano solo il 2,8% delle volte.' },
|
|
118
|
+
{ type: 'tip', title: 'Vantaggio e Svantaggio (D&D 5e)', html: 'La meccanica del <strong>Vantaggio</strong> consiste nel lanciare 2d20 e tenere il risultato più alto. Matematicamente, questo alza la media da 10,5 a circa 13,8. Lo <strong>Svantaggio</strong> fa l\'opposto: prendi il più basso, abbassando la media a circa 7,2. Il nostro lanciatore ti permette di simularlo aggiungendo due d20 al sacchetto e confrontando i risultati individuali.' },
|
|
119
|
+
{ type: 'title', text: 'Modificatori: Il Ponte tra Dadi e Personaggio', level: 3 },
|
|
120
|
+
{ type: 'paragraph', html: 'Nella maggior parte dei sistemi GDR, il dado non agisce da solo: viene aggiunto o sottratto un <strong>modificatore</strong> che rappresenta le abilità del personaggio. In D&D 5e, un modificatore di Forza di +5 significa che lanci 1d20, aggiungi 5 e controlli il risultato contro la Classe Armatura del nemico. Il nostro lanciatore include un controllo del modificatore per riflettere fedelmente queste meccaniche.' },
|
|
121
|
+
{ type: 'tip', title: 'Standard di Notazione dei Dadi', html: 'La notazione <strong>XdY+Z</strong> è lo standard de facto nei giochi di ruolo: X dadi da Y facce con modificatore Z. "3d6+2" significa lanciare tre dadi a sei facce e aggiungere 2 al totale. Il nostro strumento utilizza questa notazione nella cronologia così puoi facilmente condividere o registrare i tuoi lanci.' },
|
|
122
|
+
{ type: 'glossary', items: [
|
|
123
|
+
{ term: 'Colpo Critico', definition: 'Un tiro del valore massimo su un dado (es. 20 su un d20). Di solito attiva effetti bonus speciali nella maggior parte dei sistemi GDR.' },
|
|
124
|
+
{ term: 'Fallimento / 1 Naturale', definition: 'Ottenere il valore minimo (1) su un dado. Spesso risulta in un fallimento drammatico o in una conseguenza negativa.' },
|
|
125
|
+
{ term: 'Dice Pool', definition: 'Una collezione di dadi lanciati simultaneamente. Il pool nel nostro strumento mostra ogni tipo di dado raggruppato per quantità (es. 3d6 + 2d8).' },
|
|
126
|
+
{ term: 'Modificatore', definition: 'Un numero fisso aggiunto o sottratto dal risultato di un lancio, che rappresenta l\'abilità di un personaggio, il bonus di caratteristica o una penalità situazionale.' },
|
|
127
|
+
{ term: 'Tiro Percentuale', definition: 'Un lancio che utilizza due d10 per produrre un risultato da 1 a 100, usato in sistemi basati sulle abilità dove le capacità sono misurate in percentuali.' },
|
|
128
|
+
]},
|
|
129
|
+
],
|
|
130
|
+
faq,
|
|
131
|
+
bibliography: [
|
|
132
|
+
{ name: 'D&D Beyond – Regole sulle meccaniche dei dadi', url: 'https://www.dndbeyond.com/sources/basic-rules/using-ability-scores' },
|
|
133
|
+
{ name: 'Roll20 – Tavolo virtuale e sistemi di dadi', url: 'https://roll20.net/' },
|
|
134
|
+
{ name: 'Pathfinder – Riferimento Sistema d20', url: 'https://paizo.com/pathfinder' },
|
|
135
|
+
],
|
|
136
|
+
howTo,
|
|
137
|
+
schemas: [faqSchema as any, howToSchema as any, appSchema],
|
|
138
|
+
};
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { DiceRollerLocaleContent } from '../index';
|
|
3
|
+
|
|
4
|
+
const slug = 'dice-roller';
|
|
5
|
+
const title = 'ダイスローラー';
|
|
6
|
+
const description = 'RPGやボードゲームに最適なダイスシミュレーター。d4, d6, d8, d10, d12, d20, d100に対応し、修正値の適用や履歴の確認も可能です。';
|
|
7
|
+
|
|
8
|
+
const faq: DiceRollerLocaleContent['faq'] = [
|
|
9
|
+
{
|
|
10
|
+
question: '「有利(アドバンテージ)」のロール(D&D)をシミュレートするには?',
|
|
11
|
+
answer: 'd20ボタンを2回クリックして、バッグにd20を2個追加します。ロールした際、2つの個別の結果を確認し、高い方の値を採用してください。表示される「合計」は合算値になりますが、結果の内訳(ブレイクダウン)で各ダイスの目を個別に確認できます。',
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
question: '結果に表示される緑色や赤色の数字は何を意味していますか?',
|
|
15
|
+
answer: '緑色の数字は、そのダイスの最大値が出たこと(「クリティカル」)を示します。赤色の数字は、最小値(「1」、いわゆるファンブル)が出たことを示します。これにより、一目でクリティカルや致命的失敗を判断できます。',
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
question: '同じ種類のダイスを複数追加できますか?',
|
|
19
|
+
answer: 'はい。ダイスボタンをクリックするたびにバッグに追加されます。d6を3回クリックすると、バッグには「3d6」と表示されます。個数を減らしたい場合は、バッグ内の各ダイスグループの横に表示される「−」ボタンをクリックしてください。',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
question: 'デジタルのダイスは物理的なダイスと同じくらいランダムですか?',
|
|
23
|
+
answer: '統計的には「はい」です。現代のJavaScriptエンジンは、非常に高品質で均一な分布を持つ擬似乱数アルゴリズム(xorshift128+)を使用しています。実物のダイスは製造上の微細な不備により偏りが生じることがありますが、デジタルのダイスにはその問題がありません。',
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
question: 'd100とは何ですか?どのように使いますか?',
|
|
27
|
+
answer: 'd100(またはd%)は1から100までの数値を生成し、『クトゥルフの呼び声』や『ウォーハンマー・ファンタジーRPG』のようなパーセンテージベースのゲームシステムで使用されます。これは「直接的な確率」を表します。例えば、隠密技能が65%の場合、成功するにはロール結果が65以下である必要があります。',
|
|
28
|
+
},
|
|
29
|
+
];
|
|
30
|
+
|
|
31
|
+
const howTo: DiceRollerLocaleContent['howTo'] = [
|
|
32
|
+
{ name: 'ダイスプールを作成する', text: 'ダイスボタン(d4, d6, d8...)をクリックしてプールに追加します。クリックするごとにその種類のダイスが増えます。複数の種類を混ぜてロールすることも可能です。' },
|
|
33
|
+
{ name: '修正値を調整する', text: '修正値の横にある「+」と「−」ボタンを使って、ボーナスやペナルティ(D&Dの能力値修正など)を適用します。修正値は自動的に合計に加算されます。' },
|
|
34
|
+
{ name: 'ダイスを振る', text: '「ロール」ボタンを押します。右側のパネルに最終合計値と各ダイスの内訳が表示されます。最大値は緑、最小値は赤でハイライトされます。' },
|
|
35
|
+
{ name: '履歴を確認する', text: 'すべてのロールは、使用したダイス式、合計結果、正確な時刻と共に履歴に記録されます。履歴は専用ボタンで消去可能です。' },
|
|
36
|
+
];
|
|
37
|
+
|
|
38
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
39
|
+
'@context': 'https://schema.org',
|
|
40
|
+
'@type': 'FAQPage',
|
|
41
|
+
mainEntity: faq.map((item) => ({
|
|
42
|
+
'@type': 'Question',
|
|
43
|
+
name: item.question,
|
|
44
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
45
|
+
})),
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
const howToSchema: WithContext<HowTo> = {
|
|
49
|
+
'@context': 'https://schema.org',
|
|
50
|
+
'@type': 'HowTo',
|
|
51
|
+
name: title,
|
|
52
|
+
description,
|
|
53
|
+
step: howTo.map((step) => ({
|
|
54
|
+
'@type': 'HowToStep',
|
|
55
|
+
name: step.name,
|
|
56
|
+
text: step.text,
|
|
57
|
+
})),
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
61
|
+
'@context': 'https://schema.org',
|
|
62
|
+
'@type': 'SoftwareApplication',
|
|
63
|
+
name: title,
|
|
64
|
+
description,
|
|
65
|
+
applicationCategory: 'UtilitiesApplication',
|
|
66
|
+
operatingSystem: 'Web',
|
|
67
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
68
|
+
inLanguage: 'ja',
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
export const content: DiceRollerLocaleContent = {
|
|
72
|
+
slug,
|
|
73
|
+
title,
|
|
74
|
+
description,
|
|
75
|
+
faqTitle: 'よくある質問',
|
|
76
|
+
bibliographyTitle: '確率の参考文献',
|
|
77
|
+
ui: {
|
|
78
|
+
title: 'ダイスローラー',
|
|
79
|
+
description: '幸運があなたと共にありますように。',
|
|
80
|
+
rollBtn: 'ロール',
|
|
81
|
+
totalLabel: '合計',
|
|
82
|
+
historyLabel: '履歴',
|
|
83
|
+
clearHistoryBtn: '履歴をクリア',
|
|
84
|
+
faqTitle: 'FAQ',
|
|
85
|
+
bibliographyTitle: '参考文献',
|
|
86
|
+
addDiceLabel: 'バッグにダイスを追加',
|
|
87
|
+
bagLabel: 'ダイスバッグ',
|
|
88
|
+
emptyBagBtn: '空にする',
|
|
89
|
+
emptyBagText: 'ダイスをクリックして追加',
|
|
90
|
+
modifierLabel: '修正値',
|
|
91
|
+
rollManyLabel: 'ダイスを$COUNT個振る',
|
|
92
|
+
rollOneLabel: 'ダイスを$COUNT個振る',
|
|
93
|
+
preRollText: 'ダイスを追加してロール',
|
|
94
|
+
emptyHistoryText: 'ここにロール履歴が表示されます'
|
|
95
|
+
},
|
|
96
|
+
seo: [
|
|
97
|
+
{ type: 'title', text: 'ランダムの芸術:ダイスの歴史と数学', level: 2 },
|
|
98
|
+
{ type: 'paragraph', html: 'ダイスは人類最古の乱数発生器の一つです。<strong>「アストラガルス」</strong>(羊や山羊の距骨)は、紀元前5000年のメソポタミアやエジプトですでに原始的な4面ダイスとして使われていました。削り出された骨から現代のエポキシ樹脂製20面体への進化は、単なる美学ではなく、確率論とゲームメカニクス設計の歴史そのものです。' },
|
|
99
|
+
{ type: 'title', text: '標準的なダイスファミリー', level: 3 },
|
|
100
|
+
{ type: 'paragraph', html: '1974年に<strong>『ダンジョンズ&ドラゴンズ』</strong>によって普及したロールプレイングゲームで最も一般的なダイスセットは、5つのプラトン立体に2つの形状を加えたもので構成されています:d4(正四面体)、d6(正六面体)、d8(正八面体)、d10(五角柱状多面体)、d12(正十二面体)、d20(正二十面体)、そしてd100(パーセンタイル)。各多面体は均一な分布を保証しており、すべての面が出る確率は全く同じです。' },
|
|
101
|
+
{ type: 'list', items: [
|
|
102
|
+
'<strong>d4 – 正四面体:</strong> 裸足で踏むと最も危険。4つの三角形の面を持ち、各面が出る確率は25%。短剣のダメージや低レベルの呪文によく使われます。',
|
|
103
|
+
'<strong>d6 – 正六面体:</strong> 最も普遍的なダイス。古代エジプトのセネト以来、あらゆるボードゲームに存在します。その立方体形状は完璧な等分布を保証します。',
|
|
104
|
+
'<strong>d8 – 正八面体:</strong> 槍やバトルアックスのダイス。8つの正三角形の面を持ち、各面が出る確率は12.5%です。',
|
|
105
|
+
'<strong>d10 – 五角柱状多面体:</strong> 標準セットの中で唯一、プラトン立体ではない形状。「頂点」ごとに2つの対向する面があります。d100(2つのd10の組み合わせ)に不可欠です。',
|
|
106
|
+
'<strong>d12 – 正十二面体:</strong> バーバリアンのダイス。12個の五角形の面。多くのシステムで過小評価されていますが、D&D 5版のバーバリアンでは主役です。',
|
|
107
|
+
'<strong>d20 – 正二十面体:</strong> RPGの王様。20の三角形の面。d20システムの主役であり、ほぼすべての行動の成否を決定します。',
|
|
108
|
+
'<strong>d100 – パーセンタイル:</strong> 2つのd10を組み合わせたもの(十の位+一の位)。『クトゥルフの呼び声』や『ウォーハンマー』などのシステムで精密な確率を定義します。',
|
|
109
|
+
]},
|
|
110
|
+
{ type: 'stats', items: [
|
|
111
|
+
{ value: '紀元前5000年', label: '最初のダイス(アストラガルス)', icon: 'mdi:history' },
|
|
112
|
+
{ value: '1974', label: 'D&Dがセットを普及させた年', icon: 'mdi:sword' },
|
|
113
|
+
{ value: '7種類', label: '標準的なRPGダイス', icon: 'mdi:dice-multiple' },
|
|
114
|
+
{ value: '2¹²⁸', label: 'JSの乱数周期', icon: 'mdi:function-variant' },
|
|
115
|
+
], columns: 4 },
|
|
116
|
+
{ type: 'title', text: '確率と分布曲線', level: 3 },
|
|
117
|
+
{ type: 'paragraph', html: '1つのダイスを振る場合、それは<strong>離散一様分布</strong>となります。つまり、すべての結果が全く同じ確率(1/n)で発生します。しかし、複数のダイスを組み合わせると、数学的な魔法によってその平坦な曲線は<strong>近似的な正規分布</strong>へと変化します。これが、2d6が1d12と同じではない理由です。2つの6面ダイスで「7」が出る確率は6/36(約16.7%)ですが、端の数値(2や12)が出る確率はわずか2.8%にすぎません。' },
|
|
118
|
+
{ type: 'tip', title: '有利と不利(D&D 5版)', html: '<strong>「有利(アドバンテージ)」</strong>メカニクスは、2d20をロールして高い方の結果を採用するものです。数学的には、これにより期待値が10.5から約13.8に上昇します。<strong>「不利(ディスアドバンテージ)」</strong>はその逆で、低い方を採用するため、期待値は約7.2まで下がります。当ツールでは、バッグに2つのd20を追加して結果を比較することで、これを再現できます。' },
|
|
119
|
+
{ type: 'title', text: '修正値:ダイスとキャラクターの架け橋', level: 3 },
|
|
120
|
+
{ type: 'paragraph', html: 'ほとんどのRPGシステムでは、ダイスだけで結果が決まるわけではありません。キャラクターの能力を表す<strong>修正値(モディファイア)</strong>を加減算します。D&D 5版で筋力修正値が+5の場合、1d20をロールして5を足し、その数値を敵のアーマークラス(AC)と比較します。当ツールには、これらのメカニクスを忠実に反映するための修正値コントロールが含まれています。' },
|
|
121
|
+
{ type: 'tip', title: 'ダイス表記の標準', html: '<strong>XdY+Z</strong>という表記は、RPGにおける事実上の標準です。Xがダイスの個数、Yが面の数、Zが修正値を表します。「3d6+2」は「6面ダイスを3個振って合計に2を足す」という意味です。当ツールはこの表記を履歴に使用しているため、ロール結果を簡単に共有したり記録したりできます。' },
|
|
122
|
+
{ type: 'glossary', items: [
|
|
123
|
+
{ term: 'クリティカル・ヒット', definition: 'ダイスの最大値が出ること(例:d20で20が出る)。多くのRPGシステムでは、特別なボーナス効果が発動します。' },
|
|
124
|
+
{ term: 'ファンブル / Nat 1', definition: 'ダイスの最小値(1)が出ること。劇的な失敗や否定的な結果をもたらすことが多いです。' },
|
|
125
|
+
{ term: 'ダイスプール', definition: '同時にロールされるダイスの集合。当ツールのプールでは、各ダイスタイプが個数ごとにグループ化されて表示されます(例:3d6 + 2d8)。' },
|
|
126
|
+
{ term: '修正値(モディファイア)', definition: 'ロール結果に加減算される固定値。キャラクターの技能、能力ボーナス、または状況によるペナルティを表します。' },
|
|
127
|
+
{ term: 'パーセンタイル・ロール', definition: '2つのd10を使用して1〜100の結果を出すこと。能力がパーセンテージで測定される技能ベースのシステムで使用されます。' },
|
|
128
|
+
]},
|
|
129
|
+
],
|
|
130
|
+
faq,
|
|
131
|
+
bibliography: [
|
|
132
|
+
{ name: 'D&D Beyond – ダイスメカニクスの基本ルール', url: 'https://www.dndbeyond.com/sources/basic-rules/using-ability-scores' },
|
|
133
|
+
{ name: 'Roll20 – バーチャルテーブルトップとダイスシステム', url: 'https://roll20.net/' },
|
|
134
|
+
{ name: 'Pathfinder – d20システムリファレンス', url: 'https://paizo.com/pathfinder' },
|
|
135
|
+
],
|
|
136
|
+
howTo,
|
|
137
|
+
schemas: [faqSchema as any, howToSchema as any, appSchema],
|
|
138
|
+
};
|