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 828 korisnika na forumu :: 13 registrovanih, 1 sakriven i 814 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: avijacija, bbrasnjo3, benne, DekiMk, EXIT78, Makeitdrip, nebojsag, nnnnnnnnnn, opt1, pacika, repac, Slingshot, vrlenija