phetsims / expression-exchange

"Expression Exchange" is an educational simulation in HTML5, by PhET Interactive Simulations.
GNU General Public License v3.0
2 stars 2 forks source link

Remove Next button and smiley face after completing all levels #108

Closed phet-steele closed 7 years ago

phet-steele commented 7 years ago

After conferring with @amanda-phet, we landed on the idea to remove the Next button (and smiley face, referred to collectively) each time all levels have been completed. In other words, the Next button would be removed in conjunction with the appearance of the final game completion dialog. To clarify, the Next button would remain in each level for the extent of play time prior to completing all levels, so:

  1. Start on level 3. Complete it, get Next button.
  2. Go to level selection.
  3. Go to level 2.
  4. Complete it, get Next button.
  5. Click Next to go to level 3. Next button is still there from original completion in step 1.

.... (many steps later)

  1. Complete all levels, get "Done" button.
  2. Click "Done".
  3. Go to level 3. Next button is not there, but level is still completed.
  4. Complete level 3, get Next button.

We want to retain the Next button for easy level navigation. However, that navigation is not needed after all levels are completed. After all levels are completed, we would "wipe the slate" on all existing Next buttons. Since we would like to encourage replay-ability to complete all levels multiple times, levels with and without a Next button are an easy way to distinguish between levels that need to be re-completed and those that don't.

For phetsims/tasks/issues/860.

amanda-phet commented 7 years ago

Just to clarify the scenario above, the below scenario also needs to be possible:

  1. Start on level 3. Complete it, get Next button.
  2. Click Next button. Realize level 4 is too difficult.
  3. Go to level selection.
  4. Go to level 2.
  5. Complete it, get Next button.
  6. Click Next to go to level 3. Next button is still there from original completion in step 1.
jbphet commented 7 years ago

I've added code to do this and have done a minimal amount of testing. Since testing this is time consuming, I could use some help. Assigning the @phet-steele to test on master (or delegate).

phet-steele commented 7 years ago

@jbphet, not sure if this is a result of the commits in this issue or another:

  1. Reach the completion dialog
  2. Don't press Done or the back button, but press refresh

The completion dialog does not get dismissed. This is new and does not happen in 1.1.0-dev.3

jbphet commented 7 years ago

Ah, hadn't thought of that case. It should now be handled. I also added a query param minimalGameLevels that reduces the number of levels to 2 in order to make it faster to test the behavior when all levels are completed. Back to @phet-steele to test on master.

phet-steele commented 7 years ago

That query parameter made me laugh! Anyway, I believe we have achieved a clean game flow!