BOUGER LE CURSEUR EN MODE TEXTE, PLUS DE PROBLEME GRACE A DJL, MERCI !!!

D1m3x Messages postés 402 Date d'inscription samedi 28 décembre 2002 Statut Membre Dernière intervention 21 juillet 2005 - 12 oct. 2003 à 14:24
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 - 14 oct. 2003 à 22:26
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/17041-bouger-le-curseur-en-mode-texte-plus-de-probleme-grace-a-djl-merci

cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
14 oct. 2003 à 22:26
merci c cool pour le serpent, d'ailleur g vien de mettre une maj qui permet de choisir le type de terrain et meme de l'editer!
pour ton bug avec la fonction info() g pense que si tu rajoute
gotoxy(0,H+2); au debut de la fonction, ca devrait aller
a+
cs_jb60 Messages postés 55 Date d'inscription mardi 16 septembre 2003 Statut Membre Dernière intervention 4 août 2008
14 oct. 2003 à 21:27
Djl, t'es le meilleur !!!!
Ca marche niquel maintenant, je vais changer mon code source en ligne :)
Au fait, j'ai regardé ton code source pour ton jeu de serpent, il est pas mal dis donc... Je vais essayer d'en faire un aussi, la, c'est un petit début pour moi, mais je vais doucement, à mon rythme...
J'ai adoré le truc que tu peux paramètrer tout le jeu, depuis les commandes de jeu, en passant par le niveau et le terrain... Super, encore bravo.
Cependant, sous borland y'a un petit probleme avec ta fonction info je crois, car lorsque je la met en commentaire, ça marche niquel. Sans cette précaution, le temps du jeu est écrit sur le terrain, et c'est un peu genant. Mais rien de grave. Bonne continuation à toi.
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
13 oct. 2003 à 21:15
en fait l'erreur vient du getche() (en fait ca me faisait pas l'erreur car g l'ai compile sous vc++ et g instinctivement remplacer getche() par getch() )
la difference entre getche() et getch() c'est que getche() renvoie l'echo du caracter taper a l'ecran! d'ou les caracters en trop!!!
donc ta juste a remplacer getche() par getch() et ca marchera nikel
cs_jb60 Messages postés 55 Date d'inscription mardi 16 septembre 2003 Statut Membre Dernière intervention 4 août 2008
13 oct. 2003 à 20:43
Voila djl, j'ai ajouté le screen de ma source et modifié celle-ci.
Mon probleme concerne les "H" qui s'ajoutent lorsque je monte, les "K" lorsque je tourne à gauche et les "P" lorsque je descend (je crois que c'est dans cet ordre), je n'ai rien vu d'anormal lorsque je choisi d'aller vers la droite!!!
Merci pour m'avoir éclairé sur le cout.flush();
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
12 oct. 2003 à 21:27
ca sert a vider le tampon de sortie (comme endl)
par contre c bien cout.flush() qu'il faut ecrire

>moi ca me fait pas d'erreur, tu pourrait joindre a ta source un screen de ton erreur pour voir precisement de quoi il s'agit?
cs_jb60 Messages postés 55 Date d'inscription mardi 16 septembre 2003 Statut Membre Dernière intervention 4 août 2008
12 oct. 2003 à 21:19
oui djl, ca fait exactement la meme chose, mais au fait, c'est quoi flush? Et qu'est ce que ça fait exactement?
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
12 oct. 2003 à 17:38
et si tu rajoute cout<<flush; apres cout<<'X'; il t'affiche tj la lettre en trop?
D1m3x Messages postés 402 Date d'inscription samedi 28 décembre 2002 Statut Membre Dernière intervention 21 juillet 2005 1
12 oct. 2003 à 14:27
je ne vois où tu utilise windows.h et puis puisque clrscr n'est pas utilisable sous vc++ utilise: system( "cls" ); de stdlib.h
D1m3x Messages postés 402 Date d'inscription samedi 28 décembre 2002 Statut Membre Dernière intervention 21 juillet 2005 1
12 oct. 2003 à 14:24
il existe déjà une structure qui permet de prendre les coordonnées:

COORD coord{ 0,0 };

gotoxy(); n'est pas accepté par VC++ alors pour les utilisateurs VC++ :

#define STDOUT GetStdHandle(STD_OUTPUT_HANDLE)

void SetXY( int x, int y )
{
COORD CoordCurseur = { x, y };
SetConsoleCursorPosition ( STDOUT, CoordCurseur );
}

bon voilà ce bout de code ne fait que détruire tout ton code puisqu'il ne sert à plus rien maintenant que c'est possible avec ma fonction, mais par contre tu pourrais essayer de mettre la tienne sous VC++ (sans utiliser gotoxy();, et sans utiliser ma fonction..)

continuer sur le bon chemin ;)

__BuG_UnD3rL04D__
Rejoignez-nous