Sprawdzanie warunków.

0

Witam!
Piszę sobie taka małą grę w c dos.
Mam tablicę znaków którą sam utworzyłem 12x3 z odgórnie oznaczonymi miejscami gdzie leży konkretny znak
potem losuje po kolei randomową liczbe dla ix,iy,iz
i sprawdzam czy są na tych miejscach te same znaki.
kod:

if((TAS[ix][0])&&(TAS[iy][1])&&(TAS[iz][2])=="$")
      printf("BRAWO!");

no i to nie działa, czyli nie wyświetla napisu. Zna ktoś jakąś skuteczną metodę sprawdzania i jaką bibliotekę muszę zaimplementować dla gotoXY(0,0) w języku C.

0
if((TAS[ix][0]=='$')&&(TAS[iy][1]=='$')&&(TAS[iz][2])=='$')
      printf("BRAWO!");

Implementacja własnego goto jest zależna od OSa na którym działasz, dokładniej jego konsoli.

0

skoro to DOS idzie wywoływać przerwania. Możesz napisać wstawkę w assemblerze wywołująca to przerwanie: http://www.htl-steyr.ac.at/~morg/pcinfo/hardware/interrupts/inte6o1c.htm

0

Korzystam z DEVC++, pisze w C. W jaki sposób dodać kod z assemblera do programu w C?

0

Wprowadziłem funkcję gotoxy(1,1); ale ona jest cholernie szybka,
np.

int i;
for(i=0;;i++)
{
gotoxy(1,1);
printf("%d",i);
} 
 

To wyswietla mi liczbę powyżej kilku tysięcy i dopiero można zauważyć cokolwiek.
trochę szkoda, bo pisze automat do gry (jednoręki bandyta) i obrót bębnów jest tak szybki, że masakra:/
Ma ktoś jakiś pomysł jak to można zwolnić?

To kawałek kodu.

 for(ix=12;ix<=X; ix--)
  {
  if(warunek_obrot>warunek_krecenia)
  { srand ((int) time(NULL));//wylosowana liczba dla tasmy X
   X = rand() % 12;
}
                                   
  --iy;
  --iz;
  
  gotoxy(1,1);

       printf("                                   ---------------\n");
       printf("                                 --------------- /|\n");
       printf("                                |  Hot Wheles   | |\n");
       printf("                                |---------------| |\n");
       printf("                                |  -----------  | |\n");
       
       if( WIN <10){                             // WYSWIETLACZ WYSWIETLA DWA ZERA PRZED LICZBA MNIEJSZA OD 10
       printf("                                | [ PUNKTY 00%d] | |\n",WIN);
  }
  
  if( (WIN >=10)&&(WIN<100)){            //WYSWIETLACZ WYSWIETLA DWA ZERA PRZED LICZBA MNIEJSZA OD 100 i WIĘKSZĄ RÓWNA 10)
       printf("                                | [ PUNKTY 0%d] | |\n",WIN);
  }
  
   if( (WIN >=100)&&(WIN<1000)){        //WYSWIETLACZ WYSWIETLA DWA ZERA PRZED LICZBA MNIEJSZA OD 1000 i WIĘKSZĄ RÓWNA 100)
       printf("                                | [ PUNKTY %d] | |\n",WIN);
  }
      
       printf("                                |  -----------  | |\n");
       printf("                                |   _   _   _   | |\n");
       printf("                                |  | | | | | |  | |\n");
       printf("                                |1-|%c|-|%c|-|%c|- | |\n",TAS[ix][0],TAS[iy][1],TAS[iz][2]);
       printf("                                |2-|%c|-|%c|-|%c|- | |\n",TAS[ix+1][0],TAS[iy+1][1],TAS[iz+1][2]);
       printf("                                |3-|%c|-|%c|-|%c|- | |\n",TAS[ix+2][0],TAS[iy+2][1],TAS[iz+2][2]);
       printf("                                |  |_| |_| |_|  | |\n");
       printf("                                |   -   -   -   | |\n");
       printf("                                |  -----------  | |   NACISNIJ DOWOLNY KLAWISZ\n");
       if( cash <10){                             // WYSWIETLACZ WYSWIETLA DWA ZERA PRZED LICZBA MNIEJSZA OD 10
       printf("                                | [ CASH  00%d ] | |\n",cash);
  }
  
  if( (cash >=10)&&(cash<100)){            //WYSWIETLACZ WYSWIETLA DWA ZERA PRZED LICZBA MNIEJSZA OD 100 i WIĘKSZĄ RÓWNA 10)
       printf("                                | [ CASH  0%d ] | |\n",cash);
  }
  
   if( (cash >=100)&&(cash<1000)){        //WYSWIETLACZ WYSWIETLA DWA ZERA PRZED LICZBA MNIEJSZA OD 1000 i WIĘKSZĄ RÓWNA 100)
       printf("                                | [ CASH  %d ] | |\n",cash);
  }
       printf("                                |  -----------  | |\n");
       printf("                                |    -   -   -  | |         \n");
       printf("                                |   [X] [Z] [Y] | |\n");
       printf("                                |    -   -   -  |/\n");
       printf("                                 ---------------\n");
       
       
       if(ix!=X)
       {
       if(ix == 0){
             warunek_obrot++;
             ix=12;
             }
             }
       
       if(iz == 0)iz=12;
       if(iy == 0)iy=12;
      
       }

1 użytkowników online, w tym zalogowanych: 0, gości: 1