Aller au contenu principal

Plats & ingrédients

Cette page décrit comment sont définis les plats et les ingrédients dans SnackAnarchy, et comment ils interagissent avec le système de stock.

Elle s’appuie principalement sur :

  • game/dishes.py
  • game/inventory.py (stock et recettes RECIPES)

Définition des plats​

Les plats sont des objets ou structures définis dans game/dishes.py.
Chaque plat contient au minimum :

  • un nom (par exemple Tacos XXL, Kebab) ;
  • une liste d’ingrĂ©dients nĂ©cessaires pour le prĂ©parer ;
  • Ă©ventuellement un temps de prĂ©paration ou des paramètres spĂ©cifiques utilisĂ©s par les mini‑jeux.

Exemples (schématiques) :

  • Tacos XXL :
    • tortilla,
    • viande,
    • frites,
    • sauce.
  • Kebab :
    • pain,
    • viande sur broche,
    • salade,
    • sauce.

Le jeu utilise ces définitions pour :

  • afficher le nom du plat dans les bulles des clients ;
  • dĂ©terminer quels ingrĂ©dients doivent ĂŞtre consommĂ©s lors d’un service rĂ©ussi.

Recettes & lien avec le stock​

Dans game/inventory.py, le dictionnaire RECIPES fait le lien entre les plats et le stock de nourriture :

  • chaque entrĂ©e de RECIPES associe un plat Ă  :
    • une liste d’ingrĂ©dients (clĂ©s du stock),
    • les quantitĂ©s nĂ©cessaires pour servir 1 client.

Quand un joueur sert un client :

  1. Le mini‑jeu de service renvoie un succès ou un échec.
  2. En cas de succès, l’état du jeu appelle une fonction du type can_serve_dish / use_recipe :
    • vĂ©rification que chaque ingrĂ©dient requis est disponible dans le FoodStock du restaurant concernĂ© ;
    • si oui, les quantitĂ©s sont dĂ©crĂ©mentĂ©es ;
    • si non, le jeu affiche une rupture de stock pour ce plat.

Gestion des ingrédients dans le stock​

Le stock de nourriture est géré par FoodStock :

  • chaque ingrĂ©dient est dĂ©crit par :
    • une quantitĂ© courante (quantity) ;
    • une capacitĂ© maximale (max) ;
    • un prix unitaire (price) pour le rĂ©approvisionnement.
  • les restaurants tacos et kebab possèdent chacun leur propre FoodStock.

Le menu d’inventaire (InventoryMenu) permet :

  • de visualiser les barres de stock (vert / orange / rouge) pour chaque ingrĂ©dient ;
  • de rĂ©approvisionner un ingrĂ©dient ou l’ensemble du stock, au prix de l’argent du restaurant.

Conséquences de la rupture de stock​

Quand un plat ne peut pas être servi par manque d’ingrédients :

  • le mini‑jeu peut tout de mĂŞme ĂŞtre rĂ©ussi, mais :
    • aucun ingrĂ©dient n’est consommĂ© ;
    • le client reste en attente (il peut s’énerver si la situation dure) ;
    • aucun argent ni rĂ©putation ne sont gagnĂ©s.

Une mauvaise gestion des ingrédients mène donc à :

  • des clients bloquĂ©s dans la file,
  • une augmentation du risque de clients en colère,
  • une perte potentielle de rĂ©putation si les clients finissent par partir.

Interaction avec les sabotages​

Certains sabotages impactent directement les plats et les ingrédients, par exemple :

  • Empoisonner le stock : rĂ©duit brutalement les quantitĂ©s dans FoodStock ;
  • Vol de broche : rend impossible la prĂ©paration de certains plats (kebab) pendant un certain temps.

Ces effets sont décrits plus en détail dans la page Sabotages & événements, mais ils s’appuient tous sur les mêmes structures de recettes et de stock décrites ici.