| Index: src/site/docs/tutorials/add-elements/examples/anagram/anagram.dart
|
| diff --git a/src/site/docs/tutorials/add-elements/examples/anagram/anagram.dart b/src/site/docs/tutorials/add-elements/examples/anagram/anagram.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..93d7488d23e76ef10d70e344d4afa8068731984c
|
| --- /dev/null
|
| +++ b/src/site/docs/tutorials/add-elements/examples/anagram/anagram.dart
|
| @@ -0,0 +1,67 @@
|
| +import 'dart:html';
|
| +import 'dart:math';
|
| +
|
| +// should remove tiles from here when they are selected otherwise the ratio is off.
|
| +
|
| +String scrabbleLetters = 'aaaaaaaaabbccddddeeeeeeeeeeeeffggghhiiiiiiiiijkllllmmnnnnnnooooooooppqrrrrrrssssttttttuuuuvvwwxyyz**';
|
| +
|
| +List<ButtonElement> buttons = new List();
|
| +Element letterpile;
|
| +Element result;
|
| +ButtonElement clearButton;
|
| +Element value;
|
| +int wordvalue = 0;
|
| +
|
| +Map scrabbleValues = { 'a':1, 'e':1, 'i':1, 'l':1, 'n':1,
|
| + 'o':1, 'r':1, 's':1, 't':1, 'u':1,
|
| + 'd':2, 'g':2, 'b':3, 'c':3, 'm':3,
|
| + 'p':3, 'f':4, 'h':4, 'v':4, 'w':4,
|
| + 'y':4, 'k':5, 'j':8, 'x':8, 'q':10,
|
| + 'z':10, '*':0 };
|
| +
|
| +void main() {
|
| + letterpile = query("#letterpile");
|
| + result = query("#result");
|
| + value = query("#value");
|
| +
|
| + clearButton = query("#clearButton");
|
| + clearButton.onClick.listen(newletters);
|
| +
|
| + generateNewLetters();
|
| +}
|
| +
|
| +void moveLetter(Event e) {
|
| + Element letter = e.target;
|
| + if (letter.parent == letterpile) {
|
| + result.children.add(letter);
|
| + wordvalue += scrabbleValues[letter.text];
|
| + value.text = "$wordvalue";
|
| + } else {
|
| + letterpile.children.add(letter);
|
| + wordvalue -= scrabbleValues[letter.text];
|
| + value.text = "$wordvalue";
|
| + }
|
| +}
|
| +
|
| +void newletters(Event e) {
|
| + letterpile.children.clear();
|
| + result.children.clear();
|
| + generateNewLetters();
|
| +}
|
| +
|
| +generateNewLetters() {
|
| + Random indexGenerator = new Random();
|
| + wordvalue = 0;
|
| + value.text = '';
|
| + buttons.clear();
|
| + for (var i = 0; i < 7; i++) {
|
| + int letterIndex = indexGenerator.nextInt(scrabbleLetters.length);
|
| + // should remove the letter from scrabbleLetters to keep the ratio correct
|
| + buttons.add(new ButtonElement());
|
| + buttons[i].classes.add("letter");
|
| + buttons[i].onClick.listen(moveLetter);
|
| + buttons[i].text = scrabbleLetters[letterIndex];
|
| + letterpile.children.add(buttons[i]);
|
| + }
|
| +}
|
| +
|
|
|