Hola, estoy aprendiendo a programar en C y queria hacer un jueguito pero tengo un problema con el movimiento que derrepente se hecha a perder, le meti fflush por todas partes y ni asi se arreglo, xdd, asi que no he seguido avanzando. Por favor si alguien lo puede revisar y hecharme una manito .
(Como hago un spoiler?? ?)
Este es el codigo.
(Como hago un spoiler?? ?)
Este es el codigo.
Código (c) [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <conio.h>
struct nave{
char sprite;
int x, y;
};
int main(){
int i, j, b=3;
char a[20][20];
char c;
start:
struct nave nave1;
nave1.sprite=1;
nave1.x=9;
nave1.y=9;
struct nave nave2;
nave2.sprite=2;
nave2.x=3;
nave2.y=3;
while(b!=0){
for(i=0; i<20;i++){
for(j=0; j<20; j++){
if(i==nave1.y && j==nave1.x && i==nave2.y && j==nave2.x){
b--;
system("cls");
goto start;
}
else if(i==nave1.y && j==nave1.x){
a[i][j]=nave1.sprite;
}
else if(i==nave2.y && j==nave2.x){
a[i][j]=nave2.sprite;
}
else{
a[i][j]=' ';
}
printf("%c ", a[i][j]);
}
printf("\n");
}
printf("\nVidas: %i\n", b);
system("pause"); //probe con getch() pero agrava el bug
if(GetKeyState(38)) //37-40 son las flechitas
if(nave1.y>0)
nave1.y=nave1.y-1;
if(GetKeyState(40))
if(nave1.y<19)
nave1.y=nave1.y+1;
if(GetKeyState(37))
if(nave1.x>0)
nave1.x=nave1.x-1;
if(GetKeyState(39))
if(nave1.x<19)
nave1.x=nave1.x+1;
system("cls");
}
printf("\t\t\tGAME OVER!\n\n");
system("pause");
return 0;
}