Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Seemingly impossible level #60

Closed
KatieWoe opened this issue Jan 4, 2019 · 18 comments
Closed

Seemingly impossible level #60

KatieWoe opened this issue Jan 4, 2019 · 18 comments
Assignees
Labels
type:bug Something isn't working

Comments

@KatieWoe
Copy link

KatieWoe commented Jan 4, 2019

Test device:
Dell Laptop
Operating System:
Win 10
Browser:
Chrome
Problem description:
For phetsims/qa#250
Upon first starting the Level 10 matching fractions to shape level on the Build a Fraction screen, I encountered a seemingly impossible level. Neither @phet-steele or I could solve it. I haven't seen other impossible levels, but will keep looking and update this issue with other instances.
Conversation:

Kathryn Woessner [10:59 AM]
Since you're more familiar with the mechanics, I thought I'd ask you before making an issue. I have run into an instance where I don't think I can beat a level, but it may be that I'm missing a mechanic. Is there a way to add a whole number to this fraction?
cantbeat

Steele Dalton [11:02 AM]
if you can't beat a level, you need to answer other questions a different way
let me look for a sec

Kathryn Woessner [11:02 AM]
I've tried, but there's no combo I can find
It either needs to be 9/10 or 1 4/5
Neither is possible

Steele Dalton [11:04 AM]
so before answering the second one, you have a 1, two 4s, a 5, and a 6?

Kathryn Woessner [11:05 AM]
Yes
It could be 1 1/2, 3/2, or 6/4. I can't figure out how to use mixed numbers and 3 was never available

Steele Dalton [11:08 AM]
then...I don't see how this is possible? only way to get 1.5 with those is 6/4. and if you can't use mixed numbers then you are stuck. Because I'm pretty sure 1/9 and 5/7 HAVE to be answered that way since they cannot be reduced and 2/18 or 10/14 is not an option.
and working backwards, trying to get 1.8 as a fraction...
9/5?
yea 9/5
but the nine is needed for the first one

Kathryn Woessner [11:10 AM]
Yeah

Steps to reproduce:

  1. Go to the build a fraction screen
  2. Select the Level 10 on the bottom row
  3. If level is possible, hit refresh button to keep looking

Screenshots:
cantbeat

Troubleshooting information (do not edit):

Name: ‪Build a Fraction‬
URL: https://phet-dev.colorado.edu/html/build-a-fraction/1.0.0-dev.17/phet/build-a-fraction_en_phet.html
Version: 1.0.0-dev.17 2019-01-04 01:10:24 UTC
Features missing: touch
Flags: pixelRatioScaling
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36
Language: en-US
Window: 1536x732
Pixel Ratio: 2.5/1
WebGL: WebGL 1.0 (OpenGL ES 2.0 Chromium)
GLSL: WebGL GLSL ES 1.0 (OpenGL ES GLSL ES 1.0 Chromium)
Vendor: WebKit (WebKit WebGL)
Vertex: attribs: 16 varying: 30 uniform: 4096
Texture: size: 16384 imageUnits: 16 (vertex: 16, combined: 32)
Max viewport: 16384x16384
OES_texture_float: true
Dependencies JSON: {}

@KatieWoe KatieWoe added the type:bug Something isn't working label Jan 4, 2019
@KatieWoe
Copy link
Author

KatieWoe commented Jan 4, 2019

Hit refresh once, and found a seeming other instance:
moreimpossible

@KatieWoe
Copy link
Author

KatieWoe commented Jan 4, 2019

That's three out of three on this level
threeforthree

@phet-steele
Copy link

Could be why ?showAnswers asserts on this level in BAF.

@KatieWoe
Copy link
Author

KatieWoe commented Jan 4, 2019

Didn't try for as long, but it seems like this may be a problem in Fractions: Intro as well.
phetsims/qa#252
maybecant

@ariel-phet ariel-phet removed their assignment Jan 4, 2019
@rea-laura
Copy link

@jonathanolson found this problem again for phetsims/qa#250.

