Advertisement
ShadowEmbrace

Playing Cards

Nov 12th, 2018
156
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.07 KB | None | 0 0
  1. <?php
  2.  
  3. $playersCards = [];
  4.  
  5. $cmd = explode(': ', readline());
  6.  
  7. while ($cmd[0] !== 'JOKER') {
  8.     $player = $cmd[0];
  9.     $cards = explode(', ', $cmd[1]);
  10.  
  11.     if (!key_exists($player, $playersCards)) {
  12.         $playersCards[$player] = [];
  13.     }
  14.     for ($i = 0; $i < count($cards); $i++) {
  15.         if (!in_array($cards[$i], $playersCards[$player])) {
  16.             $playersCards[$player][] = $cards[$i];
  17.         }
  18.     }
  19.  
  20.     $cmd = explode(': ', readline());
  21. }
  22.  
  23. foreach ($playersCards as $player => $hand) {
  24.     $sumCard = 0;
  25.     $sumHand = 0;
  26.     foreach ($hand as $card) {
  27.         if (strlen($card) === 3) {
  28.             $sumCard += 10;
  29.             if ($card[2] === 'S') {
  30.                 $sumCard *= 4;
  31.             } elseif ($card[2] === 'H') {
  32.                 $sumCard *= 3;
  33.             } elseif ($card[2] === 'D') {
  34.                 $sumCard *= 2;
  35.             }
  36.         } else {
  37.             for ($j = 0; $j < strlen($card); $j++) {
  38.                 if (is_numeric($card[$j])) {
  39.                     $sumCard += intval($card[$j]);
  40.                 } else {
  41.                     switch ($card[$j]) {
  42.                         case 'S':
  43.                             $sumCard *= 4;
  44.                             break;
  45.                         case 'H':
  46.                             $sumCard *= 3;
  47.                             break;
  48.                         case 'D':
  49.                             $sumCard *= 2;
  50.                             break;
  51.                         case 'J':
  52.                             $sumCard += 11;
  53.                             break;
  54.                         case 'Q':
  55.                             $sumCard += 12;
  56.                             break;
  57.                         case 'K':
  58.                             $sumCard += 13;
  59.                             break;
  60.                         case 'A':
  61.                             $sumCard += 14;
  62.                             break;
  63.                     }
  64.                 }
  65.             }
  66.         }
  67.         $sumHand += $sumCard;
  68.         $sumCard = 0;
  69.     }
  70.     echo "$player: $sumHand" . PHP_EOL;
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement