begin process at 2012 02 12 14:11:46
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Petit jeu en mode texte [:D]


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Petit jeu en mode texte [:D]

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ée 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


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,432 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales