| OLD | NEW |
| (Empty) | |
| 1 import 'dart:html'; |
| 2 import 'dart:math'; |
| 3 |
| 4 // should remove tiles from here when they are selected otherwise the ratio is o
ff. |
| 5 |
| 6 String scrabbleLetters = 'aaaaaaaaabbccddddeeeeeeeeeeeeffggghhiiiiiiiiijkllllmmn
nnnnnooooooooppqrrrrrrssssttttttuuuuvvwwxyyz**'; |
| 7 |
| 8 List<ButtonElement> buttons = new List(); |
| 9 Element letterpile; |
| 10 Element result; |
| 11 ButtonElement clearButton; |
| 12 Element value; |
| 13 int wordvalue = 0; |
| 14 |
| 15 Map scrabbleValues = { 'a':1, 'e':1, 'i':1, 'l':1, 'n':1, |
| 16 'o':1, 'r':1, 's':1, 't':1, 'u':1, |
| 17 'd':2, 'g':2, 'b':3, 'c':3, 'm':3, |
| 18 'p':3, 'f':4, 'h':4, 'v':4, 'w':4, |
| 19 'y':4, 'k':5, 'j':8, 'x':8, 'q':10, |
| 20 'z':10, '*':0 }; |
| 21 |
| 22 void main() { |
| 23 letterpile = query("#letterpile"); |
| 24 result = query("#result"); |
| 25 value = query("#value"); |
| 26 |
| 27 clearButton = query("#clearButton"); |
| 28 clearButton.onClick.listen(newletters); |
| 29 |
| 30 generateNewLetters(); |
| 31 } |
| 32 |
| 33 void moveLetter(Event e) { |
| 34 Element letter = e.target; |
| 35 if (letter.parent == letterpile) { |
| 36 result.children.add(letter); |
| 37 wordvalue += scrabbleValues[letter.text]; |
| 38 value.text = "$wordvalue"; |
| 39 } else { |
| 40 letterpile.children.add(letter); |
| 41 wordvalue -= scrabbleValues[letter.text]; |
| 42 value.text = "$wordvalue"; |
| 43 } |
| 44 } |
| 45 |
| 46 void newletters(Event e) { |
| 47 letterpile.children.clear(); |
| 48 result.children.clear(); |
| 49 generateNewLetters(); |
| 50 } |
| 51 |
| 52 generateNewLetters() { |
| 53 Random indexGenerator = new Random(); |
| 54 wordvalue = 0; |
| 55 value.text = ''; |
| 56 buttons.clear(); |
| 57 for (var i = 0; i < 7; i++) { |
| 58 int letterIndex = indexGenerator.nextInt(scrabbleLetters.length); |
| 59 // should remove the letter from scrabbleLetters to keep the ratio correct |
| 60 buttons.add(new ButtonElement()); |
| 61 buttons[i].classes.add("letter"); |
| 62 buttons[i].onClick.listen(moveLetter); |
| 63 buttons[i].text = scrabbleLetters[letterIndex]; |
| 64 letterpile.children.add(buttons[i]); |
| 65 } |
| 66 } |
| 67 |
| OLD | NEW |