| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Bienvenue sur Mana Clash, un jeu de cartes tactique en ligne inspiré par des classiques comme Magic: The Gathering et Hearthstone. Ce projet a été développé pour être à la fois un jeu amusant et une plateforme extensible et open source (pour le moment :P) .
Le but est simple : réduire les points de vie (PV) de votre adversaire de 20 à 0 avant qu'il ne fasse de même avec vous !
Chaque tour se déroule en plusieurs phases pour le joueur actif :
Début du Tour :
Phase Principale (Main Phase) :
Phase de Combat (Combat Phase) :
Fin du Tour :
Mana Clash est conçu pour être étendu ! Voici comment vous pouvez ajouter votre propre contenu au jeu.
Ajouter une carte est un processus simple en 3 étapes.
Ouvrez le fichier src/data/initial-cards.ts. Vous y trouverez une fonction createCard qui facilite la création. Suivez la structure existante pour ajouter votre carte.
Exemple : Ajouter une nouvelle créature
createCard(
'nom_unique_id', // Un ID unique en minuscules
'Nom de la Carte', // Le nom affiché
'Creature', // Le type de carte
3, // Coût en mana
"Description de l'effet.", // Description affichée sur la carte
{
attack: 3,
health: 4,
armor: 1,
rarity: 'Rare',
preferredBiome: 'Forest' // Optionnel
}
),Pour que votre carte ait un visuel, ouvrez src/lib/placeholder-images.json et ajoutez une nouvelle entrée pour votre carte en utilisant le même id que celui défini à l'étape 1.
Exemple :
{
"id": "nom_unique_id",
"description": "Une description pour l'image.",
"imageUrl": "https://picsum.photos/seed/votre_seed/300/400",
"imageHint": "mots clés" // Pour une future recherche d'images IA
}Pour que votre carte apparaisse en jeu, ajoutez-la à la fonction createDeck() dans src/data/initial-cards.ts.
Exemple :
// Dans la fonction createDeck()
addCards('nom_unique_id', 2); // Ajoute 2 exemplaires de cette carte au deckC'est ici que la magie opère ! Pour créer une nouvelle mécanique de jeu, vous devrez principalement travailler dans src/lib/game-reducer.ts.
Définir le type de compétence : Dans src/lib/types.ts, ajoutez le nom de votre nouvelle compétence à SkillType.
export type SkillType =
| 'taunt'
| 'heal'
| 'votre_nouvelle_competence'; // Ajoutez iciImplémenter la logique : Dans src/lib/game-reducer.ts, trouvez la section appropriée (par exemple, dans l'action CAST_SPELL_ON_TARGET ou ACTIVATE_SKILL) et ajoutez un case pour votre nouvelle compétence.
// Dans le switch (spellOrSkillCaster.skill?.type)
case 'votre_nouvelle_competence':
// Votre logique ici.
// Par exemple, modifiez la santé de la cible, piochez des cartes, etc.
log.push({ type: 'skill', turn, message: `Effet incroyable se produit !` });
break;Lier la compétence à une carte : Dans initial-cards.ts, vous pouvez maintenant assigner votre nouvelle compétence à une carte.
createCard('carte_speciale', 'Carte avec Super Effet', 'Creature', 5, 'Fait un truc génial.', {
skill: { type: 'votre_nouvelle_competence', used: false, cooldown: 3 }
}),N'hésitez pas à forker le projet, à expérimenter et à proposer des améliorations !
| Back | FazBrowse Home | New Git URL |