public List<String> getWords(){
        List<String> res = new ArrayList<String>();
        for (int x = 0; x < points.length; x++) {
            for (int y = 0; y < points.length;y++) {
                Point[][] points = getPointArray(x, y);
                Point[] word = new Point[WORD_LENGTH];

                Boolean b;

                for (int j = 0; j < (int) Math.pow(8, WORD_LENGTH); j++) {
                    b = false;
                    for (int i = 0; i < WORD_LENGTH; i++) {
                        word[i] = points[i][j / (int) Math.pow(8, WORD_LENGTH - i - 1)];
                        if (word[i].getLetter() == '*') {
                            b = true;
                        }
                        for (int k = 0; k < i; k++) {
                            if (word[k].equals(word[i])) {
                                b = true;
                            }
                        }
                    }
                    if (!b) {
                        char[] charRes = new char[WORD_LENGTH];
                        for (int k = 0; k < WORD_LENGTH; k++) {
                            charRes[k] = word[k].getLetter();
                        }
                        res.add(new String(charRes));
                    }
                }
            }
        }
        return res;
    }