[RESOLUS] Crée un jeux de carte multijoueur

Bonjour à tous,

Mon ami et moi travaillons sur un jeu de cartes inspiré de Yu-Gi-Oh! et Hearthstone. J’ai choisi de coder le jeu en utilisant GDevelop pour sa simplicité. J’ai réussi à créer un deck contenant toutes les cartes dans un ordre aléatoire, mais j’ai rencontré un problème pour générer les cartes.

Actuellement, j’ai une fonction qui utilise une variable pour comparer l’ID des cartes et créer la carte correspondante. La variable du deck est un tableau contenant les ID des cartes. Voici mon souci : bien que cette méthode fonctionne, elle risque de devenir compliquée lorsque nous aurons des centaines de cartes.

Pour chaque carte, j’ai créé une variable ID unique et j’ai également créé un groupe d’objets contenant toutes les cartes (les cartes sont des sprites). Je cherche maintenant un moyen de parcourir toutes les cartes, de trouver celle avec le même ID que la carte en haut du deck grâce à la variable deck, et de la créer sur le terrain (dans la main du joueur).

Pour résumer, je cherche une solution pour automatiser la création des cartes en utilisant leurs ID sans avoir à écrire manuellement des conditions pour chaque carte. Si vous avez des suggestions ou des solutions pour m’aider à réaliser cela de manière efficace, je vous en serais très reconnaissant.

Merci d’avance pour votre aide !

Bonjour,
As tu regardé les exemples comme Pairs, System Cart, Solitaire, Object Selection ?
T’as besoin en gros d’un inventaire avec des options de filtrage c’est ça ?

Actuellement, je n’ai pas encore implémenté la possibilité de modifier les decks, donc les seuls decks disponibles sont ceux que j’ai créés. Mon principal problème concerne la pioche des cartes. J’avais pensé à créer une carte avec plusieurs animations différentes (une par carte) et à changer l’animation en fonction de l’ID. Cependant, les effets, les attaques, etc., qui sont uniques à chaque carte, ne changeraient pas.

Si vous connaissez des exemples ou des ressources qui pourraient m’aider à résoudre ce problème, je serais très reconnaissant si vous pouviez m’indiquer où les trouver. Je cherche des solutions pour que chaque carte soit créée avec ses caractéristiques spécifiques (effets, attaque, etc.) en fonction de son ID.

Merci encore pour votre aide !

si quelqu’un pourrait me dire ou trouver les exemple Pairs et les autre que kubuntu64 as mis car je ne les trouve pas merci d’avance

merci et je l’ai ais bien trouver j’essaye même d’utiliser Extension ObjectStack si vous avez des proposition pour que je puisse crée un deck aléatoire grâce aux Id de mes cartes grâce a cette Extension je veux bien car j’essaye encore de comprendre comment il fonctionnent

Est-ce que tu as compris la partie Création des cartes dans l’exemple du Solitaire ?

oui en gros il crée plein de fois le même sprite mais change l’animation pour que le visuel change, J’y avais pensée aussi quand j’ai vus ceci mais le soucis c’est que comme je l’ai dit je veux faire un style de jeux qui se rapproche du style de legend of runeterra; heartstone et autre donc chaque carte on des effet des PV qui différent et je ne peux pas changer les variables sauf si je fait ddes changement via le code mais il faut pas oublier que la pour la “beta test” il y auras environ 120 cartes donc imaginer c’est pour ceci que j’avais crée plein de sprite (1 par carte différent), sauf si je n’ai pas bien compris et qu’il y a bien un moyen si c’est le cas merci de bien vouloir m’aider car je suis en réalité asser débutant sur GDevelop .

Il y a l’action Mélanger ( Shuffle) ou sinon la sélection d’objets au hasard dans ton cas dans un groupe d’objets. Oui pour tes cartes le plus simple je pense, c’est de faire comme tu as fait, pour chaque carte des variables objet pour les spé de chacune d’elles.


merci pour cette réponse mais j’ai une question normalement quand je mets en action de choisir une instance aléatoire dans le groupe d’objet et après je met de crée un objet de ce même groupe d’objet aléatoire ça doit normalement crée cette objet car ce n’est pas le cas il crée le premier objet du groupe d’objet. Si je n’ais pas bien compris je veux bien une petite explication de comment ça marche

Autant pour moi, j’avais pas fait gaffe qu’il n’est pas capable de faire ça avec des objets différents, il le fait que sur les instances.
Dans ces cas là utilise l’extension pour stack, je connais pas les jeux que tu donnes en exemple mais si ça ressemble à la pioche du solitaire tu comprendras l’exemple en t’y collant à fond.
https://wiki.gdevelop.io/gdevelop5/tutorials/randomness/#pick-a-random-number
https://wiki.gdevelop.io/gdevelop5/extensions/object-stack/

merci pour cette aide maintenant ça fonctionnent a la perfection mais j’ai un autre problème qui est le multijoueur, pour donner plus d’info ce jeux je veux qu’il soit multijoueur avec un maximum de 2 joueur par lobby jusque la ç’est bon le soucis c’est au niveaux de la caméras car les joueur doivent être de chaque coté de la table pour qu’il voit leur carte et pas ce de l’adversaire malheureusement je ne sais pas comment faire ceci j’ai essayer avec des calques ça marchais pas a moin que je ne sais pas comment faire j’ai aussi essayer de dire qu’en faite les deux joueur ont la même caméras mais des main différentes et je fait croire que le terrains adverse et de l’autre coté car si vous ne connaissais pas se style de jeux en réalité vus qu’on est juste d’un coté de l’autre de la table c’est comme si on avait la même vue vus car le décors est identique mais pas le terrain n’y la même main et deck, pour le premier il y a pas de problème ça s’affiche correctement mais pour le second ça fait n’importe quoi. Si vous voler plus de détaille demander moi

Ok, mets des screens pour voir. C’est de la 3D ?

merci pour vouloir m’aider mais j’ai réussi a régler ce problème récemment, je ne sais juste pas comment mettre résolus sur le blog

Donne la solution pour aider d’autres personnes éventuellement et modifie le titre en rajoutant [RESOLU] avant. Merci

la solution c’est juste que je n’avais pas compris mais en gros ont peux modifier la cam de chaque joueur sans que l’autre ne le voit en gros si dans la condition on mets si le joueur est l’hote ou non modifie la caméra du calque de base ou un autre calque qui est crée en mettant l’endroit ou on veut que la caméra se trouve. merci encore pour votre aide