AYUDA POR FAVOR
HOLA A TODOS.
NECESITO SABER, COMO HAGO EN BORLAND C++ V 3.1
PARA CREAR UNA SENTENCIA QUE ME CREE UNA LINEA EN PANTALLA Y ESTA LINEA PUEDA SER MOVIDA HACIA, ABAJO, ARRIBA, DERECHA O IZQUIERDA DEPENDIENDO LA TECLA QUE APRETE EL USUARIO.
ESTAS LINEAS LAS ESTOY CREANDO EN MODO GRAFICO CON "GRAPHICS.H"
POR FAVOR NECESITO TODA LA AYUDA ES PARA UN PROYECTO
GRACIAS
NECESITO SABER, COMO HAGO EN BORLAND C++ V 3.1
PARA CREAR UNA SENTENCIA QUE ME CREE UNA LINEA EN PANTALLA Y ESTA LINEA PUEDA SER MOVIDA HACIA, ABAJO, ARRIBA, DERECHA O IZQUIERDA DEPENDIENDO LA TECLA QUE APRETE EL USUARIO.
ESTAS LINEAS LAS ESTOY CREANDO EN MODO GRAFICO CON "GRAPHICS.H"
POR FAVOR NECESITO TODA LA AYUDA ES PARA UN PROYECTO
GRACIAS
[1] : tienes que escribir la linea en un lugar determinado por dos variables : x - y, usando
gotoxy(x,y).
[2] : antes de mover el cursor para escribir una frase nueva, borrar la anterior escribiendo una serie de espacios en su lugar.
[3] : reciir el nuevo lugar desde las teclas usando getch().
exito ! ! !
gotoxy(x,y).
[2] : antes de mover el cursor para escribir una frase nueva, borrar la anterior escribiendo una serie de espacios en su lugar.
[3] : reciir el nuevo lugar desde las teclas usando getch().
exito ! ! !
gracias amigo
ya tengo clara la idea, pero soy nuevo en este lenguaje como hago para definir las teclas de up, down, right y left en el programa que el programa sepa que al aplicar cualquier de estas teclas realice un gotoxy a la linea y la mueva?
ya tengo clara la idea, pero soy nuevo en este lenguaje como hago para definir las teclas de up, down, right y left en el programa que el programa sepa que al aplicar cualquier de estas teclas realice un gotoxy a la linea y la mueva?
Fijate si este programa responde a tus necesidades.
No tengo instalado borland C++ ver 3.1, en esto momentos, asi que que no pude revisarlo.
// program moving.cpp
// written in Borland CPP ver 3.1
#define B 15
#define H 3
#define DX 2
#define DY 1
#define MIN_X DX
#define MAX_X 80 - B + 1
#define MIN_Y DY
#define MAX_Y 25 - H + 1
#define BACK_COLOR MAGENTA
#define FRONT_COLOR WHITE
#include <conio.h>
#include <iostream.h>
int GetNewPosition(int &x,int &y)
{
int ret = 1;
switch(getch())
{
case 77 :
case 54 : if(x < MAX_X) // arrow right
x += DX;
break;
case 75 :
case 52 : if(x > MIN_X) // arrow left
x -= DX;
break;
case 80 :
case 50 : if(y < MAX_Y) // arrow down
y += DY;
break;
case 72 :
case 56 : if(y > MIN_Y) // arrow up
y -= DY;
break;
case 27 : ret = 0;
break;
} // SWITCH
return ret;
} // GET NEW POSITION
void Show(int x, int y,int color)
{
textcolor(color);
for(int i = 0;i < H;i++)
{
gotoxy(x,y+i);
cputs("þ þ þ þ þ þ þ");
}
}
void Process()
{
int x = (80-B)/2,
y = (25-H)/2,
oldx = x,
oldy = y;
Show(x,y,FRONT_COLOR);
while (GetNewPosition(x,y))
{
Show(oldx,oldy,BACK_COLOR);
Show(x,y,FRONT_COLOR);
oldx = x;
oldy = y;
}
} // PROCESS
void main()
{
textmode(C80);
textbackground(BACK_COLOR);
_setcursortype(0);
clrscr();
Process();
gotoxy(1,25);
cout << "end of program - good bye";
getch();
textbackground(BLACK);
_setcursortype(1);
clrscr();
} // MAIN
No tengo instalado borland C++ ver 3.1, en esto momentos, asi que que no pude revisarlo.
// program moving.cpp
// written in Borland CPP ver 3.1
#define B 15
#define H 3
#define DX 2
#define DY 1
#define MIN_X DX
#define MAX_X 80 - B + 1
#define MIN_Y DY
#define MAX_Y 25 - H + 1
#define BACK_COLOR MAGENTA
#define FRONT_COLOR WHITE
#include <conio.h>
#include <iostream.h>
int GetNewPosition(int &x,int &y)
{
int ret = 1;
switch(getch())
{
case 77 :
case 54 : if(x < MAX_X) // arrow right
x += DX;
break;
case 75 :
case 52 : if(x > MIN_X) // arrow left
x -= DX;
break;
case 80 :
case 50 : if(y < MAX_Y) // arrow down
y += DY;
break;
case 72 :
case 56 : if(y > MIN_Y) // arrow up
y -= DY;
break;
case 27 : ret = 0;
break;
} // SWITCH
return ret;
} // GET NEW POSITION
void Show(int x, int y,int color)
{
textcolor(color);
for(int i = 0;i < H;i++)
{
gotoxy(x,y+i);
cputs("þ þ þ þ þ þ þ");
}
}
void Process()
{
int x = (80-B)/2,
y = (25-H)/2,
oldx = x,
oldy = y;
Show(x,y,FRONT_COLOR);
while (GetNewPosition(x,y))
{
Show(oldx,oldy,BACK_COLOR);
Show(x,y,FRONT_COLOR);
oldx = x;
oldy = y;
}
} // PROCESS
void main()
{
textmode(C80);
textbackground(BACK_COLOR);
_setcursortype(0);
clrscr();
Process();
gotoxy(1,25);
cout << "end of program - good bye";
getch();
textbackground(BLACK);
_setcursortype(1);
clrscr();
} // MAIN
