[ create a new paste ] login | about

Link: http://codepad.org/03hMI92k    [ raw code | fork ]

PHP, pasted on Dec 17:
<?php

/**
 * Klasa reprezentująca talię
 */
class Talia {
    /* @var $talia Karta[] */
    private $talia = array();

    /**
     * Konstruktor inicjujący talię
     */
    public function __construct() {
        $kolory = array('Kier', 'Karo', 'Trefl', 'Pik');
        $wartosci = array('As', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'Jupek', 'Dama', 'Krol');
        foreach($wartosci as $wartosc) {
            foreach ($kolory as $kolor) {
                $this->talia[] = new Karta($kolor, $wartosc);
            }
        }
    }
    /**
     *
     * @return Karta losowa karta
     */
    public function wybierzLosowa() {
        $index = array_rand($this->talia);
        $karta = $this->talia[$index];
        unset ($this->talia[$index]);
        return $karta;
    }
    /**
     *
     * @param Karta $karta wybiera Kartę, o ile jest w talii
     * @return Karta
     */
    public function wybierzKonkretna(Karta $karta) {
        $index = $this->wTalii($karta);

        if( $index !== false ) {
            unset( $this->talia[ $index ] );
            return $karta;
        } else {
            return false;
        }
    }
    /**
     *
     * @param Karta $karta dodaje kartę do talii, o ile już nie istnieje
     * @return bool true jeżeli dodane, false w przeciwnym wypadku
     */
    public function odlozDoTalii(Karta $karta) {
        if( $this->wTalii($karta) === false ){
            $this->talia[] = $karta;
            return true;
        } else {
            return false;
        }
    }

    private function wTalii(Karta $karta) {
        return array_search($karta, $this->talia);
    }

}


Create a new paste based on this one


Comments: