eheh perfetto!
guardandolo un attimo e facendo qualche prova ho notato che effettivamente è possibile!
ho buttato giù queste quattro righe e danno il risultato sperato!
grazie mille ora non mi resta che adattarlo ai miei giochini xD
comunque, si, lavoro in console
codice:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int main()
{
char tasto=0;
int j=1, i;
for (i=0; i<500; i++)
{
j=1;
while (!kbhit())
{
sleep(200);
j=0;
if (j==0)
break;
}
if (kbhit())
tasto=getch();
if (tasto=='a')
printf("Sinistra\n");
else if (tasto=='d')
printf("Destra\n");
else if (tasto=='s')
printf("Giu'\n");
else if (tasto=='w')
printf("Su\n");
else if ((tasto!='a')&&(tasto!='d')&&(tasto!='s')&&(tasto!='w')&&(tasto!=0))
printf("Nessun comando valido!\n");
else
printf("Nessun comando!\n");
}
system("pause");
return 0;
}
però adesso mi stava prendendo il multithreading, e se possibile vorrei capire dove sta l'errore in questo codice, perchè non riesco a farlo funzionare correttamente
codice:
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <conio.h>
void thread1(int *);
void thread2(int *);
int main()
{
int scelta, x=0;
do {
x=0;
_beginthread(thread1, &x);
_beginthread(thread2, &x);
} while (x==0);
system("pause");
return 0;
}
void thread1(int *x)
{
char pos;
pos=getch();
if (pos=='a')
printf("<--\n");
else if (pos=='d')
printf("-->\n");
(*x)=1;
}
void thread2(int *x)
{
sleep(5000);
printf("Tempo!\n");
(*x)=1;
}
non capisco perchè il thread non si ferma una volta che assegno x=1..
e grazie di nuovo!!