Se connecter / S'enregistrer
Votre question

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

Tags :
  • Programme
  • Programmation
Dernière réponse : dans Programmation
10 Avril 2007 12:47:12

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.

Autres pages sur : cin secondes

a b L Programmation
10 Avril 2007 13:36:01

1. oublie les cin et les cout. Là tu fais un vrai programme
2. quelles API et bibliothèques utilises-tu ?
10 Avril 2007 13:46:18

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...)
Contenus similaires
10 Avril 2007 20:07:09

Citation :
API, c'est quoi ça?

http://fr.wikipedia.org/wiki/Interface_de_programmation
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...
11 Avril 2007 10:19:12

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
a b L Programmation
11 Avril 2007 19:21:54

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

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...
11 Avril 2007 20:13:54

[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 ;) 
17 Avril 2007 19:35:58

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
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS