3. Settings.py

Ce code définit des paramètres et des données utilisés dans le jeu. Voici une explication détaillée du code :

  1. Imports :

    python
import os

os: Utilisé pour effectuer des opérations liées au système d'exploitation, notamment le changement du répertoire de travail.

  • Changement du répertoire de travail :

    python
os.chdir(os.path.dirname(os.path.abspath(__file__)))

Comme dans les exemples précédents, cela change le répertoire de travail actuel pour le répertoire du script en cours d'exécution.

  • Paramètres du jeu :

    python
# Game setup WIDTH = 1280 HEIGHT = 720 FPS = 60 TILESIZE = 64 HITBOX_OFFSET = { "player": -26, "object": -40, "grass": -10, "invisible": 0 }
    • WIDTH et HEIGHT définissent la largeur et la hauteur de la fenêtre du jeu.
    • FPS définit le nombre d'images par seconde du jeu.
    • TILESIZE définit la taille d'une tuile dans le jeu.
    • HITBOX_OFFSET est un dictionnaire définissant des décalages pour différentes types d'objets.
  • Paramètres de l'interface utilisateur (UI) :

    python
# UI BAR_HEIGHT = 20 HEALTH_BAR_WIDTH = 200 ENERGY_BAR_WIDTH = 140 ITEM_BOX_SIZE = 80 UI_FONT = "../Graphics/Font/Joystix.ttf" UI_FONT_SIZE = 18

Différents paramètres liés à l'interface utilisateur tels que la hauteur des barres, la taille des boîtes d'objets, la police utilisée, etc.

  • Couleurs générales :

    python
# General Colors WATER_COLOR = "#71ddee" UI_BG_COLOR = "#222222" UI_BORDER_COLOR = "#111111" TEXT_COLOR = "#EEEEEE"

Définition de certaines couleurs utilisées dans le jeu.

  • Couleurs spécifiques à l'interface utilisateur :

    python
# UI Colors HEALTH_COLOR = "Red" ENERGY_COLOR = "Blue" UI_BORDER_COLOR_ACTIVE = "Gold"

Définition de couleurs spécifiques pour les barres de santé et d'énergie, ainsi que pour la bordure active.

  • Paramètres du menu d'amélioration :

    python
# Upgrade Menu TEXT_COLOR_SELECTED = "#111111" BAR_COLOR = "#EEEEEE" BAR_COLOR_SELECTED = "#111111" UPGRADE_BG_COLOR_SELECTED = "#EEEEEE"

Paramètres de couleurs pour le menu d'amélioration.

  • Données des armes :

    python
# Weapons weapon_data = { "sword": {"cooldown": 100, "damage": 15, "graphic": "../Graphics/Weapons/Sword/Full.png"}, "lance": {"cooldown": 400, "damage": 30, "graphic": "../Graphics/Weapons/Lance/Full.png"}, "axe": {"cooldown": 300, "damage": 20, "graphic": "../Graphics/Weapons/Axe/Full.png"}, "rapier": {"cooldown": 50, "damage": 8, "graphic": "../Graphics/Weapons/Rapier/Full.png"}, "sai": {"cooldown": 80, "damage": 10, "graphic": "../Graphics/Weapons/Sai/Full.png"} }
    • Une collection de données pour différentes armes, spécifiant des informations telles que le temps de recharge, les dégâts, et l'image graphique associée.
  • Données de la magie :

    python
# Magic magic_data = { "flame": {"strength": 5, "cost": 20, "graphic": "../Graphics/Particles/Flame/Fire.png"}, "heal": {"strength": 20, "cost": 10, "graphic": "../Graphics/Particles/Heal/Heal.png"} }
    • Une collection de données pour différents types de magie, spécifiant des informations telles que la force, le coût, et l'image graphique associée.
  1. Données des ennemis :

python
# Enemies monster_data = { "squid": {"health": 100, "exp": 180, "damage": 20, "attack_type": "slash", "attack_sound": "../Audio/Attack/Slash.wav", "speed": 3, "resistance": 3, "attack_radius": 80, "notice_radius": 360}, "raccoon": {"health": 300, "exp": 300, "damage": 40, "attack_type": "claw", "attack_sound": "../Audio/Attack/Claw.wav", "speed": 2, "resistance": 3, "attack_radius": 120, "notice_radius": 400}, "spirit": {"health": 100, "exp": 200, "damage": 8, "attack_type": "thunder", "attack_sound": "../Audio/Attack/Fireball.wav", "speed": 4, "resistance": 3, "attack_radius": 60, "notice_radius": 350}, "bamboo": {"health": 70, "exp": 150, "damage": 6, "attack_type": "leaf_attack", "attack_sound": "../Audio/Attack/Slash.wav", "speed": 3, "resistance": 3, "attack_radius": 50, "notice_radius": 300} }
  • Une collection de données pour différents types d'ennemis, spécifiant des informations telles que la santé, l'expérience, les dégâts, etc.

Ces paramètres et données sont utilisés dans le jeu pour définir des caractéristiques telles que la taille de la fenêtre, les couleurs, les propriétés des objets, les informations sur les armes, la magie et les ennemis.