Comments (9)
Look more closely at the input lists. There's no typo, and no sum. The values of the output list correspond to the keys of the input list.
from haskell.
I see the problem now. I was under the impression that the scores were static, not dynamic.
It might be good to mention this point in the README since this is a large deviation from how Scrabble is actually played (offline anyways).
Thanks for the clarification.
from haskell.
Doug, when you mean that the scores are dynamic in the test suite, can you be more specific? In my reading of the exercise, the scores are static.
from haskell.
By static, my meaning is that a B will always have a score of 3, no matter the context (a rule-set for a round of the game for example). By dynamic I mean that in one context the B might have a score of 3 while in another context it might have a score of 4.
On line 25 of the test suite B has a value of 4 while on line 33 it has a value of 3.
So from the assumption that the scores assigned to each letter are static (my assumption after having read the README and only having played the game offline) this seems like a typo because it's unknown that B (or any other letter) can have a variety of scores assigned to it. This is where the confusion stemmed from.
from haskell.
Having the test provide different inputs makes it harder to implement this the wrong way. You're not supposed to hard-code anything at all about scores for this exercise, only transform one representation to another.
Scores don't change during the play of a given game, but there are different variations of the game that use different tables for scoring. Even in official Scrabble, each language has a different table for scores and a different tile distribution, due to different letter distributions in common words from that language.
from haskell.
Yeah, scrabble scores in Norway where I grew up are quite different. (K is a common letter, for example, and gets a much lower score than in English speaking countries). Perhaps it would be worth explicitly using different scoring tables from different countries in order to ensure that the test input doesn't let you hard-code things, while still not confusing people about scoring.
from haskell.
After reading the explanations I think that the reasoning as to why B has been assigned multiple values is really sound. Just a quick heads up in the README would probably be enough to prevent confusion (at least in my case).
from haskell.
Perhaps you could submit a PR to change the wording in the README in a way
that would've helped you?
On Tuesday, September 23, 2014, DougBrunner [email protected]
wrote:
After reading the explanations I think that the reasoning as to why B
has been assigned multiple values is really sound. Just a quick heads up in
the README would probably be enough to prevent confusion (at least in my
case).—
Reply to this email directly or view it on GitHub
#27 (comment).
from haskell.
I'd be happy to. It's done.
from haskell.
Related Issues (20)
- [Learning Mode] Discussion: How do we best introduce case-expressions? HOT 5
- [Learning Mode] Discussion: building up to Pattern Matching HOT 26
- Which memoization library to use? HOT 3
- [Learning Mode] make learning track visible HOT 1
- Build error (connection failure, `Cabal file info not found...`) HOT 2
- Continuation of development of Learning Mode? HOT 3
- Intention behind not updating a Queen Attack test HOT 2
- docs: contributing instructions regarding versioning are out of date HOT 2
- Binary Search Tree: add test cases for `bstRight`, `bstLeft` HOT 5
- README: Replace outdated information about hints.md with correct information
- Are hints.md files rendering properly? HOT 1
- Add test to check for eligible boards where queen is on rightmost column in queen attack HOT 3
- Exercise Zipper: instruction is out of date HOT 1
- Building a training set of tags for haskell HOT 21
- exercism cli not installing most recent version of project template HOT 2
- Roman numerals doesn't test for Nothing HOT 1
- Phone Number exercise tests are out of sync with problem-specifications HOT 1
- CI is broken
- Satellite requires unnatural edge case checking HOT 1
- New maintainer HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from haskell.