Learn Intermediate OOP by Building a Platformer Game - Step 117

Tell us what’s happening:

Sorry, your code does not pass. You’re getting there.

You should add an else if clause to check is the player’s x position is greater than or equal to the checkpoint’s x position and less than or equal to the checkpoint’s x position plus 40.

Your code so far

<!-- file: index.html -->

/* file: script.js */
// User Editable Region

     

      if (index === checkpoints.length - 1) {
        isCheckpointCollisionDetectionActive = false;
        showCheckpointScreen("You reached the final checkpoint!");
        movePlayer("ArrowRight", 0, false);
        // Step 117
// The last thing you will need to do is add an else if statement.

if (player.x < checkpoint.x) {
    // Existing code for when player hasn't reached the checkpoint
} else if (player.x >= checkpoint.x && player.x <= checkpoint.x + 40) {
    // Your condition should check if the player's x position is greater than or equal to the checkpoint's x position
    // and less than or equal to the checkpoint's x position plus 40.

    showCheckpointScreen("You reached a checkpoint!");
    // Inside the body of the else if statement, you will need to call the showCheckpointScreen function
    // and pass in the string "You reached a checkpoint!" as an argument.
}

// Congratulations! You have completed the platformer game project

      }


// User Editable Region
/* file: styles.css */

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36 Edg/127.0.0.0

Challenge Information:

Learn Intermediate OOP by Building a Platformer Game - Step 117

Hi @westonllldan,

You won’t need the extra if-statement: if (player.x < checkpoint.x).

You’ll use the else if after the if (index === checkpoint.length - 1) { ... } block.

Within your if else condition, you want to tell the interpreter how to find the x-position for the player and checkpoint.

So you’ll be laying out a path to where the current x-position is located: player.something.x and checkpoint.something.x. Look in the classes for Player and CheckPoint to see how these are tracked.

I hope this helps. Happy coding!

You are going to need an else if condition code >= code && code <= code + number Looking at you commented code you need more chaining here. Good luck