Bouger le curseur en mode texte, plus de probleme grace a djl, merci !!!

Contenu du snippet

Simple déplacement de texte dans la fenetre de commande MS-DOS par exemple.

Source / Exemple :


#include <iostream.h>
#include <conio.h>

struct coordonnees
{
int x;
int y;
};

unsigned int touche=80;

coordonnees bouger(unsigned int, coordonnees);
void afficher(coordonnees);

int main(void)
{
coordonnees objet={20,24};

while (touche!=13)
{
objet=bouger(touche,objet);
afficher(objet);
touche=getch();
}

return 0;
}

coordonnees bouger(unsigned int t, coordonnees o)
{
switch(t)
	{
   case 77 : if(o.x<80) o.x++; else o.x=1; break;
   case 75 : if(o.x>1) o.x--; else o.x=80; break;
   case 72 : if(o.y>1) o.y--; else o.y=25; break;
   case 80 : if(o.y<25) o.y++; else o.y=1; break;
   default : break;
   }

return o;
}

void afficher(coordonnees o)
{
if (touche==77) {if (o.x>1) {gotoxy(o.x-1,o.y); cout<<" ";} else {gotoxy(80,o.y); cout<<" ";} gotoxy(o.x,o.y); cout<<"X";}
else if (touche==75) {if (o.x<80) {gotoxy(o.x+1,o.y); cout<<" ";} else {gotoxy(1,o.y); cout<<" ";} gotoxy(o.x,o.y); cout<<"X";}
else if (touche==72) {if (o.y<25) {gotoxy(o.x,o.y+1); cout<<" ";} else {gotoxy(o.x,1); cout<<" ";} gotoxy(o.x,o.y); cout<<"X";}
else if (touche==80) {if (o.y>1) {gotoxy(o.x,o.y-1); cout<<" ";} else {gotoxy(o.x,25); cout<<" ";} gotoxy(o.x,o.y); cout<<"X";}
}

Conclusion :


Compilé sous borland C++ 5.02

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.