|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
Sujet : Petit jeu en mode texte [:D] [ Archives / Au secours ] (thedivxboy)
Informations & options pour cette discussion
mardi 16 novembre 2004 à 23:53:52 |
Petit jeu en mode texte [:D]

thedivxboy
|
Alors je carbure en C aujourd'hui  ... Pourquoi la tête ne se déplace-t-elle pas au bon endroit ? Pourquoi dois-je mettre un getchar() à un certain endroit (dans le default du switch) pour faire fonctionner le scanf ? #include <stdio.h> #include <conio.h>
void main() { char x=40,y=12,key,quit;
do { printf("Appuyez sur les touches du pavé directionnel pour diriger la tête,\net sur la touche 5 pour la recentrer à l'écran ...");
gotoxy(x,y); printf("~[°¤°]~");
gotoxy(52,2); scanf("%d",&key); clrscr();
switch(key) { case 1 : x-=5; y+=3; break; case 2 : y+=3; break; case 3 : x+=5; y+=3; break; case 4 : x-=5; break; case 5 : x=40; y=12; break; case 6 : x+=5; break; case 7 : x-=5; y-=3; break; case 8 : y-=3; break; case 9 : x+=5; y-=3; break; default : printf("Mauvaise touche ! Recommencer [O/N] ? "); getchar(); scanf("%c",&quit); if (quit=='O' || quit=='o') { key=1; x=40; y=12; clrscr(); } else key=0; } } while(key==1 || key==2 || key==3 || key==4 || key==5 || key==6 || key==7 || key==8 || key==9);
printf("\nPROGRAMME TERMINE !"); }
|
|
|
mercredi 17 novembre 2004 à 00:47:28 |
Re : Petit jeu en mode texte [:D]

6co
|
encore toi thedivxboy...
je me suis permis quelques modifs sur ton prog :
#include <stdio.h> #include <conio.c>
int main() { char x=40,y=12,key,quit;
do { printf("Appuyez sur les touches du pavé directionnel pour diriger la tête,\net sur la touche 5 pour la recentrer à l'écran ...");
gotoxy(x,y); printf("~[°¤°]~");
gotoxy(52,2); key=getch();
clrscr();
switch(key) { case '1' : x-=5; y+=3; break; case '2' : y+=3; break; case '3' : x+=5; y+=3; break; case '4' : x-=5; break; case '5' : x=40; y=12; break; case '6' : x+=5; break; case '7' : x-=5; y-=3; break; case '8' : y-=3; break; case '9' : x+=5; y-=3; break; default : printf("Mauvaise touche ! Recommencer [O/N] ? "); getchar(); scanf("%c",&quit); if (quit=='O' || quit=='o') { key=1; x=40; y=12; clrscr(); } else key=0; } } while(key=='1' || key=='2' || key=='3' || key=='4' || key=='5' || key=='6' || key=='7' || key=='8' || key=='9');
printf("\nPROGRAMME TERMINE !"); }
bonne continuation dans ton trip C 6co
|
|
|
mercredi 17 novembre 2004 à 14:48:44 |
Re : Petit jeu en mode texte [:D]

thedivxboy
|
Merci, ça fonctionne ...
Mais comme mon but est de progresser en C, je vais te demander quelques explications.
1) Pourquoi mon code n'allait pas ? 2) Peux-tu m'expliquer l'utilisation de getch() et de getchar() du mieux que tu peux ? 3) Différence entre void main() et int main() ? 4) Pourquoi doit-on mettre les chiffres entre ' ' lorsqu'on utilise getch() ?
|
|
|
mercredi 17 novembre 2004 à 15:19:59 |
Re : Petit jeu en mode texte [:D]

djl
|
1) parce que tu n'est pas au point avec la notion de typage en c, '0' reprensente un caractere et 0 est l'entier 0
2) getch lit le clavier (pratique pour ce que tu veux faire mais pas portable), getchar est une fonction de la bibliotheque standard et lit un caractere sur stdin (le flux habituelement associé au clavier)
3) void main indique que le programme ne renvoi rien au systeme en fin d'execution et int main un entier, c'est à vérifier mais il me semble que le void main est transoformé en int main par le compilo, quoiqu'il en soit seul int main est correcte en c
4) arrete de parler de getch et lit un cours de c (livre, de preference k&r, ou autre), c'est la seul solution
|
|
|
Cette discussion est classé dans : case, printf, break, key, quit
Répondre à ce message
Sujets en rapport avec ce message
interruption avec dev-cpp dans instruction asm() [ par mrtoufou ]
J'ai un probleme avec dev-cpp. J'ai besoin de trouver la resolution avant d'acceder a la memoire video et je comptais pour cela utiliser la fonction v
CASE [ par CHKDSK2K ]
Bonjour, j'ai une variable de type char "choix"; je voudrais utiliser cette variable dans un switch mais il ne veut passwitch(choix){ case 'maison
CreateService [ par 0xYg3n3 ]
Bonjour, Voila j'ai cree une application que je souhaits mettre en mode Service. Mais le probleme est que lorsque je vais dans le panneau de configura
ptit probleme [ par aladdin_wydadi ]
voila le code source ke j'ai trouvé : #include#include //--------------------------------------------------------------------// Conversion d'un nombre
terminer un processus [ par kyript ]
bonjour a tous voila mon probleme quand je ferme mon programme, le processus ne se termine pas voila le code case SC_CLOSE : // cas d'un click sur
prob math [ par chinois57 ]
g un prob pour faire les fonction cosinus, sinus,tangante, ansmerci de maider ma source est: #include #include #include main(){float x,y;char z; print
cosinus,sinus,tangante,ans [ par chinois57 ]
quelqu'un peut maider a rajouter (cos, sin, tan, ans) svp ma source est:#include #include #include main(){float x,y;char z; printf("veuillez saisir un
Lister Chaque lancer de dé aléatoire [ par pkmnlio ]
bonjour,je suis entrain de faire un programme qui donne 100 nombres aléatoirement entre 1 et 6 puis me dis combien de 6 j'ai obtenu et combien de nom
client irc [ par tagboys ]
bon j'ai trouver une source sur ce site ces un socket bot j'aimerait y rajouter quelque commands .la seul chose qu'il a ces le pong reply .j'aimerait
Problème avec un switch en C [ par alexis69 ]
Alors voilà. J'ai coder un petit code avec un menu. À la fin de mon switch j'ai ajouté l'option default comme ça si une personne tape autre chose que
Livres en rapport
|
Téléchargements
Logiciels à télécharger sur le même thème :
Comparez les prix Nouvelle version
|