offline
- clzola

- Građanin
- 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
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
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
|