Tom's Guide > Forum > Programmation > [C++] 'cin' pendant 't' secondes

[C++] 'cin' pendant 't' secondes

Forum Programmation : [C++] 'cin' pendant 't' secondes

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

Voilà mon problème :

Je dois réaliser un TETRIS pour un projet et je suis bloqué car je ne sais pas comment offrir au joueur la possibilité de presser un touche tout en laissant le jeu suivre son cours...

Je ne connais que "cin" pour demander une entrée, mais "cin" met le programme en pause...

Dans mon programme je mets une boucle "for" avec une pause dedans, et je voudrais que le joueur puisse presser une touche lors de chaque boucle...

Je suis sur qu'il doit exister une commande bien spécifique pour ça mais bon, je ne connais vraiment pas encore grand chose au C++

Merci d'avance pour l'aide.

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

1. oublie les cin et les cout. Là tu fais un vrai programme
2. quelles API et bibliothèques utilises-tu ?

------------------------------ 6800A007B81300CD10B00131C989CF26880541
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky

Les oublier? Pourquoi? Mon programme en est rempli...
API, c'est quoi ça? DevC++ (4.9.9.2), ça répond à la question?
Les biblio : windows.h (pour la fonction sleep() ) et iostream (car on nous a dit de toujours le mettre...)

Répondre à CrazyWizard

Citation :

API, c'est quoi ça?


http://fr.wikipedia.org/wiki/Inter [...] grammation
Ca te permet d'utiliser les fonctions de bibliothèques déja créées (graphismes, sons, ... et gestion des entrées/sorties!)


De toute façon, tu vas être obligé d'en utiliser une. Tu ne peux pas faire un programme (jeu) serieux en mode console! Ou alors un de ces jeux d'aventure en mode texte old-style...

Je te conseillerais d'utiliser SDL:
http://fr.wikipedia.org/wiki/Simple_DirectMedia_Layer


Au pire, si tu es sous windows, que tu n'en as rien à faire de la portabilité de ton programme, que tu te fous de la convivialité du jeu, tu peux peut être regarder de ce coté:
http://en.wikipedia.org/wiki/Conio.h
int kbhit(void);
int getch(void);
Un truc du genre:
if(kbhit())
{
c=getch()
//Après, tu te démerdes avec le caractère,
//pis t'obliges l'utilisateur à jouer avec qsdz,
//en esperant qu'il ait un clavier azerty...)
}

EDIT: DevC++ c'est un IDE (Integrated Development Environment), c'est à dire une interface+un compilateur+quelques fonctionnalités "qui vont bien".

Citation :

Les oublier? Pourquoi? Mon programme en est rempli...


C'est pas fait pour les jeux...


Message édité par Rakipu le 10-04-2007 à 20:13:32
Répondre à Rakipu

Merci beaucoup de toutes ces réponses, elles me seront bien utiles.

Sinon, juste pour apporter des précisions, en effet nous devons tout créer en console et les pièces devront être faites de caractères... les touches employées nous sont aussi imposées...

Encore merci pour les explications les liens et tout ça.

EDIT : je viens de testé, c'est nikel!

/////////////////////////////// (sec : int , press : bool , presss : char)
for(sec=0;sec<500;sec+=1)
{
press=kbhit();
if(press==true)
{
presss=getch();
putch(presss);
}
Sleep(1);
}
///////////////////////////////

Avec ça, il fait exactement ce que je veux, le joueur peut à tout moment presser un touche, mais quoiqu'il décide, le programme continue de fonctionner normalement et sans arrêt.

Un grand merci


Message édité par CrazyWizard le 11-04-2007 à 10:56:31
Répondre à CrazyWizard

Franchement, à ta place, je ferais un truc graphique avec des dessins pas beaux, c'est probablement plus simple et plus agréable à utiliser ;)

------------------------------ 6800A007B81300CD10B00131C989CF26880541
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky

Quel immonde anti-pédagogue obligerait ses élèves à faire un truc hideux, non portable, et en mode console en plus?
Y'a des coups de pied qui se perdent...

Répondre à Rakipu

[avis_perso]
le but de l'exercice à mon avis n'est pas d'apprendre tel ou tel API, mais à se familiariser avec la programmation, à mon avis, c'est plus l'idée et l'algorithme qui va être noté (si note il ya)
[/avis_perso]
maintenant c'est clair qu'avec des images, c'est meilleur ;)

Répondre à coca25

En effet, ce projet a pour but de nous tester en ce qui concerne les conditions, les boucles, les fonctions, la syntaxes. Je crois que c'est tout...

Merci pour les réponses

Répondre à CrazyWizard
Tom's Guide > Forum > Programmation > [C++] 'cin' pendant 't' secondes
Aller à :

Il y a 2074 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens