Si pones un valor que vaya mas lento el juego puedes ver lo que pasa.
Unos cuantos asteroides se pintan encima de la linea, luego como se borra el asteroide para que se vaya bajando se queda en blanco por que las lineas no las estas refrescando, ademas no hay por que refrescarlas, solo hay que refrescar los elementos que se mueven, todo lo demás será trabajo extra.
La solución esta en arreglar las llamadas a rand que creo que las estas haciendo mal. justo en esta linea: A.push_back(new AST(rand()&75 + 3, rand()&5 + 3));
...Tienes el borde de la pantalla que inicia a partir de la 4ª letra y lo mismo pasa con la parte de arriba, inicia en la 4ª linea. si quieres hacer un rand que te funciones prueba eso: bordeIzquierdo + rand() % bordeDerecho donde el borde derecho inicie dentro de ese "marco", creo que un 4 seria lo suyo. El borde derecho es lo que hace lo mismo pero impide que se salga por el lado derecho. En otras palabras... 4 + rand() % 75 hace que los asteroides inicien en la coordenada 4 y no pasen de la 74.
Ademas falto poner el srand() para que te genere valores aleatorios. te dejo el código como lo arregle y me funciono perfecto.
Quede claro que no mire nada más
http://codepad.org/yNUTWY4K
Unos cuantos asteroides se pintan encima de la linea, luego como se borra el asteroide para que se vaya bajando se queda en blanco por que las lineas no las estas refrescando, ademas no hay por que refrescarlas, solo hay que refrescar los elementos que se mueven, todo lo demás será trabajo extra.
La solución esta en arreglar las llamadas a rand que creo que las estas haciendo mal. justo en esta linea: A.push_back(new AST(rand()&75 + 3, rand()&5 + 3));
...Tienes el borde de la pantalla que inicia a partir de la 4ª letra y lo mismo pasa con la parte de arriba, inicia en la 4ª linea. si quieres hacer un rand que te funciones prueba eso: bordeIzquierdo + rand() % bordeDerecho donde el borde derecho inicie dentro de ese "marco", creo que un 4 seria lo suyo. El borde derecho es lo que hace lo mismo pero impide que se salga por el lado derecho. En otras palabras... 4 + rand() % 75 hace que los asteroides inicien en la coordenada 4 y no pasen de la 74.
Ademas falto poner el srand() para que te genere valores aleatorios. te dejo el código como lo arregle y me funciono perfecto.
Quede claro que no mire nada más
http://codepad.org/yNUTWY4K