Rojhatx adlı üyeden alıntı: mesajı görüntüle
Kafamda şöyle bir proje var,
Bir buton ile 1000 adet kazı kazan kartı üreteceğim. 200 tane kart 15.000 TL kazandıracak 50 tane kart 50.000 TL kazandıracak, 25 tane kart 100.000 TL kazandıracak şeklinde. Yani anlatmak istediğin 1000 tane karttan 275 tanesi kazandıracak.
Bu bir oyundur sanal paralar olacak. Gerçek para kesinlikle geçerli değildir.
<?php 
    
    $b = new bilet();
    $b->yarat(0, 10);
    $b->yarat(1, 5);
    $b->yarat(2, 5);
    $b->yarat(3, 5);
    
    while(($bilet = $b->al()))
    {
        $o = implode("-", $bilet) ;
        
        $max = max(array_count_values($bilet));
        if($max == 3)
        {
            $o .= " *** ";
        }
        
        echo $o . PHP_EOL;
    }
    
    class bilet
    {
        public $biletler = array();
        public $oduller = array();
        
        public function __construct()
        {
            
        }
        
        public function toplam()
        {
            return count($this->biletler);
        }
        
        public function al()
        {
            $bilet = array();
            $biletOdulu = array_shift($this->biletler);
            
            if(is_null($biletOdulu))
            {    
                return false;
            }
            
            if($biletOdulu > 0)
            {
                $bilet = array_fill(0, 3, $biletOdulu);
            }
            
            foreach($this->oduller as $odul)
            {
                if(!in_array($odul, [0, $biletOdulu]))
                {
                    array_push($bilet, $odul, $odul);
                }
            }
            
            $bilet = array_slice($bilet, 0, 6);
            shuffle($bilet);
            
            return $bilet;
        }
        
        public function yarat($odul, $miktar)
        {
            array_push($this->oduller, $odul);
            
            for($i = 0; $i <= $miktar - 1; $i++)
            {
                $this->biletler[$i + $this->toplam()] = $odul;
            }
            
            shuffle($this->biletler);
        }
    }