Buenos días, seguimos con los problemas, ahora quiero que el mismo pixel vaya rebotando por toda la pantalla, para eso debo trabajar con condicionales en X e Y. Para ello creo que debo usar la orden SWITCH. Pero no me sale, a ver si alguien me puede decir que etoy haciendo mal.
muuuuuuuuuuuuuuuuuuuuchas a gracias y pego el código.
#include <16f877.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=20000000)
#include <HDM64GS12.c>
#include <graphics.c>
#use standard_io(a)
void main () {
glcd_init(ON); // indispensble para encender el GLCD
signed long x; // decimos que clase de dato es x
signed long y;
Switch (A){
case ((x++ && y++) && (x<=127 && y<=63)):
glcd_pixel (x,y,1); // enciende en pixel y lo coloca en la coordenada x,y
glcd_pixel (x-1,y-1,0); // apaga en pixel, sino se hace se crearía una línea
delay_ms(20 ); // tiempo que tarda en desplazarse el pixel
x++; // incrementa x en una unidad
y++;
break;
case ((x-- && y++) && (x>=0 && y<=63)):
glcd_pixel (x,y,1);
glcd_pixel (x+1,y-1,0);
delay_ms(20 );
x--;
y++;
break;
case ((x++ && y--) && (x<=127 && y>=0)):
glcd_pixel (x,y,1);
glcd_pixel (x-1,y+1,0);
delay_ms(20 );
x++;
y--;
break;
case ((x-- && y--) && (x>=0 && y>=0)):
glcd_pixel (x,y,1);
glcd_pixel (x+1,y+1,0);
delay_ms(20 );
x--;
y--;
break;
}
}