problema programando un clon del Pong en C

Pues vereis, despues de empezar a aprender C hace un mes mas o menos, como buen aficionado a los videojuegos se me ocurrio currarme un pong para ms-dos, ya tengo todo hecho y funcionando como yo queria(mas o menos), lo ultimo que le implemente fueron los controles y aqui viene el problema

if (kbhit())
                {
                mov1=getch();                             
                if (mov1=='q'&&pos1>2)pos1=pos1-1;     
                else if (mov1=='a'&&pos1<22)pos1=pos1+1;   
                }
if(kbhit())
                {
                mov2=getch();
                if (mov2=='o'&&(pos2>2))pos2=pos2-1;
                else if (mov2=='l'&&pos2<22)pos2=pos2+1;
                }


con este codigo funciona perfectamente el control del jugador 1 pero el jugador nanai, alguien sabe que puede pasar??

Creo que el codigo es bastante simple pero si hay algo que no queda claro dicidmelo y lo explico.
xamuel escribió:Pues vereis, despues de empezar a aprender C hace un mes mas o menos, como buen aficionado a los videojuegos se me ocurrio currarme un pong para ms-dos, ya tengo todo hecho y funcionando como yo queria(mas o menos), lo ultimo que le implemente fueron los controles y aqui viene el problema

if (kbhit())
                {
                mov1=getch();                             
                if (mov1=='q'&&pos1>2)pos1=pos1-1;     
                else if (mov1=='a'&&pos1<22)pos1=pos1+1;   
                }
if(kbhit())
                {
                mov2=getch();
                if (mov2=='o'&&(pos2>2))pos2=pos2-1;
                else if (mov2=='l'&&pos2<22)pos2=pos2+1;
                }


con este codigo funciona perfectamente el control del jugador 1 pero el jugador nanai, alguien sabe que puede pasar??

Creo que el codigo es bastante simple pero si hay algo que no queda claro dicidmelo y lo explico.


bueno me parece simple, el segundo kbhit() devuelve false al ser cierto el primer kbhit que se chupa el "evento" de q se ha pulsado algo.

Prueba asi, mas simple, mas optimo y casi seguro q te ira bien.


if (kbhit())
            {  mov=getch();                             

                if (mov=='q'&&pos1>2)pos1=pos1-1;     
                else if (mov=='a'&&pos1<22)pos1=pos1+1;   

                if (mov=='o'&&(pos2>2))pos2=pos2-1;
                else if (mov=='l'&&pos2<22)pos2=pos2+1;

             }



No me he mirado si tus ifs son correctos, pero si dices q para el player1 iba bien, asumo q si XD
gracias tio, haber si termino de currar y lo miro detenidamente.
Yo cuando aprendi a usar las SDL tambien hice un clon para el Pong, un juego sencillo para empezar xDD

Luego lo porte a la PS2 XD
3 respuestas