Visa källkod

Nedanstående filer finns i denna katalog. Klicka på en fil för att visa dess innehåll.

bth-cards/

  1. .buildpath
  2. .project
  3. CCard.php
  4. CCardHand.php
  5. CDeck.php
  6. argyle.jpg
  7. card.php
  8. common.php
  9. deck.php
  10. grunge.jpg
  11. hand.php
  12. index.php
  13. sessDest.php
  14. sessions.php
  15. sessions_mroos.php
  16. source.php
  17. template.php
  18. tiles.jpg

Stäng "CCard.php"

<?php

// ===============================================================
// Contents: Kortkod.
// Author: Staffan Lindsgård
// ===============================================================

class CCard {

	private $cardSuite; // H (hearts), C (clubs), S (spade), D (diamond), X (none)
	private $cardValue; // 1-13
	private $cardFaceUp; // F (face) eller B (back)

	function __construct($aCardSuite='S', $aCardValue=1, $aCardFaceUp='B') {
		$this->cardSuite = $aCardSuite;
		$this->cardValue = $aCardValue;
		$this->cardFaceUp = $aCardFaceUp;
	}

	function __destruct() {
		;
	}

	public function FlipCard($act = 'inverse') {
		switch($act) {
			case 'up':
				{ $this->cardFaceUp = 'F'; } break;
			case 'down':
				{ $this->cardFaceUp = 'B'; } break;
			case 'inverse':
				default: { $this->cardFaceUp = ($this->cardFaceUp == 'F' ? 'B' : 'F'); } break;
		}
	}


	public function GetCardAsId() {
		return "{$this->cardSuite}{$this->cardValue}{$this->cardFaceUp}";
	}

	public function GetCardAsText() {
		$ctext = "";
		$centities = Array(
			'H' => '&hearts;',
			'S' => '&spades;',
			'D' => '&diams;',
			'C' => '&clubs;',
			'X' => '&Theta;',
			//'X' => '&#9733;',
		);

		$cclothes = Array(
			'11' => 'Kn',
			'12' => 'Q',
			'13' => 'K',
			'1' => 'E',
		);

		if($this->cardFaceUp=='B') {
			$ctext = "[?]";
		} else {
			if(isset($cclothes[$this->cardValue]) == false || $this->cardSuite == 'X') {
				$value = $this->cardValue;
			} else {
				$value = $cclothes[$this->cardValue];
			}
			$ctext = "<span class='csuite'>".$centities[$this->cardSuite]."</span><span class='cvalue'>".$value."</span>";
		}

		return $ctext;
	}

	public function GetCardAsCSS() {
		$ctext = $this->GetCardAsText();
		$css = "<div class='card ";
		if($this->cardFaceUp == 'B') {
			$css .= "f-down'>";
		} else {
			if($this->cardSuite == 'H' || $this->cardSuite == 'D') {
				$css .= "redcard ";
			} elseif ($this->cardSuite == 'S' || $this->cardSuite == 'C') {
				$css .= "blackcard ";
			} else {
				$css .= "speccard ";
			}
			$css .= "f-up'>";
		}

		$css .= "<span>".$ctext."</span></div>\n";
		return $css;
	}

}

?>