las condiciones de los 4
if que comprueban que tecla se presiono estan mal, estas usando el operador de igualacion
= en lugar del de comparacion
==... si te equivocaste en el 1er if, al copiarlo arrastraste el error, proba camiandolos.
otra cosa, cuando pongas el codigo en highlight, elegi el lenguaje, asi queda mas lindo :)
Código C++:
Ver original#include <winbgim.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <stdint.h>
#include <string.h>
int main()
{
int x, y, radius;
char flecha;
initwindow(1024,768);
settextstyle(0,0,2);
setcolor(COLOR(200,240,45));
outtextxy(200,300,"Mover un circulo");
outtextxy(200,400,"Pulse una tecla para continuar...");
while(!kbhit());
setcolor(BLACK);
outtextxy(200,300,"Mover un circulo");
outtextxy(200,400,"Pulse una tecla para continuar...");
outtextxy(400,400,"Para mover el circulo, use las flechas. Para finalizar, presione la tecla Fin");
outtextxy(400,500,"Presione una tecla para continuar");
while(!kbhit());
x = 500;
y = 500;
radius = 200;
setcolor(WHITE);
circle(x,y,radius);
do{
if(flecha == 0);
{
if(flecha == KEY_UP)
{
outtextxy(100,100,"Muevete para arriba");
setcolor(BLACK);
circle(x,y,radius);
y = y - 10;
delay(1);
setcolor(WHITE);
circle(x,y,radius);
}
if(flecha == KEY_DOWN)
{
outtextxy(200,200,"Muevete hacia abajo");
setcolor(BLACK);
circle(x,y,radius);
y = y + 10;
setcolor(WHITE);
circle(x,y,radius);
}
if(flecha == KEY_LEFT)
{
setcolor(BLACK);
circle(x,y,radius);
x = x - 10;
setcolor(WHITE);
circle(x,y,radius);
}
if(flecha == KEY_RIGHT)
{
setcolor(BLACK);
circle(x,y,radius);
x = x + 10;
setcolor(WHITE);
circle(x,y,radius);
}
}
}while(getch()!=KEY_END
); while(!kbhit());
closegraph();
return 0;
}
saludos