Bueno, ya lo arregle, este e smi nuevo codigo, xdd.
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <conio.h>
struct cuerpo
{
char sprite;
int x, y;
};
struct plano
{
char sprite;
int x, y;
};
struct proy
{
char sprite;
int x, y;
int rango;
};
int main()
{
int m, n, i, j, k, l, e=30, b=3;
char c;
struct cuerpo nave, player;
struct proy bala;
struct plano a[20][20];
nave.sprite=1;
player.sprite=2;
bala.sprite='`';
bala.rango=5;
void start()
{
for(i=0; i<20; i++)
{
for(j=0; j<20; j++)
{
a[i][j].sprite=' ';
a[i][j].x=i;
a[i][j].y=j;
}
}
}
void pspawn()
{
player.x=19;
player.y=10;
}
void bspawn()
{
bala.x=player.x-1;
bala.y=player.y;
}
void ppos()
{
a[player.x][player.y].sprite=player.sprite;
}
void bpos()
{
a[bala.x][bala.y].sprite=bala.sprite;
}
void epos()
{
for(l=0; l<20; l++)
{
a[0][l].sprite=nave.sprite;
}
}
void chkp()
{
if(player.x==0)
{
m=player.y;
pspawn();
b--;
a[0][m].sprite='X';
}
}
void chke()
{
if(bala.x==0)
{
m=bala.y;
bspawn();
a[0][m].sprite='X';
}
}
void disp()
{
for(i=0; i<20; i++)
{
for(j=0; j<20; j++)
{
if(i==player.x && j==player.y)
{
ppos();
}
else if (i==bala.x && j==bala.y)
{
bpos();
}
else if (a[i][j].sprite!=nave.sprite && a[i][j].sprite!='X')
{
a[i][j].sprite=' ';
}
printf("%c ", a
[i
][j
].
sprite); }
}
printf("\nVidas: %i Ammo: %i\n", b
, e
); }
void mov()
{
c='1';
k=0;
switch(c)
{
case 'w':
if(player.x>0)
player.x=(player.x)-1;
break;
case 'd':
if(player.y<19)
player.y=(player.y)+1;
break;
case 's':
if(player.x<19)
player.x=(player.x)+1;
break;
case 'a':
if(player.y>0)
player.y=(player.y)-1;
break;
case ' ':
bala.x=player.x-1;
bala.y=player.y;
a[bala.x][bala.y].sprite='*';
while(k<bala.rango)
{
bala.x=bala.x-1;
chke();
disp();
k++;
}
e--;
break;
default:
break;
}
}
start();
epos();
pspawn();
disp();
while(b!=0 && e!=0)
{
disp();
mov();
chkp();
bspawn();
}
if(b==0 || e==0)
{
printf("\t\t\tGAME OVER!\n\n"); }
return 0;
}