/** * @inheritdoc */ public function isScored($field, $multiplier) { $isScoredField = in_array($field, self::$SCORED_FIELDS); if ($isScoredField) { $sum = Hit::select('sum(multiplier)')->where(['game_user_id' => $this->game->current_game_user_id, 'field' => $field])->fetch(); $hitCountBeforeCurrentHit = Arrays::first($sum) - $multiplier; return $hitCountBeforeCurrentHit < 3; } return false; }
/** * @param int $field * @return int */ public function getScore($field) { $sum = Hit::select('sum(multiplier)')->where(['game_user_id' => $this->id, 'field' => $field])->fetch(); return min($sum[0], self::POSSIBLE_SHOTS); }