- 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:
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"$schema": "../../schemas/game.schema.json",
|
||||
"schemaVersion": 1,
|
||||
"bggId": 230802,
|
||||
"name": "Azul",
|
||||
"slug": "azul"
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"$schema": "../../schemas/rules.schema.json",
|
||||
"schemaVersion": 1,
|
||||
"locale": "fr",
|
||||
"summary": "Prenez des tuiles colorées et complétez le mur de votre palais pour marquer le plus de points.",
|
||||
"goal": "Avoir le plus de points à la fin de la partie.",
|
||||
"setup": "Chaque joueur prend un plateau. On place des fabriques au centre (5 à 2 joueurs, 7 à 3, 9 à 4) et on pose 4 tuiles tirées au hasard sur chacune. Le jeton premier joueur va au centre de la table.",
|
||||
"turn": "À son tour, on prend toutes les tuiles d'une même couleur sur une fabrique (le reste part au centre) ou toutes celles d'une couleur au centre. Le premier à se servir au centre prend aussi le jeton premier joueur, qui va sur sa ligne plancher.\nLes tuiles prises vont sur une seule ligne de motif, qui ne peut contenir qu'une couleur, absente de la ligne correspondante du mur. Les tuiles en trop tombent sur la ligne plancher.\nQuand toutes les tuiles ont été prises, chaque ligne de motif complète envoie une tuile sur le mur et marque des points.",
|
||||
"end": "La partie s'arrête à la fin de la manche où un joueur complète au moins une ligne horizontale de son mur.",
|
||||
"scoring": "Une tuile posée sur le mur rapporte 1 point, ou autant de points que de tuiles reliées horizontalement et verticalement.\nLa ligne plancher fait perdre 1, 1, 2, 2, 2, 3 et 3 points.\nEn fin de partie : +2 par ligne horizontale complète, +7 par colonne complète, +10 par couleur posée 5 fois.",
|
||||
"tips": "Évitez de prendre plus de tuiles que vous ne pouvez en placer : la ligne plancher coûte cher."
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"$schema": "../../schemas/scoring.schema.json",
|
||||
"schemaVersion": 2,
|
||||
"id": "azul",
|
||||
"bggId": 230802,
|
||||
"name": "Azul",
|
||||
"description": "Placez des tuiles pour marquer un maximum de points.",
|
||||
"players": {
|
||||
"min": 2,
|
||||
"max": 4
|
||||
},
|
||||
"winner": "highest",
|
||||
"icon": "Palette",
|
||||
"colors": {
|
||||
"primary": "#005b8f"
|
||||
},
|
||||
"options": [
|
||||
{
|
||||
"type": "boolean",
|
||||
"id": "variants",
|
||||
"label": "Variante plateau gris",
|
||||
"default": false
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"$schema": "../../schemas/game.schema.json",
|
||||
"schemaVersion": 1,
|
||||
"bggId": 271321,
|
||||
"name": "Cabo",
|
||||
"slug": "cabo"
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
{
|
||||
"$schema": "../../schemas/scoring.schema.json",
|
||||
"schemaVersion": 2,
|
||||
"id": "cabo",
|
||||
"bggId": 271321,
|
||||
"name": "Cabo",
|
||||
"description": "Trouvez la licorne. La partie se termine si on atteint ou dépasse 100 points. Tomber pile sur 100 fait redescendre le score à 50 (une fois par joueur).",
|
||||
"players": {
|
||||
"min": 2,
|
||||
"max": 5
|
||||
},
|
||||
"winner": "lowest",
|
||||
"aggregation": {
|
||||
"type": "sum_with_reset",
|
||||
"threshold": 100,
|
||||
"resetTo": 50,
|
||||
"oncePerPlayer": true
|
||||
},
|
||||
"end": {
|
||||
"target": {
|
||||
"type": "fixed",
|
||||
"value": 100
|
||||
},
|
||||
"targetCondition": "reaches"
|
||||
},
|
||||
"icon": "Ghost",
|
||||
"colors": {
|
||||
"primary": "#6e1d5a"
|
||||
},
|
||||
"options": [
|
||||
{
|
||||
"type": "boolean",
|
||||
"id": "kamikaze",
|
||||
"label": "Règle Kamikaze (2 cartes 13 + 2 cartes 12)",
|
||||
"default": true
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"$schema": "../../schemas/game.schema.json",
|
||||
"schemaVersion": 1,
|
||||
"bggId": 406854,
|
||||
"name": "Odin",
|
||||
"slug": "odin_cards"
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"$schema": "../../schemas/game.schema.json",
|
||||
"schemaVersion": 1,
|
||||
"bggId": 414317,
|
||||
"name": "Harmonies",
|
||||
"slug": "harmonie"
|
||||
}
|
||||
@@ -0,0 +1,73 @@
|
||||
{
|
||||
"$schema": "../../schemas/scoring.schema.json",
|
||||
"schemaVersion": 2,
|
||||
"id": "harmonie",
|
||||
"bggId": 414317,
|
||||
"name": "Harmonies",
|
||||
"description": "Créez des paysages pour accueillir des animaux.",
|
||||
"players": {
|
||||
"min": 1,
|
||||
"max": 4
|
||||
},
|
||||
"winner": "highest",
|
||||
"end": {
|
||||
"rounds": 1
|
||||
},
|
||||
"icon": "TreePine",
|
||||
"colors": {
|
||||
"primary": "#065f46"
|
||||
},
|
||||
"options": [
|
||||
{
|
||||
"type": "boolean",
|
||||
"id": "esprits_nature",
|
||||
"label": "Extension : Esprits de la nature",
|
||||
"default": false
|
||||
}
|
||||
],
|
||||
"categories": [
|
||||
{
|
||||
"id": "arbres",
|
||||
"label": "Arbres",
|
||||
"icon": "TreePine",
|
||||
"color": "#16a34a"
|
||||
},
|
||||
{
|
||||
"id": "montagnes",
|
||||
"label": "Montagnes",
|
||||
"icon": "Mountain",
|
||||
"color": "#64748b"
|
||||
},
|
||||
{
|
||||
"id": "champs",
|
||||
"label": "Champs",
|
||||
"icon": "Wheat",
|
||||
"color": "#d97706"
|
||||
},
|
||||
{
|
||||
"id": "batiments",
|
||||
"label": "Bâtiments",
|
||||
"icon": "Building2",
|
||||
"color": "#dc2626"
|
||||
},
|
||||
{
|
||||
"id": "eau",
|
||||
"label": "Rivière",
|
||||
"icon": "Waves",
|
||||
"color": "#0ea5e9"
|
||||
},
|
||||
{
|
||||
"id": "animaux",
|
||||
"label": "Animaux",
|
||||
"icon": "Rabbit",
|
||||
"color": "#a16207"
|
||||
},
|
||||
{
|
||||
"id": "esprits_nature",
|
||||
"label": "Esprits de la nature",
|
||||
"icon": "Sparkles",
|
||||
"color": "#8b5cf6",
|
||||
"requiresOption": "esprits_nature"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"$schema": "../../schemas/game.schema.json",
|
||||
"schemaVersion": 1,
|
||||
"bggId": 432,
|
||||
"name": "6 qui prend !",
|
||||
"slug": "six_qui_prend"
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"$schema": "../../schemas/rules.schema.json",
|
||||
"schemaVersion": 1,
|
||||
"locale": "fr",
|
||||
"summary": "Posez vos cartes au bon endroit pour éviter de ramasser des têtes de bœuf.",
|
||||
"goal": "Avoir le moins de têtes de bœuf possible à la fin de la partie.",
|
||||
"setup": "Chaque joueur reçoit 10 cartes. On pose 4 cartes face visible au centre : chacune démarre une rangée.",
|
||||
"turn": "Tous les joueurs choisissent une carte en secret puis la révèlent en même temps.\nLes cartes sont placées dans l'ordre croissant, de la plus petite à la plus grande.\nChaque carte va dans la rangée dont la dernière carte est la plus proche en dessous de sa valeur.\nSi la carte serait la 6e de sa rangée, son joueur ramasse les 5 cartes de la rangée et sa carte en démarre une nouvelle.\nSi la carte est plus petite que la dernière carte de toutes les rangées, son joueur choisit une rangée, la ramasse, et sa carte la remplace.",
|
||||
"end": "Une manche dure 10 tours. On joue des manches jusqu'à ce qu'un joueur atteigne 66 têtes de bœuf.",
|
||||
"scoring": "En fin de manche, chacun compte les têtes de bœuf des cartes ramassées et les ajoute à son total. Le plus petit total gagne.",
|
||||
"tips": "Garder des cartes très basses ou très hautes en fin de manche aide à se sortir des situations délicates."
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"$schema": "../../schemas/scoring.schema.json",
|
||||
"schemaVersion": 2,
|
||||
"id": "six_qui_prend",
|
||||
"bggId": 432,
|
||||
"name": "6 qui prend !",
|
||||
"description": "Évitez de ramasser les têtes de bœuf ! La partie s'arrête quand un joueur atteint 66 points. Le plus petit score gagne.",
|
||||
"players": {
|
||||
"min": 2,
|
||||
"max": 10
|
||||
},
|
||||
"winner": "lowest",
|
||||
"end": {
|
||||
"target": {
|
||||
"type": "fixed",
|
||||
"value": 66
|
||||
},
|
||||
"targetCondition": "reaches"
|
||||
},
|
||||
"icon": "Beef",
|
||||
"colors": {
|
||||
"primary": "#d81f26"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"$schema": "../../schemas/game.schema.json",
|
||||
"schemaVersion": 1,
|
||||
"bggId": 448428,
|
||||
"name": "Moustache",
|
||||
"slug": "moustache"
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"$schema": "../../schemas/scoring.schema.json",
|
||||
"schemaVersion": 2,
|
||||
"id": "moustache",
|
||||
"bggId": 448428,
|
||||
"name": "Moustache",
|
||||
"description": "Les équipes changent à chaque manche : notez l'équipe gagnante des 4 manches, puis chacun révèle ses points. Le plus de points gagne.",
|
||||
"players": {
|
||||
"min": 3,
|
||||
"max": 6
|
||||
},
|
||||
"winner": "highest",
|
||||
"end": {
|
||||
"rounds": 5
|
||||
},
|
||||
"teams": {
|
||||
"rounds": 4,
|
||||
"list": [
|
||||
{
|
||||
"id": "bleu",
|
||||
"label": "Équipe bleue",
|
||||
"color": "#2563eb"
|
||||
},
|
||||
{
|
||||
"id": "rouge",
|
||||
"label": "Équipe rouge",
|
||||
"color": "#dc2626"
|
||||
}
|
||||
]
|
||||
},
|
||||
"icon": "Drama",
|
||||
"colors": {
|
||||
"primary": "#e5709b"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"$schema": "../../schemas/game.schema.json",
|
||||
"schemaVersion": 1,
|
||||
"bggId": 453781,
|
||||
"name": "Chouineurs",
|
||||
"slug": "chouineurs"
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"$schema": "../../schemas/scoring.schema.json",
|
||||
"schemaVersion": 2,
|
||||
"id": "chouineurs",
|
||||
"bggId": 453781,
|
||||
"name": "Chouineurs",
|
||||
"description": "Retournez la situation ! Marquez un maximum de points en 4 manches.",
|
||||
"players": {
|
||||
"min": 3,
|
||||
"max": 5
|
||||
},
|
||||
"winner": "highest",
|
||||
"end": {
|
||||
"rounds": 4
|
||||
},
|
||||
"icon": "Drama",
|
||||
"colors": {
|
||||
"primary": "#6d4a95"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user