Position sur l'echiquier

Résolu/Fermé
annamir Messages postés 15 Date d'inscription lundi 9 février 2009 Statut Membre Dernière intervention 13 avril 2009 - 9 févr. 2009 à 20:01
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 12 févr. 2009 à 20:54
Bonjour,
je suis debutant en programmation, je suis tombe sur un exercice sur le net et j'arrive pas a le faire, j'aurais besoin de votre aide. Il s'agit d'un un programme C qui lit un triplet de caractères (p, c, r) représentant une pièce p du jeu d'échec à une position (c, r) déterminée sur l'échiquier. Les différentes valeurs que peut prendre p sont: R (roi blanc), r (roi noir), D (dame blanche), d (dame noire), F (fou blanc), f (fou noir), C (cavalier blanc), c (cavalier noir), T (tour blanche), t (tour noire), P (pion blanc) et p (pion noir). La coordonnée c (c pour colonne) de la position peut prendre une des valeurs suivantes: a (colonne 1), b (colonne 2), c (colonne 3), …, h (colonne 8). La coordonnée r (r pour rangée) de la position peut prendre une des valeurs suivantes: 1 (rangée 1), 2 (rangée 2), 3 (rangée 3), …, 8 (rangée 8).
merci.
A voir également:

9 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 842
9 févr. 2009 à 20:56
Salut,
Oui, mais le programme doit faire quoi ?
Sinon, tu peux commencer par faire une structure définissant le triplet.
Mais excepté ton triplet, je n'ai pas compris le but du programme.
0
annamir Messages postés 15 Date d'inscription lundi 9 février 2009 Statut Membre Dernière intervention 13 avril 2009 2
9 févr. 2009 à 21:23
le but du programme est d'indiquer la position d'un objet sur l'echiquier.
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 842
9 févr. 2009 à 21:42
Oui, mais tu dis dans ton premier post, que le programme lit les triplets à partir d'un échiquier ?
Comme l'échiquier est passé ? Quelle est sa représentation ?
0
annamir Messages postés 15 Date d'inscription lundi 9 février 2009 Statut Membre Dernière intervention 13 avril 2009 2
12 févr. 2009 à 06:10
Voici quelques sorties possibles du programme:

Le roi blanc est sur la case de la colonne 5 et de la rangee 1.
La tour noire est sur la case de la colonne 1 et de la rangee 8.
Le code X est une piece inconnue.
La dame noire est sur une case inexistante.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 842
12 févr. 2009 à 06:47
Oui, mais ça ne répond pas à ma question, même si ça aide déjà.
Je repose ma question : comment les positions des pièces sur l'échiquier seront lues ? Initialisées à la main ? L'utilisateur à l'exécution ? Scan d'un échiquier...
0
annamir Messages postés 15 Date d'inscription lundi 9 février 2009 Statut Membre Dernière intervention 13 avril 2009 2
12 févr. 2009 à 17:27
Remarque: Une lettre peut être invalide: comme dans le troisième exemple où la pièce a été spécifiée par la lettre X; ou dans le dernier exemple où la position est invalide (soit que c a été spécifié par une lettre autre que a à h, soit que r a été spécifié par un chiffre autre que 1 à 8).

Remarque: Lors de la lecture du triplet, en supposant que vous avez nommez vos variables piece, col, et rang, utilisez l'appel suivant à la fonction scanf: scanf(" %c%c%c", &piece, &col, &rang); Petit rappel: un espace devant la spécification de conversion %c demande à la fonction scanf d'ignorer
tous les «espaces» (espace, tabulation, «enter», etc.).

Remarque: Pour calculer le numéro de colonne (ou le numéro de ligne), il suffit de se rappeler qu'il est tout à fait correct, avec le langage C, de soustraire 2 caractères afin d'obtenir un entier. Par exemple: 'b' – 'a' + 1 donne l'entier 2.

Remarque: Votre programme doit calculer tant que l'utilisateur désire entrer de nouveaux triplets de caractère.

Votre programme doit obligatoirement utiliser l'instruction sélective switch pour tester quelle pièce du jeu a été spécifiée.
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 842
12 févr. 2009 à 17:44
Salut,
Ok, maintenant je comprends mieux.
Commence par poser tes questions d'implémentations, ou si t'as déjà commencé ton code poste-le que je puisse t'aider.
Cdlt
0
annamir Messages postés 15 Date d'inscription lundi 9 février 2009 Statut Membre Dernière intervention 13 avril 2009 2
12 févr. 2009 à 20:50
je pense qu'il faut utiliser un tableau, mais je ne suis pas encore arrivé là dans mes lectures, y a t il un autre moyen sans avoir recours au tableau? parce que moi j'arrive pas a le faire avec mes connaissances sur les fonctions.
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 842
12 févr. 2009 à 20:54
Tu fais un tableau 8x8 de char;
La première dimension représentera la colonne et la seconde la rangée. L'élément contiendra le nom de la figure (r, R, ou autre).
Cdlt
0