C/Visual C - AUXILIO COMO ACELERO UN OBJETO

 
Vista:

AUXILIO COMO ACELERO UN OBJETO

Publicado por Francisco Javier (2 intervenciones) el 11/09/2000 00:00:00
POR FAVOR AMIGOS ALGUIEN AYUDEME EL DIA DE MAÑANA TENGO UN EXAMEN HE HICE UN APELOTITA BOTANDO Y CAMBIANDO COLORES AL APLICAR UNA TECLA POR FAVOR ALGUIEN DIGAME COMO ACELERAR(OSEA QUE VALLA MAS RAPIDO) ESTA PELOTITA AQUI LES PONGO EL CODIGO

#include <stdio.h>
#include <graphics.h>
#include <conio.h>
#include <stdlib.h>

#define A1 ´r´
#define A2 ´R´
#define A3 ´c´
#define A4 ´C´
#define ESC 27

int main(void)

{
int controlador = DETECT, modo, errorcode;
int x,y,rad=28,px=1, py=1,color=15;
char ci=0;
initgraph(&controlador,&modo,"c:\\borlandc\\bgi ");
errorcode = graphresult();

if (errorcode != grOk)
{
printf("ERROR DE GRAFICOS: %s\n", grapherrormsg(errorcode));
printf("PRESIONA UNA TECLA Y CONTINUA:");
getch();
exit(1);
}

x= getmaxx()/2;
y= getmaxy()/2;
setbkcolor(0);

while(ci!=27)
{


setcolor(color);
circle(x,y,rad);
setfillstyle(1,color);
floodfill(x,y,color);
setcolor(0);
circle(x,y,rad);
setfillstyle(1,0);
floodfill(x,y,0);
x=x+px;
y=y+py;
if(x==rad||x>(getmaxx()-rad))
px=px*(-1);
if(y==rad||y>(getmaxy()-rad))
py=py*(-1);
if(kbhit())
{
ci=getch();
switch(ci)
{
0
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:AUXILIO COMO ACELERO UN OBJETO

Publicado por Pedro Pablo (37 intervenciones) el 11/09/2000 00:00:00
Vaya, se ha cortado.
Pero más o menos lo que tienes que hacer es modificar los incrementos. Ahora tienes a px y
py como incrementos, y le cambias el signo para que rebote en los límites de la pantalla.
Tienes que modificar el incremento según te interese para que vaya cambiando la velocidad.
Por ejemplo, si modificas py a 2 en lugar de 1, la bola subirá y bajará al doble de velocidad
que lo que se desplaza lateralmente. Si quieres que parezca que hay gravedad hacia abajo,
tienes que hacer que py se incremente, por ejemplo en uno, continuamente. Cuando
py sea positiva (la bola vaya hacia abajo), cada vez será mayor, y cada vez caerá
más deprisa. Cuando rebote, le cambiarás el signo, y py será, por ejemplo, -20. Como
seguirás incrementando uno siempre a py, ahora irá decreciendo (-19, -18...) lo que hará que
vaya cada vez más despacio en su ascensión, hasta que llegue a 0, y vuelva a bajar.
Si haces eso tienes que tener cuidado con los rebotes. Ahora no siempre pasará por
todas las posiciones, por lo que en tu comprobación tendrás que utilizar comparadores de
menor y mayor que, en lugar del igual.

Te dejo que tú le des más realismo a la gravedad. Espero que la idea te ayude.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar