Ver Mensaje Individual
  #3 (permalink)  
Antiguo 21/08/2012, 06:56
starfix
 
Fecha de Ingreso: diciembre-2011
Ubicación: Crespo - Entre Rios
Mensajes: 155
Antigüedad: 12 años, 11 meses
Puntos: 25
Respuesta: Mover un circulo con Winbgim (Problema)

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
  1. #include <winbgim.h>
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <time.h>
  5. #include <stdint.h>
  6. #include <string.h>
  7.  
  8.  
  9.  
  10. int main()
  11. {
  12.     int x, y, radius;
  13.     char flecha;
  14.     initwindow(1024,768);
  15.     settextstyle(0,0,2);
  16.     setcolor(COLOR(200,240,45));
  17.     outtextxy(200,300,"Mover un circulo");
  18.     outtextxy(200,400,"Pulse una tecla para continuar...");
  19.     while(!kbhit());
  20.     setcolor(BLACK);
  21.     outtextxy(200,300,"Mover un circulo");
  22.     outtextxy(200,400,"Pulse una tecla para continuar...");
  23.    
  24.     outtextxy(400,400,"Para mover el circulo, use las flechas. Para finalizar, presione la tecla Fin");
  25.     outtextxy(400,500,"Presione una tecla para continuar");
  26.     while(!kbhit());
  27.    
  28.    
  29.     x = 500;
  30.     y = 500;
  31.     radius = 200;
  32.     setcolor(WHITE);
  33.     circle(x,y,radius);
  34.    
  35.     do{
  36.                        
  37.                        fflush(stdin);
  38.                        flecha = getch();
  39.                       if(flecha == 0);
  40.                      
  41.                       {        
  42.                                 getch();
  43.                                 if(flecha == KEY_UP)
  44.                                 {
  45.                                       fflush(stdin);
  46.                                       outtextxy(100,100,"Muevete para arriba");
  47.                                       setcolor(BLACK);
  48.                                       circle(x,y,radius);
  49.                                       y = y - 10;
  50.                                       delay(1);
  51.                                       setcolor(WHITE);
  52.                                       circle(x,y,radius);
  53.                                       fflush(stdin);
  54.                                 }
  55.                                 fflush(stdin);
  56.                                 getch();      
  57.                                       if(flecha == KEY_DOWN)
  58.                                       {
  59.                                       outtextxy(200,200,"Muevete hacia abajo");
  60.                                       setcolor(BLACK);
  61.                                       circle(x,y,radius);
  62.                                       fflush(stdin);
  63.                                       y = y + 10;
  64.                                       setcolor(WHITE);
  65.                                       circle(x,y,radius);
  66.                                       }
  67.                                       fflush(stdin);
  68.                                       getch();
  69.                                       if(flecha == KEY_LEFT)
  70.                                       {
  71.                                       setcolor(BLACK);
  72.                                       circle(x,y,radius);
  73.                                       x = x - 10;
  74.                                       setcolor(WHITE);
  75.                                       circle(x,y,radius);
  76.                                       }
  77.                                       fflush(stdin);
  78.                                       getch();
  79.                                        if(flecha == KEY_RIGHT)
  80.                                         {
  81.                                       setcolor(BLACK);
  82.                                       circle(x,y,radius);
  83.                                       x = x + 10;
  84.                                       setcolor(WHITE);
  85.                                       circle(x,y,radius);
  86.                                       }
  87.                                       fflush(stdin);
  88.                                       getch();
  89.                      
  90.                       }
  91.                      
  92. }while(getch()!=KEY_END);
  93. while(!kbhit());
  94. closegraph();
  95. return 0;
  96. }


saludos