2016-09-10 104 views
-1

我在學校有一門功課,it's不是必需的,但我想做的事情。紙牌遊戲「戰爭」在PHP

我必須通過數組在PHP中創建一個遊戲,但我不知道怎麼用。 所以我做了開始時,我有問題,這一點,如你所知,在卡牌遊戲「戰爭」,是鴕鳥政策repeate同一張卡,所以我不知道如何使用array_push也許array_pop? 然後,我怎麼能與SVG-IMG卡雙碼?

$arr = array('one', 'two', 'three', 'four', 'five' , "six" , "seven"); 
shuffle($arr); 
$number = count($arr); 

for ($x=6; $x < $number; $x++) { 
echo $arr[$x]; 
} 
+0

不知道什麼*遊戲*您正在開發,但裏面'for'環路初始化是錯誤的,改變'$ X = 6'到'$ x = 0'。 –

+0

在真實物質中,它是遊戲,當你和某人玩時,你從所有卡片中拿出一半,而另一個人拿到第二包。然後卡被解釋,並且具有更大價值卡的人獲勝。所以,在PHP中,不能重複已經使用過的同一張卡片。所以我需要的數字,已被使用,不要重複。 – Nol

+0

* hmm *。鑑於上面的評論,我在下面提供了一個解決方案。 –

回答

0

從您的評論,

在材料真實,it's的遊戲,當你與別人玩,你必須從所有卡的一半包,和另一個人有第二包。然後卡被解釋,並且具有更大價值卡的人獲勝。所以,在PHP中,不能重複已經使用過的同一張卡片。所以我需要的數字,已被使用,不要重複。

或CEO(只是舉一個例子),讓我們假設我們有面額1的6卡6. 遊戲解決方案會是這樣的:

(通過下面的評論GO)

// Hypothetically, lets assume we have 6 cards of denomination 1 to 6 
$cards = array(1, 2, 3, 4, 5, 6); 

// Shuffle the cards 
shuffle($cards); 

// Count total number of cards 
$number = count($cards); 

// Give half of the cards to player 1 and half of the cards to Player 2 
list($player1_cards, $player2_cards) = array_chunk($cards, $number/2); 

// Both the players started playing the game: 
// Let say this game will be played based on randomness 
for($i = 0; $i < $number/2; ++$i){ // Number of rounds 
    // Both the players draw a random card 
    $player1_card_key = array_rand($player1_cards); 
    $player2_card_key = array_rand($player2_cards); 

    // Compare their denominations and check who won this round 
    $output = $player1_cards[$player1_card_key] > $player2_cards[$player2_card_key] ? 'Player 1' : 'Player 2'; 
    echo $output . ' won this round. <br />'; 

    // Make sure that players don't use the same card again 
    unset($player1_cards[$player1_card_key], $player2_cards[$player2_card_key]); 
} 

這裏有必要引用:

+0

哇,謝謝你的男人。我只是初學者,所以我大概知道,什麼是什麼。所以,非常感謝你,你幫助了我。 <3 ^^ – Nol

+0

但是,我怎麼能做到這一點,這些數字不重複?卡片佈局時不會使用。有一些遊戲的例子:[WARGAME](https://cardgames.io/war/) – Nol

+0

@Nol請知道,SO不是代碼寫入服務,並且我已經給了*足夠的信息給你一個開始。嘗試實現遊戲邏輯,如果你在任何時候都陷入困境,可以隨時詢問SO。 –