como genero movimiento con las teclas?
HOla a todos estoy haciendo un juego de futbol y no se por donde coger el movimiento de los jugadores con los cursores como puedo hacerlo por donde empiezo gracias !!!
esto lo hice en una noche de insomnio. mi objetivo era que el asterosco escapara.
hay muchos errores pero tal vez te sirva.
**************************************************************#include<conio.h>
#include<iostream.h>
#include<math.h>
#include<dos.h>
char f;
int l,g,d,a;
float k;
void tablero(){
cout<<"ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ"<<endl
<<"Û Û Û Û"<<endl
<<"Û ÛÛÛÛÛÛÛÛÛ Û Û Û ÛÛÛÛÛÛÛ ÛÛÛÛÛÛÛÛÛÛ Û"<<endl
<<"Û Û Û Û Û ÛÛÛÛÛÛÛ Û Û Û Û"<<endl
<<"Û Û Û Û Û Û Û ÛÛÛÛÛ ÛÛ Û Û"<<endl
<<"Û Û Û ÛÛÛÛÛÛÛ Û Û Û ÛÛÛÛÛÛÛÛÛ Û Û"<<endl
<<"Û ÛÛÛÛÛÛÛÛÛÛÛÛÛ Û Û Û Û"<<endl
<<"Û Û Û ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛ Û"<<endl
<<"Û Û Û Û Û ÛÛ Û Û"<<endl
<<"Û Û ÛÛÛÛÛÛÛ Û ÛÛÛÛ Û ÛÛÛÛÛÛ ÛÛ Û Û ÛÛ Û"<<endl
<<"Û Û Û Û Û Û ÛÛ Û Û ÛÛ Û"<<endl
<<"Û Û Û ÛÛÛÛÛÛÛÛÛ Û ÛÛÛÛÛÛÛÛÛÛ Û ÛÛ Û Û ÛÛ Û"<<endl
<<"Û Û Û ÛÛ Û Û ÛÛ Û"<<endl
<<"Û ÛÛÛÛÛÛÛÛÛÛÛÛÛ Û ÛÛÛÛÛÛÛÛÛÛ ÛÛÛÛÛ Û ÛÛ Û"<<endl
<<"Û Û Û ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ Û"<<endl
<<"ÛÛÛÛÛÛÛÛÛÛÛÛ Û Û ÛÛÛÛ Û Û"<<endl
<<"Û Û ÛÛÛÛÛÛÛÛÛÛÛÛÛÛ Û Û Û"<<endl
<<"Û Û ÛÛÛÛÛÛÛÛ Û Û Û ÛÛÛÛÛÛÛÛÛ ÛÛÛÛÛÛÛÛ"<<endl
<<"Û Û Û Û ÛÛÛÛ Û Û"<<endl
<<"Û Û ÛÛÛÛÛÛÛÛÛÛÛÛ ÛÛÛÛÛÛÛÛÛ Û ÛÛ ÛÛÛÛÛÛÛÛ ÛÛÛ"<<endl
<<"Û Û Û Û ÛÛ Û"<<endl
<<"ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ"<<endl;
textcolor(GREEN);
}
void mover_asterisco(int n,char o){
if(l<62&&g<20){
switch(o){
case 'a':
gotoxy(l,g);
cout<<" ";
if(l<d){
l=l-1;
gotoxy(l,g);
cout<<"*";
}
else{
l=l+1;
g=g-1;
gotoxy(l,g);
cout<<"*";
}
break;
case 'd':
gotoxy(l,g);
cout<<" ";
if(l<61){
if(l<d){
l=l-1;
gotoxy(l,g);
cout<<"*";
}
else{
l=l+1;
gotoxy(l,g);
cout<<"*";
}
}
else{
if(g<15){
g=g+1;
gotoxy(l,g);
cout<<"*";
}
else{
l=l-1;
g=g-1;
gotoxy(l,g);
cout<<"*";
}
}
break;
case 'w':
gotoxy(l,g);
cout<<" ";
if(g>2){
if(g<a){
g=g-1;
gotoxy(l,g);
cout<<"*";
}
else{
g=g+1;
gotoxy(l,g);
cout<<"*";
}
}
else{
l=l+1;
gotoxy(l,g);
cout<<"*";
}
break;
case 's':
gotoxy(l,g);
cout<<" ";
if(g<17){
if(g>2){
if(g<a){
g=g-1;
gotoxy(l,g);
cout<<"*";
}
else{
if(l<61){
g=g+1;
l=l+1;
gotoxy(l,g);
cout<<"*";
}
else{
g=g+1;
gotoxy(l,g);
cout<<"*";
}
}
}
else{
if(g<5){
g=g+1;
gotoxy(l,g);
cout<<"*";
}
else{
g=g+1;
l=l+1;
gotoxy(l,g);
cout<<"*";
}
}
}
else{
if(n%2==0){
g=g-1;
l=l+1;
gotoxy(l,g);
cout<<"*";
}
else{
g=g-1;
l=l-1;
gotoxy(l,g);
cout<<"*";
}
}
}
}
}
void main(){
char p;
int c,s,n,b;
float k,t;
d=15;
n=0;
a=15;
t=0;
l=15;
g=6;
clrscr();
tablero();
gotoxy(l,g);
cout<<"*";
gotoxy(d,a);
cout<<"";
a:
while(n<=300&&!t==1){
p=getche();
mover_asterisco(n,p);
switch(p){
case 'a':
if(d==62){
gotoxy(d+1,a);
cout<<"Û";
gotoxy(d,a);
cout<<" ";
d=d-1;
gotoxy(d,a);
cout<<"";
}
else{
if(d>2){
gotoxy(d+1,a);
cout<<" ";
gotoxy(d,a);
cout<<" ";
d=d-1;
gotoxy(d,a);
cout<<"";
}
else{
gotoxy(d+1,a);
cout<<" ";
gotoxy(d,a);
cout<<"";
}
}
break;
case 'd':
if(d<62){
gotoxy(d,a);
cout<<" ";
d=d+1;
gotoxy(d,a);
cout<<"";
}
else{
gotoxy(d+1,a);
cout<<"Û";
gotoxy(d,a);
cout<<"";
}
break;
case 's':
if(a<21){
if(d==62){
gotoxy(d+1,a);
cout<<"Û";
gotoxy(d,a);
cout<<" ";
a=a+1;
gotoxy(d,a);
cout<<"";
}
else{
gotoxy(d+1,a);
cout<<" ";
gotoxy(d,a);
cout<<" ";
a=a+1;
gotoxy(d,a);
cout<<"";
}
}
else{
gotoxy(d+1,a);
cout<<" ";
gotoxy(d,a);
cout<<"";
}
break;
case 'w':
if(a>2){
if(d==62){
gotoxy(d+1,a);
cout<<"Û";
gotoxy(d,a);
cout<<" ";
a=a-1;
gotoxy(d,a);
cout<<"";
}
else{
gotoxy(d+1,a);
cout<<" ";
gotoxy(d,a);
cout<<" ";
a=a-1;
gotoxy(d,a);
cout<<"";
}
}
else{
gotoxy(d+1,a);
cout<<" ";
gotoxy(d,a);
cout<<"";
}
break;
}
if(d==l&&a==g){
gotoxy(25,12);
cout<<"YOU WINER";
delay(2000);
t=1;
}
n=n+1;
goto a;
}
getch();
}
hay muchos errores pero tal vez te sirva.
**************************************************************#include<conio.h>
#include<iostream.h>
#include<math.h>
#include<dos.h>
char f;
int l,g,d,a;
float k;
void tablero(){
cout<<"ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ"<<endl
<<"Û Û Û Û"<<endl
<<"Û ÛÛÛÛÛÛÛÛÛ Û Û Û ÛÛÛÛÛÛÛ ÛÛÛÛÛÛÛÛÛÛ Û"<<endl
<<"Û Û Û Û Û ÛÛÛÛÛÛÛ Û Û Û Û"<<endl
<<"Û Û Û Û Û Û Û ÛÛÛÛÛ ÛÛ Û Û"<<endl
<<"Û Û Û ÛÛÛÛÛÛÛ Û Û Û ÛÛÛÛÛÛÛÛÛ Û Û"<<endl
<<"Û ÛÛÛÛÛÛÛÛÛÛÛÛÛ Û Û Û Û"<<endl
<<"Û Û Û ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛ Û"<<endl
<<"Û Û Û Û Û ÛÛ Û Û"<<endl
<<"Û Û ÛÛÛÛÛÛÛ Û ÛÛÛÛ Û ÛÛÛÛÛÛ ÛÛ Û Û ÛÛ Û"<<endl
<<"Û Û Û Û Û Û ÛÛ Û Û ÛÛ Û"<<endl
<<"Û Û Û ÛÛÛÛÛÛÛÛÛ Û ÛÛÛÛÛÛÛÛÛÛ Û ÛÛ Û Û ÛÛ Û"<<endl
<<"Û Û Û ÛÛ Û Û ÛÛ Û"<<endl
<<"Û ÛÛÛÛÛÛÛÛÛÛÛÛÛ Û ÛÛÛÛÛÛÛÛÛÛ ÛÛÛÛÛ Û ÛÛ Û"<<endl
<<"Û Û Û ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ Û"<<endl
<<"ÛÛÛÛÛÛÛÛÛÛÛÛ Û Û ÛÛÛÛ Û Û"<<endl
<<"Û Û ÛÛÛÛÛÛÛÛÛÛÛÛÛÛ Û Û Û"<<endl
<<"Û Û ÛÛÛÛÛÛÛÛ Û Û Û ÛÛÛÛÛÛÛÛÛ ÛÛÛÛÛÛÛÛ"<<endl
<<"Û Û Û Û ÛÛÛÛ Û Û"<<endl
<<"Û Û ÛÛÛÛÛÛÛÛÛÛÛÛ ÛÛÛÛÛÛÛÛÛ Û ÛÛ ÛÛÛÛÛÛÛÛ ÛÛÛ"<<endl
<<"Û Û Û Û ÛÛ Û"<<endl
<<"ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ"<<endl;
textcolor(GREEN);
}
void mover_asterisco(int n,char o){
if(l<62&&g<20){
switch(o){
case 'a':
gotoxy(l,g);
cout<<" ";
if(l<d){
l=l-1;
gotoxy(l,g);
cout<<"*";
}
else{
l=l+1;
g=g-1;
gotoxy(l,g);
cout<<"*";
}
break;
case 'd':
gotoxy(l,g);
cout<<" ";
if(l<61){
if(l<d){
l=l-1;
gotoxy(l,g);
cout<<"*";
}
else{
l=l+1;
gotoxy(l,g);
cout<<"*";
}
}
else{
if(g<15){
g=g+1;
gotoxy(l,g);
cout<<"*";
}
else{
l=l-1;
g=g-1;
gotoxy(l,g);
cout<<"*";
}
}
break;
case 'w':
gotoxy(l,g);
cout<<" ";
if(g>2){
if(g<a){
g=g-1;
gotoxy(l,g);
cout<<"*";
}
else{
g=g+1;
gotoxy(l,g);
cout<<"*";
}
}
else{
l=l+1;
gotoxy(l,g);
cout<<"*";
}
break;
case 's':
gotoxy(l,g);
cout<<" ";
if(g<17){
if(g>2){
if(g<a){
g=g-1;
gotoxy(l,g);
cout<<"*";
}
else{
if(l<61){
g=g+1;
l=l+1;
gotoxy(l,g);
cout<<"*";
}
else{
g=g+1;
gotoxy(l,g);
cout<<"*";
}
}
}
else{
if(g<5){
g=g+1;
gotoxy(l,g);
cout<<"*";
}
else{
g=g+1;
l=l+1;
gotoxy(l,g);
cout<<"*";
}
}
}
else{
if(n%2==0){
g=g-1;
l=l+1;
gotoxy(l,g);
cout<<"*";
}
else{
g=g-1;
l=l-1;
gotoxy(l,g);
cout<<"*";
}
}
}
}
}
void main(){
char p;
int c,s,n,b;
float k,t;
d=15;
n=0;
a=15;
t=0;
l=15;
g=6;
clrscr();
tablero();
gotoxy(l,g);
cout<<"*";
gotoxy(d,a);
cout<<"";
a:
while(n<=300&&!t==1){
p=getche();
mover_asterisco(n,p);
switch(p){
case 'a':
if(d==62){
gotoxy(d+1,a);
cout<<"Û";
gotoxy(d,a);
cout<<" ";
d=d-1;
gotoxy(d,a);
cout<<"";
}
else{
if(d>2){
gotoxy(d+1,a);
cout<<" ";
gotoxy(d,a);
cout<<" ";
d=d-1;
gotoxy(d,a);
cout<<"";
}
else{
gotoxy(d+1,a);
cout<<" ";
gotoxy(d,a);
cout<<"";
}
}
break;
case 'd':
if(d<62){
gotoxy(d,a);
cout<<" ";
d=d+1;
gotoxy(d,a);
cout<<"";
}
else{
gotoxy(d+1,a);
cout<<"Û";
gotoxy(d,a);
cout<<"";
}
break;
case 's':
if(a<21){
if(d==62){
gotoxy(d+1,a);
cout<<"Û";
gotoxy(d,a);
cout<<" ";
a=a+1;
gotoxy(d,a);
cout<<"";
}
else{
gotoxy(d+1,a);
cout<<" ";
gotoxy(d,a);
cout<<" ";
a=a+1;
gotoxy(d,a);
cout<<"";
}
}
else{
gotoxy(d+1,a);
cout<<" ";
gotoxy(d,a);
cout<<"";
}
break;
case 'w':
if(a>2){
if(d==62){
gotoxy(d+1,a);
cout<<"Û";
gotoxy(d,a);
cout<<" ";
a=a-1;
gotoxy(d,a);
cout<<"";
}
else{
gotoxy(d+1,a);
cout<<" ";
gotoxy(d,a);
cout<<" ";
a=a-1;
gotoxy(d,a);
cout<<"";
}
}
else{
gotoxy(d+1,a);
cout<<" ";
gotoxy(d,a);
cout<<"";
}
break;
}
if(d==l&&a==g){
gotoxy(25,12);
cout<<"YOU WINER";
delay(2000);
t=1;
}
n=n+1;
goto a;
}
getch();
}
