1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
let exit = false;
let url = "words";
let maxtries = 7;
let input = document.querySelector('input');
let win = document.querySelector('#win');
let hint = document.querySelector('#hint');
let attempt = document.querySelector('#attempt');
let tries = 0;
fetch(url)
.then(response => response.text())
.then(wordlist => wordlist.split('\n'))
.then(wordlist => main(wordlist));
function addGuessDisplay(answer, guess, len, hint) {
let cat = ""
for (var i = 0; i < len; i++) {
if (guess.charAt(i) != answer.charAt(i) && !(answer.includes(guess.charAt(i))) ) {
cat += '<span style="color: #595959">' + guess.charAt(i) + "</span>";
} else if (guess.charAt(i) != answer.charAt(i) && (answer.includes(guess.charAt(i))) ) {
cat += '<span style="color: pink">' + guess.charAt(i) + "</span>";
} else if (guess.charAt(i) == answer.charAt(i)) {
cat += '<span style="color: purple">' + guess.charAt(i) + "</span>";
}
}
hint.innerHTML += cat + "</br>";
}
function checkAnswer(event, answer, len, wordlist) {
event.preventDefault();
input.value = input.value.toLowerCase();
if (!exit) {
if (wordlist.includes(input.value)) {
addGuessDisplay(answer, input.value, len, hint);
tries++;
if (input.value == answer) {
win.innerHTML = "You won!";
exit = true;
} else {
win.innerHTML = "Not quite right!";
}
if (tries >= maxtries && !exit) {
win.innerHTML = "You lost! Better luck next time!";
exit = true;
}
attempt.innerHTML = tries + " attempt";
if (tries > 1) {
attempt.innerHTML += "s";
}
}
}
}
function main(wordlist) {
let wordlen = wordlist.length;
let randomword = Math.floor(Math.random() * wordlen);
let answer = wordlist[randomword];
console.log(answer);
let len = answer.length;
input.setAttribute("maxlength", len);
hint.innerHTML = "Word is of length: " + len + "</br>";
let form = document.querySelector('form');
form.addEventListener("submit", function() { checkAnswer(event, answer, len, wordlist); });
}
|