MOKTAR

par davidnurdin · Remakes
pas encore noté
▶ Jouer Sources Éditer GitHub
. / src / Titus / ElevatorsTrait.php · commit 2fb9809
<?phpnamespace App\Titus;/** * elevators.c: moving platforms. */trait ElevatorsTrait{    /** Move elevators, is called by main game loop */    public function MOVE_TRP(Level $level): void    {        for ($i = 0; $i < $level->elevatorcount; $i++) {            $elevator = $level->elevator[$i];            if (!$elevator->enabled) {                continue;            }            $elevator->sprite->x += $elevator->sprite->speedX;            $elevator->sprite->y += $elevator->sprite->speedY;            $this->MTSBR($elevator);            if (($elevator->sprite->x + 16 - ($this->BITMAP_X << 4)) >= 0 // +16: closer to center                && ($elevator->sprite->x - 16 - ($this->BITMAP_X << 4)) <= self::screen_width * 16 // -16: closer to center                && ($elevator->sprite->y - ($this->BITMAP_Y << 4)) >= 0                && ($elevator->sprite->y - ($this->BITMAP_Y << 4)) - 16 <= self::screen_height * 16) {                $elevator->sprite->invisible = false;            } else {                $elevator->sprite->invisible = true; // Not necessary, but to mimic the original game            }        }    }    private function MTSBR(Elevator $elevator): void    {        $elevator->counter++;        if ($elevator->counter >= $elevator->range) {            $elevator->counter = 0;            $elevator->sprite->speedX = -$elevator->sprite->speedX;            $elevator->sprite->speedY = -$elevator->sprite->speedY;        }    }}