C - iks/oks igrica

C - iks/oks igrica

offline
  • Pridružio: 28 Jun 2004
  • Poruke: 990
  • Gde živiš: Kucura

Iz dosade na casu poceo sam da radim ovu igricu. Ovo verovatno nikome nece koristiti ali eto... Odnesite i vi profesoru ovaj kod pa vas mozda nagradi sa ocenom Wink

  1. #include <stdio.h>
  2.  
  3. char table[234] = "\n\n\t -------------- \n\t|    |    |    |\n\t|    |    |    |\n\t|    |    |    |\n\t----------------\n\t|    |    |    |\n\t|    |    |    |\n\t|    |    |    |\n\t----------------\n\t|    |    |    |\n\t|    |    |    |\n\t|    |    |    |\n\t --------------";
  4. char x[8];
  5. int i, p, turn, player, winner;
  6.  
  7.  
  8.  
  9. void write_table() {
  10.  
  11.         for(i=0;i<=234;i=i+1) {
  12.  
  13.            switch (i) {
  14.                   case 41:
  15.                        printf("%c",x[6]);
  16.                        i=i+1;
  17.                        break;
  18.                   case 46:
  19.                        printf("%c",x[7]);
  20.                        i=i+1;
  21.                        break;
  22.                   case 51:
  23.                        printf("%c",x[8]);
  24.                        i=i+1;
  25.                        break;
  26.                   case 113:
  27.                        printf("%c",x[3]);
  28.                        i=i+1;
  29.                        break;
  30.                   case 118:
  31.                        printf("%c",x[4]);
  32.                        i=i+1;
  33.                        break;                                                                                                                             
  34.                   case 123:
  35.                        printf("%c",x[5]);
  36.                        i=i+1;
  37.                        break;
  38.                   case 185:
  39.                        printf("%c",x[0]);
  40.                        i=i+1;
  41.                        break;
  42.                   case 190:
  43.                        printf("%c",x[1]);
  44.                        i=i+1;
  45.                        break;                                                                                                                             
  46.                   case 195:
  47.                        printf("%c",x[2]);
  48.                        i=i+1;
  49.                        break;
  50.            }
  51.            
  52.                      
  53.            printf("%c",table[i]);
  54.  
  55.         }
  56. }     
  57.  
  58.        
  59.        
  60. void check_winner() {
  61.  
  62.      if (x[0]==x[1] && x[1]==x[2] && x[1]!=0) {winner=x[0];}
  63.      if (x[3]==x[4] && x[4]==x[5] && x[4]!=0) {winner=x[3];}
  64.      if (x[6]==x[7] && x[7]==x[8] && x[7]!=0) {winner=x[6];}
  65.  
  66.      if (x[0]==x[3] && x[3]==x[6] && x[3]!=0) {winner=x[0];}
  67.      if (x[1]==x[4] && x[4]==x[7] && x[4]!=0) {winner=x[1];}
  68.      if (x[2]==x[5] && x[5]==x[8] && x[5]!=0) {winner=x[2];}
  69.  
  70.      if (x[0]==x[4] && x[4]==x[8] && x[4]!=0) {winner=x[0];}
  71.      if (x[2]==x[4] && x[4]==x[6] && x[4]!=0) {winner=x[2];}
  72.  
  73. }
  74.  
  75.  
  76.  
  77.  
  78.  
  79. main(){
  80.  
  81. player = 1;
  82. turn = 0;
  83. winner = 0;
  84.  
  85. for (i=0;i<=8;i++){ x[i]=i+49; }
  86. write_table();
  87. for (i=0;i<=8;i++){ x[i]=0; }
  88.  
  89.  
  90. do {
  91.    
  92.          
  93.     if (player == 0) {
  94.        printf ("\n\n\nIgrac X je na potezu!\nIzaberite u koje polje zelite da upisete vas znak: ");}
  95.     else if (player == 1) {
  96.        printf ("\n\n\nIgrac O je na potezu!\nIzaberite u koje polje zelite da upisete vas znak: ");}
  97.  
  98.  
  99.     scanf("%d",&p);
  100.    
  101.     if (x[p-1]!=79 && x[p-1]!=88){
  102.  
  103.         if (player == 0) {
  104.            x[p-1]=88;
  105.            player=1;
  106.            system ("cls");
  107.            write_table();
  108.            check_winner();
  109.            if (winner != 0) {break;}
  110.            
  111.         } else if (player == 1) {
  112.            x[p-1]=79;
  113.            player=0;
  114.            system ("cls");
  115.            write_table();
  116.            check_winner();     
  117.            if (winner != 0) {break;}
  118.            
  119.         }
  120.        
  121.     }else{
  122.           turn--;       
  123.     }
  124.    
  125.  
  126.  
  127.  
  128. turn++;
  129.  
  130. } while (turn<9);
  131.    
  132.  
  133.  
  134. printf("\n\n\n");
  135.  
  136. if (winner==0){
  137.       printf("U ovoj partiji nema pobednika!");
  138. }else{
  139.       printf("Pobednik je igrac >> %c <<", winner);
  140. }
  141.      
  142. printf("\n\n\n");
  143.  
  144.    system("pause");
  145.    return 0;
  146.    
  147. }
  148.  
  149.  
  150.  
  151.  
  152.  



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 17 Sep 2008
  • Poruke: 30

Hvala na kodu, ali u kom formatu da ga sacuvam?



offline
  • Pridružio: 28 Jun 2004
  • Poruke: 990
  • Gde živiš: Kucura

Recimo "igrica.c" bez navodnika.

offline
  • Pridružio: 17 Sep 2008
  • Poruke: 30

Zahvaljujem!

Dopuna: 18 Sep 2008 21:00

Ali, zaboravio sam da pitam gde da iskopirm kod?

offline
  • Software developer
  • Pridružio: 06 Sep 2005
  • Poruke: 3800
  • Gde živiš: Beograd

Iskopiraj ga u wordpadu i sacuvaj kao igrica.c

Da bi pokrenuo moras da ga kompajliras. Kad kompajliras, dobijes .exe i njega pokrenes

offline
  • Pridružio: 17 Sep 2008
  • Poruke: 30

a, kako se kompajlira?

offline
  • Software developer
  • Pridružio: 06 Sep 2005
  • Poruke: 3800
  • Gde živiš: Beograd

Objasnio sam ti tamo u opste programiranje si isto pitao
[Link mogu videti samo ulogovani korisnici]

Dopuna: 19 Sep 2008 16:12

Ne postavljaj duple teme

Ko je trenutno na forumu
 

Ukupno su 887 korisnika na forumu :: 66 registrovanih, 8 sakrivenih i 813 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: Asparagus, Ba4e, babaroga, Bosnjo, cemix, Clouseau, darcaud, darkangel, Django777, djboj, Djota1, dolinalima, drimer, Feller, FileFinder, Gheljda, gorankuba, Hitri, HogarStrashni, icemilos, JankoS, Jaz, JK, kovinacc, Kubovac, littlebunny, ljubo70, Matija, Mercury, Metanoja, miki kv, mikidragi, milenko crazy north, Mićko, nebkv, nedeljkovici, nemkea71, nick79, Nikola9223, pfc74, Poskok72, precan, Prečanin30, PrincipL, RJ, rovac, Sarmat, sekretar, Sevetar, Sirius, Smd, Strasni JA, suton, tanakadzo, Tribal, TTN, Valter071, Vanderx, Veless, vidra1, Vlad000, wolf431, zil10, Zoran1959, šumar bk2, 79693