kod, ktery mel byt dole zpravy, ale Edge mi ho na tomto forku z nejakeho duvodu dal na zacatek (proto taky chodim treba na https://www.itnetwork.cz/…programovani)
function cc(card){
var holdbet, count;
count = 0;
switch(card)
{
case 2: case 3: case 4: case 5: count++; break;
case 10: case "J": case "K": case "Q": case "A": count--; break;
// default nic?
}
holdbet = "Hold!";
if(count>0) {holdbet = "Bet!";}
return count + " "+ holdbet;
}
//count = 0;
shockwave
- pouzivej <? tlacitko editoru pro vlozeni kodu
// kod na počítání karet v BJku, nízké karty se počítají za 1 a vysoké karty za -1
function cc(card){
var holdbet;
switch(card)
{
case 2: case 3: case 4: case 5: count++; break;
case 10: case "J": case "K": case "Q": case "A": count--; break;
// default nic?
}
holdbet = "Hold!";
if(count>0) {holdbet = "Bet!";}
return count + " "+ holdbet;
}
var count = 0;
cc(2); cc(10); cc("K"); cc("Q"); cc("A"); cc("J");
console.log(cc("K")); // tomuto nerozumim
Trochu jsem ti ten kod upravil. Ty case, dokud je nezastavis breakem, tak se chovaji jako
if (card==2 || card==3 || card==4 ...) {count++;}
Pouziti te funkce mas nejak divne.
Nejdriv je count 0.
cc(2): case 2 count++, count=1, count>1 a vypise se hold --- !!! ono se nic nevypise, protoze return hodnotu nevypisujes (totez skoro vsechny ostatni radky), count + " "+ holdbet
cc(10): case 10: count--, count=0, !(count>1) a vypise se bet
cc(K): case K: count--, count=-1, !(count>1) a vypise se bet
cc(Q): case Q: count--, count=-2, !(count>1) a vypise se bet
cc(A): case A: count--, count=-3, !(count>1) a vypise se bet
cc(J): case J: count--, count=-4, !(count>1) a vypise se bet
console.log(cc("K")) case K: count--, count=-5, !(count>1) a vypise se bet --- !!! vypise se do logu (Firefox - nastroje - nastroje pro vyvojare - konzola (log)
Ok. A proc neni count uvnitr? Netusim. Neznam tu hru a jeji pravidla.
Zalezi na tom, jak to ma fungovat. Ted to funguje tak, ze count je GLOBAL. Pokud pouzijes funkci opakovane, tak na vysledek funkce ma vliv predchozi vysledek. Pokud se to tak chovat nema, staci ti jen vyhodnotit, jestli je karta z jedne sady nebo druhe a v dalsim kroku nezalezi na predchozi karte, pak klidne count muze byt uvnitr.