flukeout / css-diner

CSS Diner
http://cssdiner.com
Mozilla Public License 2.0
2.71k stars 342 forks source link

Levels 16 and 17: More specific scenarios #121

Open CarloMartini opened 8 years ago

CarloMartini commented 8 years ago

Level 16 can be solved just by writing "plate apple, plate pickle", while Level 17 with "apple, pickle".

So it's not clear why should we be using pseudo-selectors.

flukeout commented 8 years ago

@CarloMartini It's hard to make it so that just ONE pseudo-selector (for example) can solve a level, there are many different selectors that can solve individual levels. What I'm thinking about doing is..

However, @manscisce suggested that that would limit people from testing different things out and having a kind of sandbox to try selectors in. I'm not sure how I'll solve his yet. Maybe with a 'strict' mode and a 'sandbox' mode?

What are your thoughts?

CarloMartini commented 8 years ago

Thanks for the answer, @flukeout !

My issue is more "didactic" than technical. If CSS Diner is used to learn selectors, I believe scenarios should be laid out so that choosing a certain selector seems a quite logical and simple step, and the user gets to actually understand why those selectors were invented in the first place... Even if, of course, there will always be multiple possible choices. At least in those two levels, I couldn't grasp the utility of the pseudo-selectors.

Anyway, regarding the solution of the levels, how about a middle ground, like printing a simple message like "Your choice work, but to pass the level please use the described selector".

flukeout commented 8 years ago

Yeah, or having two-tier 'completed' status. You can clear the level with any selector, but you only get a 'star' if you use the one dictated by the level.

I know what you mean about the selectors seeming arbitrary sometimes, but since you can only place a few elements on the table without things getting cluttered, it's hard to mimic real-world scenarios where a fancy pseudo-selector would be the only way to go.

Do you have suggestions for those levels that would make using the pseudo-selectors more intuitive?