Initialise le catalogue de jeux Skori
Validation du contenu / validate (push) Successful in 34s

- Structure games/<bggId>-<nom>/ : game.json, scoring.json, rules.fr.json
- 7 jeux intégrés à l'app (modèles de score), fiches de règles Azul et
  6 qui prend
- Schémas JSON générés depuis l'app (autocomplétion dans l'éditeur)
- CI : validation avec le validateur de l'app, schémas à jour
- Licence CC BY-SA 4.0, guide de contribution
This commit is contained in:
2026-10-18 21:19:01 +02:00
commit d823c1d0b9
25 changed files with 1128 additions and 0 deletions
+7
View File
@@ -0,0 +1,7 @@
{
"$schema": "../../schemas/game.schema.json",
"schemaVersion": 1,
"bggId": 406854,
"name": "Odin",
"slug": "odin_cards"
}
+59
View File
@@ -0,0 +1,59 @@
{
"$schema": "../../schemas/scoring.schema.json",
"schemaVersion": 2,
"id": "odin_cards",
"bggId": 406854,
"name": "Odin",
"description": "Videz votre main le plus vite possible. Un point par carte restante. La partie s'arrête quand le score cible est atteint, le plus petit score gagne.",
"players": {
"min": 2,
"max": 6
},
"winner": "lowest",
"end": {
"target": {
"type": "option",
"optionId": "target_score",
"customValue": "custom",
"customOptionId": "custom_target_score"
},
"targetCondition": "reaches"
},
"icon": "Sword",
"colors": {
"primary": "#c2410c"
},
"options": [
{
"type": "select",
"id": "target_score",
"label": "Score de fin de partie",
"default": "15",
"choices": [
{
"value": "15",
"label": "Partie courte (15 pts)"
},
{
"value": "20",
"label": "Partie classique (20 pts)"
},
{
"value": "custom",
"label": "Personnalisé"
}
]
},
{
"type": "number",
"id": "custom_target_score",
"label": "Score personnalisé",
"default": 25,
"min": 1,
"visibleWhen": {
"optionId": "target_score",
"equals": "custom"
}
}
]
}