我使用PHP进行了一场纸牌游戏,而现在剩下的只是回声,而不是回声,10,3,Queen,King,例如,当我画一个国王时,它应该回应一个随机的国王。我真的不知道应该怎么做。
目前我有这个功能来显示玩家和经销商的手(这个是经销商):
function list_dealer_hand() {
foreach($_SESSION["dealer_hand"] as $hand_item) {
echo $hand_item . ', ';
echo '<img src="cardImages/h10.jpeg" border=0> ';
}
}
第一个回声将使用文本回应出经销商手中的内容,如10,Queen,Ace。例如。而在它下面的回声是一个回声,它将回应出h10.jpeg,在这种情况下是10个心脏。我在一个名为cardImages的文件夹中有所有西装的所有卡片。
有没有可能,例如,如果经销商手中有一个10,它会从图像文件夹中随机获取10个?
我目前用于卡片的阵列:
if(!isset($_SESSION["dealer_pile"])) $_SESSION["dealer_pile"] = array(
'Jack', 'Queen', 'King', 'Ace', '10', '9', '8', '7', '6', '5', '4', '3', '2'
);
我感谢任何帮助或推动正确的方向!提前谢谢!
编辑:卡片案例:
// Case for each card, points
function get_card_value($card, $current_total) {
switch($card) {
case "King":
case "Queen":
case "Jack":
case "10":
return 10;
case "Ace":
return ($current_total > 10) ? 1 : 11;
case "9":
case "8":
case "7":
case "6":
case "5":
case "4":
case "3":
case "2":
return (int) $card;
}
return 0;
}
答案 0 :(得分:2)
我知道你想要用相应的“套装”字母创建一堆卡片。如何使用此函数创建随机堆:
function createRandomPile($limit) {
$suits = array('h', 's', 'd', 'c');
$cards = array(
'Jack', 'Queen', 'King', 'Ace',
'10', '9', '8', '7', '6',
'5', '4', '3', '2'
);
$pile = array();
foreach (range(1, $limit) as $i) {
$card = $cards[array_rand($cards)];
$suit = $suits[array_rand($suits)];
$pile[] = array($card, $suit);
}
return $pile;
}
$pile = createRandomPile(2);
/*
Returns something like:
array(2) {
[0]=>
array(2) {
[0]=>
string(5) "Queen"
[1]=>
string(1) "c"
}
[1]=>
array(2) {
[0]=>
string(1) "9"
[1]=>
string(1) "s"
}
}
*/
该功能将创建一堆$ limit卡,这些卡随机和数字随机。你可以这样使用它:
foreach ($pile as $card) {
$type = $card[0]; // King, 10, Ace, etc.
$suit = $card[1]; // h, s, d or c.
$image = $suit . $type; // hKing.
// I don't know where $current_total comes from
$value = get_card_value($type, $current_total);
}
我不知道这对你是否有用D: