Variable dans un nom - C - Programmation
Marsh Posté le 30-05-2010 à 11:56:20
L'informatique demande du courage.
Pour mon jeu de belote, j'ai commencé par faire une liste de libellés dont j'aurais besoin :
char *cards_color_name[4] = {"trefle", "carreau", "coeur", "pique"}; |
J'ai défini des noms pour référencer mes libellés de manière lisible dans mon programme :
#define CLUBS 0 |
J'utilise ces références
int cards_color[4] = {CLUBS, DIAMONDS, SPADES, HEARTS}; |
Marsh Posté le 30-05-2010 à 12:06:41
thevinou a écrit : Bonjour ! Voila mon probleme, j'ai un jeu de carte a initialiser (52 carte) Mais un nouveau probleme se pose, comment ajouter une variable a un nom ? Je m'explique, les cartes seront du type : 1_x // avec 1 qui definit la couleur de la carte ( Coeur, Pique, ... (donc ne change pas) ) et x qui definit la valeur ( AS, DEUX, ... ( x prendra des valeurs de 1 à 13)) Exemple: Valet de COEUR = 1_11 J'utilise ceci pour aller piocher dans mon repertoire image, l'image associée au nom . Merci d'avance ! |
Salut
Pourquoi utiliser le nom? Moi je ferais une structure qui contient une valeur et une couleur. Ensuite un tableau de 52 éléments. Enfin je dis tableau mais la structure de données dépendra de ce que tu veux faire de tes cartes.
Exemple:
Code :
|
Marsh Posté le 30-05-2010 à 12:10:16
Le probleme, c'est que mes cartes sont deja toutes initialisées, j'ai juste besoin, pour mon interface graphique, de tirer la carte dans le dossier image selon son nom :S
Marsh Posté le 30-05-2010 à 13:20:36
thevinou a écrit : 1_x // avec 1 qui definit la couleur de la carte ( Coeur, Pique, ... (donc ne change pas) ) |
ben si ça change !!! 1 pour coeur, 2 pour pique, ça change bien non ??? En plus à quoi servirait une valeur qui ne change pas ???
thevinou a écrit : et x qui definit la valeur ( AS, DEUX, ... ( x prendra des valeurs de 1 à 13)) |
Ca signifie quoi la phrase "ajouter une variable à un nom"' ??? C'est quoi un nom pour toi ?
thevinou a écrit : Le probleme, c'est que mes cartes sont deja toutes initialisées, j'ai juste besoin, pour mon interface graphique, de tirer la carte dans le dossier image selon son nom :S |
Ben si t'as le nom du fichier tu peux l'ouvrir via fopen !!!
billgatesanonym a écrit :
|
T'es obligé de tout mettre en anglais ? Tu trouves que ça fait plus pro ?
En plus tu associes dans ta tête différents éléments alors qu'ils ne sont pas associés dans le code. Exemple: t'as défini "SEVEN" à 1 parce que le libellé "sept" est le rang n° 1 de ton tableau "cards_height_name". Pis le jour où tu reprends ton code tu décides de changer la valeur du #define...
Or le but d'un define c'est d'être absolument modifiable sans que la compilation ou l'exécution en soit altérée.
billgatesanonym a écrit : L'informatique demande du courage. |
Hé oui. Ca demande aussi d'avoir le courage de commencer par bien concevoir avant de se lancer dans le code. Parce que plus tu réfléchis tôt, plus ton code sera facilement maintenable/modifiable. Les structures sont là pour faire des associations. Autant s'en servir...
Code :
|
Ah évidemment il faut aussi une fonction qui renvoie le nom quand on y passe la valeur. Pas de pb
Code :
|
Et là, je peux définir VALET à 155 si j'en ai envie, ça fonctionnera toujours sauf si j'utilise la valeur 0 que j'ai défini comme valeur sentinelle. Si on veut éviter ce danger, alors faut passer à la fonction "nom" la taille du tableau mais c'est un détail...
Marsh Posté le 30-05-2010 à 19:56:06
thevinou a écrit : Le probleme, c'est que mes cartes sont deja toutes initialisées, j'ai juste besoin, pour mon interface graphique, de tirer la carte dans le dossier image selon son nom :S |
Désolé, mal compris. Je ne comprends pas non plus "ajouter une variable à un nom". Avec quoi fais-tu ton interface graphique?
Marsh Posté le 30-05-2010 à 11:23:41
Bonjour !
Voila mon probleme, j'ai un jeu de carte a initialiser (52 carte)
et n'ayant pas le courage de tout faire à la main, j'ai pensé a une boucle.
Mais un nouveau probleme se pose, comment ajouter une variable a un nom ?
Je m'explique, les cartes seront du type :
1_x // avec 1 qui definit la couleur de la carte ( Coeur, Pique, ... (donc ne change pas) ) et x qui definit la valeur ( AS, DEUX, ... ( x prendra des valeurs de 1 à 13))
Exemple: Valet de COEUR = 1_11
J'utilise ceci pour aller piocher dans mon repertoire image, l'image associée au nom .
Merci d'avance !