질문이 있습니다. 나는이 PHP 스크립트를 만들었지 만, 에이스가 제대로 작동하지 않는다는 것을 제외하면 잘 작동한다. 내가 5 A 5 5를 뽑으면 26 등이 있다고 생각합니다.PHP 기반 블랙 잭 스크립트 (에이스)
누구든지이 문제를 해결하는 방법을 알고 있습니까? evaluateHand에 기능 :
function evaluateHand($hand) {
global $faces;
$value = 0;
foreach ($hand as $card) {
$values = explode("|",$card);
$value1= $values[0];
if($value1=="Q" OR $value1=="J" OR $value1=="K"){
$value = intval($value) + 10;
}
if ($value > 10 && $value1 == "A") {
$value = intval($value) + 1; // An ace can be 11 or 1
}
elseif($value < 12 && $value1 == "A"){
$value = intval($value) + 11; // An ace can be 11 or 1
}
else {
$value = intval($value) + intval($value1);
}
}
return $value;
}
'global $ faces;'? 코드 냄새? –
무엇을 의미합니까? Faces는 $ suits = array ("spades", "clubs", "hearts", "diamonds"); \t $ faces = array (1 => "A", "2", "3", "4", "5", "6", "7", "8", "9" "J", "Q", "K"); –
또한'$ values = explode ('|', '$ card);는 무엇입니까? 나는 카드가 "A | 스페이드"또는 "10 | 클럽"과 같은 것이라고 추측하고 있습니까? 먼저 좋은 모델을 기반으로 카드를 얻으십시오. 그런 다음 카드를 추가하기위한 논리가 그렇게 어렵지 않아야합니다. 루비에서 카드 덱을 설정하는 방법은이 질문에 대한 [내 대답] (http://stackoverflow.com/a/2641421/184600)을 참조하십시오. –