Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - andres_jk

#1
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?? :D?)


Este es el codigo.

#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;
}