Occurs in Build a Fraction > Build a Fraction > Level 6 (lower level with shapes).
The problem only happens sometimes - most of the time the sim will give a solvable problem, but sometimes loads an unsolvable one.
32bb65dc-ca7c-4ba4-b7d5-7865591ba4aa

Katie also found the same problem on the corresponding introduction sim on the same level.
image

@rea-laura
Copy link

Found again on phetsims/qa#250

Build a Fraction > Build a Fraction > Level 7 (lower with shapes)

@KatieWoe
Copy link
Author

KatieWoe commented Jan 7, 2019

Since this seems to be happening most on Build a Fraction and corresponding Fraction Intro game screens where you are matching the fraction to the shape, I collected some more exact data. I played each of those 10 levels on Fractions Intro and recorded the possible vs impossible levels
Level: Possible: Impossible
1: 10: 0
2: 10: 0
3: 10: 0
4: 10: 0
5: 10: 0
6: 7: 3
7: 7: 3
8: 10: 0
9: 10: 0
10: 2: 8

@KatieWoe
Copy link
Author

KatieWoe commented Jan 7, 2019

@jonathanolson I believe this is another example. Found on iPad, Mixed Numbers sim, Level 4, building fractions to match shapes. phetsims/qa#253
image from ios

@jonathanolson
Copy link
Contributor

@jonathanolson I believe this is another example. Found on iPad, Mixed Numbers sim, Level 4, building fractions to match shapes. phetsims/qa#253

Would the following solve it?:

1 1/3
2 1/2
3 5/9

@KatieWoe
Copy link
Author

KatieWoe commented Jan 8, 2019

@jonathanolson It would. Good catch.

@jonathanolson
Copy link
Contributor

I believe I caught the refactoring error I made that introduced the main case for this (fixed above).

I'll run a number of tests to make sure current levels are always solvable.

@jonathanolson
Copy link
Contributor

Using the following hack code in console to test:

const generators = _.flatten( _.range( 1, 11 ).map( n => [
  phet.fractionsCommon.FractionLevel[ `level${n}Numbers` ],
  phet.fractionsCommon.FractionLevel[ `level${n}Shapes` ],
  phet.fractionsCommon.FractionLevel[ `level${n}NumbersMixed` ],
  phet.fractionsCommon.FractionLevel[ `level${n}ShapesMixed` ],
] ) );

generators.forEach( generator => {
  console.log( generator.name );
  for ( let i = 0; i < 100; i++ ) {
    const challenge = generator( 1, phet.fractionsCommon.FractionsCommonColorProfile.shapeBlueProperty );
    challenge.cheat();
  }
} );

As expected, numbers level 7 is still failing (has a different root cause of unsolvability).

@jonathanolson
Copy link
Contributor

@ariel-phet and @amanda-phet:

I believe the level 7 numbers design doc has a mistake in the following line:

-- Possible fractions sets from which to draw 2 each {1/2, 2/4, 3/6} ,
{1/3, 2/6, 3/9}, {2/3, 4/6, 3/9}, {1/4, 2/8}, {3/4, 6/8}

Instead of 2/3, 4/6, 3/9, I believe it should have 6/9. The resulting unsolvable levels look were resulting from this. Can I get confirmation? (Should be patched with the above commit).

@jonathanolson
Copy link
Contributor

Automated testing is showing 1000 generated challenges of each level are now passing.

@KatieWoe could you spot-check master to ensure levels 6/7/10 are looking solvable in general (should be the only ones affected by the changes).

@KatieWoe
Copy link
Author

KatieWoe commented Jan 8, 2019

Looks good on master

@KatieWoe KatieWoe assigned jonathanolson and unassigned KatieWoe Jan 8, 2019
@jonathanolson
Copy link
Contributor

I'm assigned. Should I close the issue or keep it open (and unassign), or is there something to do?

@KatieWoe
Copy link
Author

Close if you feel its done. If you think it will need more testing during rc or next dev test keep open, label appropriately, and link in next test. Its up to your discretion. @jonathanolson

@jonathanolson
Copy link
Contributor

Closing, thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type:bug Something isn't working
Projects
None yet
Development

No branches or pull requests

5 participants