il faut que j'utilise les fleche du clavier pour faire ce déplacé un pion dans mon tableau, malheureusement apres de nombreuse tentative je n'y arrive pas cependant je sais que met touche tu clavier fonction car pour testé le code un ami ma passer un code permettant d'afficher un message selon la fleche appuyé. mon probleme sais que j'arrive pas a l'adapté au code qui me permet de déplacer mon pion. pouvez vous m'aidez s'il vous plait
voici le code qui fais bouger mon pion et que je dois modifier :
void movePions(int table[nbLC][nbLC], struct PosPion posPion[], char numPion)
{
int choix;
printf("Dans quelle direction voulez vous deplacer votre pion?\n");
printf("1. Gauche\n2. Droite\n3. Haut\n4. Bas\n");
scanf("%d",&choix);
table[posPion[numPion-1].y][posPion[numPion-1].x]=0; // permet de placer un zéro a l'ancien emplacement du pion
if(choix==1) posPion[numPion-1].x--;// déplace le pion a gauche
if(choix==2) posPion[numPion-1].x++;// déplace le pion a droite
if(choix==3) posPion[numPion-1].y--;// déplace le pion en Haut
if(choix==4) posPion[numPion-1].y++;// déplace le pion en Bas
table[posPion[numPion-1].y][posPion[numPion-1].x]=numPion; // permet de placer le pion a c'est nouvelle coordonnées
}
et voila le code qu'on ma fourni :
#include <stdio.h>
#include <conio.h>
#define ESCAPE 27
#define EXTENDED_KEY_1 0
#define EXTENDED_KEY_2 224
#define ARROW_UP 72
#define ARROW_DOWN 80
#define ARROW_LEFT 75
#define ARROW_RIGHT 77
int main(void)
{
int c;
while((c = _getch()) != ESCAPE)
{
if(c == EXTENDED_KEY_1 || c == EXTENDED_KEY_2)
{
switch(_getch())
{
case ARROW_UP:
puts("UP");
break;
case ARROW_DOWN:
puts("DOWN");
break;
case ARROW_LEFT:
puts("LEFT");
break;
case ARROW_RIGHT:
puts("RIGHT");
break;
}
}
}
return 0;
}
merci d'avance
bien cordialement,
Victor
- Edité par VictorHuguet 15 novembre 2019 à 3:42:22
Quand tu appuis sur une touche fléchée ça affiche un message, et bien au lieu d'afficher le message, tu fais ce que tu souhaites faire (déplacer ton pion), c'est pas plus compliqué que cela !
Quand tu appuis sur une touche fléchée ça affiche un message, et bien au lieu d'afficher le message, tu fais ce que tu souhaites faire (déplacer ton pion), c'est pas plus compliqué que cela !
Bonjour, rouloude j'ai jamais dit que c'était compliqué mdr c'est juste que quand je les fait bon ça "buguais", genre soit ça déplaçais pas le pions soit ça fait une boucle infini chelou soit y'avais un y'avais un truc qui ce passais mais le pion bougeais pas quand meme xD.
woaw merci magma je vais testé ça, sinon j'adore ta photo de profile mdr.
j'en demande peut etre trop mais je ne sais pas vraiment si c'est possible : en gros ici on reinitialise le tableau en affichant le pion a ses nouvelle coordonné mais est il possible de faire en sorte que le pion ce deplace sans réinitialisé le tableau ?
- Edité par VictorHuguet 16 novembre 2019 à 14:45:22
j'en demande peut etre trop mais je ne sais pas vraiment si c'est possible : en gros ici on reinitialise le tableau en affichant le pion a ses nouvelle coordonné mais est il possible de faire en sorte que le pion ce deplace sans réinitialisé le tableau ?
Je pense que t'exprimes mal. Le tableau n'est pas réinitialisé à chaque fois, mais redessiné, ce qui fait que quand tu bouges le pion, un nouveau tableau est affiché à l'écran sous le précédent. Et toi tu souhaiterais que la case où le pion était affiché devienne "vide" et que la case de destination devienne "pleine".
Pour répondre à ta question, oui c'est faisable, voir du côté des fonctions console de l'api windows (à moins que quelqu'un ait une solution plus simple ?)
- Edité par edgarjacobs 16 novembre 2019 à 16:19:08
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent
j'en demande peut etre trop mais je ne sais pas vraiment si c'est possible : en gros ici on reinitialise le tableau en affichant le pion a ses nouvelle coordonné mais est il possible de faire en sorte que le pion ce deplace sans réinitialisé le tableau ?
Je pense que t'exprimes mal. Le tableau n'est pas réinitialisé à chaque fois, mais redessiné, ce qui fait que quand tu bouges le pion, un nouveau tableau est affiché à l'écran sous le précédent. Et toi tu souhaiterais que la case où le pion était affiché devienne "vide" et que la case de destination devienne "pleine".
Pour répondre à ta question, oui c'est faisable, voir du côté des fonctions console de l'api windows (à moins que quelqu'un ait une solution plus simple ?)
- Edité par edgarjacobs il y a environ 20 heures
merci pour l'info au fait ya moyen de faire choisir la premier position du pion ? car avec ma méthode ça fonctionne pas
VictorHuguet : dans ta version du week-end dernier, celle où j'avais montré comment localiser un problème, le programme demandait à l'utilisateur une position de départ et ça marchait (ce qui posait problème, c'est le déplacement de ce pion). Quand tu dis « ça ne fonctionne pas », tu parles de quoi : de la saisie de la position de départ ou d'autre chose (le faire avec les touches fléchées plutôt que par saisie de l'utilisateur ?).
VictorHuguet : dans ta version du week-end dernier, celle où j'avais montré comment localiser un problème, le programme demandait à l'utilisateur une position de départ et ça marchait (ce qui posait problème, c'est le déplacement de ce pion). Quand tu dis « ça ne fonctionne pas », tu parles de quoi : de la saisie de la position de départ ou d'autre chose (le faire avec les touches fléchées plutôt que par saisie de l'utilisateur ?).
- Edité par robun 17 novembre 2019 à 17:10:03
ce que je veux dire c'est que le code sans utilisé les fleche de la semaine derniere fonctionne et ya pas de probleme avec le positionnement du pion parcontre que je veux l'adapté pour utilisé les fleche il fait une erreur mais pour l'instant j'ai mis en pause ce programme je doit faire un code de cryptage décryptage avec du chiffrement de césar du XOR avec une demande de mot de passe avant de pouvoir décrypté ainsi que une fonction pour décrypté un fichier qu'un college me donne
probleme avec les fleche directionnel du clavier
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent