ispisivanje newhand() u funkciji main() steka

ispisivanje newhand() u funkciji main() steka

offline
  • Pridružio: 10 Mar 2009
  • Poruke: 101
  • Gde živiš: Podgorica

#include <stdio.h> //Deklarisanje varijabli int card[14]={0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}; int i, idealer, deal=0, p=0, h=0; int player_total=0, dealer_total=0; switcher() // Funkcija zamjenjeuje karte 1, 11, 12 i 13 sa A, J, Q i K; {            switch(card[i]) // Ako je i = 1, 11, 12, 13 mijenja ih u A, J, Q i K            {                            case 1: printf("A "); break;                            case 11: printf("J "); break;                            case 12: printf("Q "); break;                            case 13: printf("K "); break;                            } } // End Function switcher()             newhand() // Dijeli dvije karte igracu i jednu kartu dileru {           srand((unsigned) time(NULL)); //Generise random seed za rand() funkciju           printf("Player's hand:\n"); // Pocinje dijeljnje karata za igraca;           while(deal<2)           {                        i=rand()%13+1; //Random broj                                                                        // Sabiranje karata, player_total                                       if(i>1 && i<11)                        printf("%d ", card[i]);                        switcher();                                                if(i == 1) // Za keca                        {                            if(player_total<10) // Ako je player_total manje od deset, A ima vrijednost 1;                            {                               player_total += 1;                               }                            else               // Ako je player_total vece ili jednako od 10, A ima vrijednost 11;                            {                               player_total += 11;                               }                            }                                                    if(i>10) player_total += 10; // Sve slike imaju vrijednost 10;                        if(i>1 && i<11) player_total += i; // Sve ostale kartu, zadrzavaju vrijednost 'i';                                                deal++;                        }                                   idealer=rand()%13+1;           if(idealer>10){           printf("\n\nDealer ima total: 10");           }           else{           printf("\n\nDealer ima total: %d", card[idealer]);           }           if(idealer<10)           dealer_total += idealer;           else           dealer_total += 10;           } // End function newhand(); blackjack() {            if((i>=10 && player_total==11) || (player_total == 21))            {                     printf("\n\nBLACKJACK !");                     p++;                     getch();                     main();                     } }                                  int main() {     system("CLS");     title();     newhand();     blackjack();     printf("\n\n%d", player_total);     printf("\n%d", dealer_total);             getch(); } // End of fuction main(); title() {        printf("-------------------------------------------------------------------------------\n");        printf("-----------------------------------BLACKJACK-----------------------------------\n");        printf("                                                   WINS   Player: %d  House: %d\n", p, h);        printf("\n"); } // End of fuction title()        

Poceo sam da radim igru BlackJack da malo vise proucim i da se ustosam malo u jeziku C (ovo je dio koda koji sam do sad ispisao)
E sad, sve normalno radi osim, ako dobijem BlackJack (kec + karta sa vrijednoscu 10), tada treba da ocisti ekran, i da pocne novu ruku. E sad kada on obrise ekran i ispise title() funkciju, treba da izvrsi newhand() funkciju a to je da na ekranu printaa sledece

Player's hand:
Karta1 Karta2

Ali on ne ispisuje karte, samo ostavi prazno i opet kaze da je BlackJack, i sve tako... Pomoc plsss Smile
Mozda je kod malo neuredan, ima par komentara koje sam za sebe ostavio da znam sto znaci i da se ja lakse snadjem, a nadam se da ce te se i vi snaci Very Happy

EDIT: Uspio sam da nadjem gresku, treba staviti deal=0; na pocetku newhand() funkcije, ako se ne stavi, program prodje kroz petlju while, i deal dobije vrijednost 2, kasnije ne moze da prodje kroz petlju jer trebada bude uslov deal<2 a kako je deal ostao 2, uslov nije ispunjen Very Happy



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
Ko je trenutno na forumu
 

Ukupno su 868 korisnika na forumu :: 55 registrovanih, 5 sakrivenih i 808 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 20624 - dana 04 Apr 2026 04:18

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: 04bokibole, 6footboy, 9191vs, asdfjklc, bakos022, Belac91, Bobrock1, BZ, ceman, darkojbn, deks, deLacy, delboy, draganl, Giskard, gregorxix, Hamo77, Jaxupa, Jeremiah, JOntra, krasta, kybonacci, Lester Freamon, Litostroton, LUDI, mainstream, Malahit, Malik, marre, marsi, milenko crazy north, MiljanXD, miodrag, Mitch22, Mitraljeta, mnn2, paja69, Pilipenda, pirke96, predragc, Radoslava, saputnik plavetnila, shaja1, Sioux7674, skok, Stevan2026, Toper, TRAVUNIJA, vathra, Vlada76, voja64, x011, yufighter, Yugol33, ZlatniRez