File "CrazyTimes.php"
Full Path: /home/trinadezambia/public_html/gambling/app/Games/CrazyTimes.php
File size: 2.75 KB
MIME-type: text/x-php
Charset: utf-8
<?php
namespace App\Games;
use App\Constants\Status;
class CrazyTimes extends Game
{
protected $alias = 'crazy_times';
protected $extraValidationRule = [
'choose' => 'required|in:1,2,5,10,coin_flip,pachinko,cash_hunt,crazy_times'
];
protected function gameResult()
{
$probableWin = $this->demoPlay
? $this->game->probable_win_demo
: $this->game->probable_win;
$random = mt_rand(0, 100);
if ($random <= $probableWin) {
$win = Status::WIN;
} else {
$win = Status::LOSS;
}
$resultOption = [1, 2, 5, 10, 'coin_flip', 'pachinko', 'cash_hunt', 'crazy_times'];
$winAmount = 0;
$result = null;
if (in_array($this->request->choose, $resultOption)) {
if ($win) {
$result = $this->request->choose;
switch ($result) {
case 1:
$winAmount = $this->request->invest + $this->request->invest * 1;
break;
case 2:
$winAmount = $this->request->invest + $this->request->invest * 2;
break;
case 5:
$winAmount = $this->request->invest + $this->request->invest * 5;
break;
case 10:
$winAmount = $this->request->invest + $this->request->invest * 10;
break;
case 'coin_flip':
$winAmount = $this->request->invest + ($this->request->invest * ($this->game->level[0] ?? 0) / 100);
break;
case 'pachinko':
$winAmount = $this->request->invest + ($this->request->invest * ($this->game->level[1] ?? 0) / 100);
break;
case 'cash_hunt':
$winAmount = $this->request->invest + ($this->request->invest * ($this->game->level[2] ?? 0) / 100);
break;
case 'crazy_times':
$winAmount = $this->request->invest + ($this->request->invest * ($this->game->level[3] ?? 0) / 100);
break;
}
} else {
$otherResultOption = array_diff($resultOption, [$this->request->choose]);
$result = $otherResultOption[array_rand($otherResultOption)];
}
}
$winLossData['win_amount'] = $winAmount;
$winLossData['win_status'] = $win;
$winLossData['result'] = $result;
$this->extraResponseOnStart = array_merge($this->extraResponseOnStart, [
'point' => $result
]);
return $winLossData;
}
}