Oppure

Loading
21/12/10 22:07
Giuliano94
Salve a tutti sto creando un programmino inutile e senza scopo se non quello di migliorare le mio conoscenze.
Praticamente il programma stampa una sfera che "cammina" verso destra o verso sinistra e l'utente deve premere 'a' per farla andare verso sinistra, e premere 'l' per farla andare verso destra in modo da non farle toccare i bordi.
io ho pensato di usare un getch, ma quando avvio il programma si muove solo la sfera.
Potreste gentilmente farmi vedere dove sbaglio?
Grazie in anticipo.
Ecco il codice:
#include <cstdlib>
#include <iostream>
#include <conio.h>
#include <windows.h>

using namespace std;

int main(int argc, char *argv[])
{
    int pos=10,i=0;                                                                    
    bool destra;                                                                       
    char comando;                                                                         
    
while((pos<19)||(pos>0))
///Sfera
{for(i=0;i<pos;i=i+1)
cout<<" ";
cout<<"O \r";
///Comando
kbhit();
if(kbhit()==true)
comando=getch();
///input comandi DX e SX
if(comando=='a')
destra=false;
if(comando=='l')
destra==true;
if(destra==true)
pos=pos+1;
if(destra==false)
pos=pos-1;
Sleep(100);
}
     system("PAUSE");
    return EXIT_SUCCESS;
}



Ultima modifica effettuata da Giuliano94 21/12/10 22:10
aaa
22/12/10 8:07
HeDo

consiglio di rileggere le reference di kbhit e getch:

msdn.microsoft.com/en-us/library/…(v=VS.90).aspx
msdn.microsoft.com/en-us/library/…(v=VS.90).aspx
aaa
22/12/10 8:42
carmine
Secondo me ti conviene studiarti la funzione gotoxy!! che per queste cose è molto comoda che restituisce le coordinate dello schermo! senza usare quelle var booleane!!
aaa
22/12/10 14:26
lorenzo
peccato che esista solo nei compilatori borland.....
aaa
22/12/10 14:38
Giuliano94
@carmine il mio prof vuole che io usi il kbhit e il gatch ora vedrò come fare =)
aaa
22/12/10 14:49
Giuliano94
Ragazzi ci sono riuscito!!grazie per la disponibilità.
aaa
23/12/10 8:58
carmine
io conosco una procedua grz alle api win che permette di usare la gotoxy anke inltri compilatori:
#include <windows.h>
void gotoxy(int x,int y);

....


void gotoxy(int x,int y)
{
    COORD coor;
    HANDLE hOutput;
    hOutput = GetStdHandle(STD_OUTPUT_HANDLE);
    coor.X = x;
    coor.Y = y;
    SetConsoleCursorPosition(hOutput,coor);
}


questa io la uso in dev c++

cmq io intendevo gotoxy insieme al kbhit() e alla getch()
Ultima modifica effettuata da carmine 23/12/10 8:59
aaa