128 lines
No EOL
3 KiB
JavaScript
128 lines
No EOL
3 KiB
JavaScript
var reponse = "";
|
|
var word ="";
|
|
const good_letter_color = "#8dc689";
|
|
const bad_letter_color = "#e57373";
|
|
const mid_letter_color = "#e3e466";
|
|
var free_box = [1,1];
|
|
let arrWords;
|
|
readTextFile("words.txt");
|
|
|
|
aleatoire();
|
|
|
|
function change_color_good_letter(coord){
|
|
coord = "case".concat(coord)
|
|
console.log(coord)
|
|
var case_div = document.getElementById(coord);
|
|
case_div.style.backgroundColor = good_letter_color;
|
|
}
|
|
|
|
function change_color_bad_letter(coord){
|
|
coord = "case".concat(coord)
|
|
console.log(coord)
|
|
var case_div = document.getElementById(coord);
|
|
case_div.style.backgroundColor = bad_letter_color;
|
|
}
|
|
|
|
function change_color_mid_letter(coord){
|
|
coord = "case".concat(coord)
|
|
console.log(coord)
|
|
var case_div = document.getElementById(coord);
|
|
case_div.style.backgroundColor = mid_letter_color;
|
|
}
|
|
|
|
function update(x) {
|
|
if (free_box[1]==6) {
|
|
}
|
|
else {
|
|
word += x.toLowerCase();
|
|
free = free_box.map(num=>{return String(num)}).join("");
|
|
document.getElementById(free).innerHTML = x;
|
|
free_box[1]+=1;
|
|
}
|
|
}
|
|
|
|
function Supprimer() {
|
|
word = word.slice(0,-1);
|
|
if (free_box[1]==1) {
|
|
}
|
|
else {
|
|
free_box[1]+=-1;
|
|
}
|
|
free = free_box.map(num=>{return String(num)}).join("");
|
|
document.getElementById(free).innerHTML = "";
|
|
}
|
|
|
|
function Enter() {
|
|
if (verifWord() && free_box[0]!=6) {
|
|
write_result(verifLettres(word));
|
|
free_box[0]+=1;
|
|
free_box[1]=1;
|
|
word="";
|
|
}
|
|
}
|
|
|
|
function verifLettres() {
|
|
let verif = [0,0,0,0,0];
|
|
for(let i=0 ; i<5; i++){
|
|
if(word[i]==reponse[i]){
|
|
verif[i]=2;
|
|
}
|
|
else{
|
|
if(reponse.includes(word[i])){
|
|
verif[i]=1;
|
|
}
|
|
}
|
|
}
|
|
console.log(verif);
|
|
return verif;
|
|
}
|
|
|
|
function write_result(verif){
|
|
let pos = "";
|
|
pos = free_box[0].toString();
|
|
for(let i=0; i<5; i++){
|
|
pos = (free_box[0]).toString();
|
|
pos = pos.concat((i+1).toString());
|
|
if (verif[i] == 2){
|
|
change_color_good_letter(pos);
|
|
}
|
|
else if ( verif[i]===1){
|
|
change_color_mid_letter(pos);
|
|
}
|
|
else{
|
|
change_color_bad_letter(pos);
|
|
}
|
|
}
|
|
}
|
|
|
|
function readTextFile(file) { //Merci StackOverflow
|
|
var rawFile = new XMLHttpRequest();
|
|
rawFile.open("GET", file, false);
|
|
rawFile.onreadystatechange = function (){
|
|
if(rawFile.readyState === 4){
|
|
if(rawFile.status === 200 || rawFile.status == 0){
|
|
var allText = rawFile.responseText;
|
|
arrWords=allText.split(/\r?\n/);
|
|
}
|
|
}
|
|
}
|
|
rawFile.send(null);
|
|
}
|
|
|
|
function verifWord() {
|
|
let exist = false;
|
|
if (word.length == 5){
|
|
for(let i = 0; i< arrWords.length;i++){
|
|
if(arrWords[i]==word){
|
|
exist = true;
|
|
}
|
|
}
|
|
}
|
|
return exist;
|
|
}
|
|
|
|
function aleatoire() {
|
|
let rand = Math.floor(Math.random() * arrWords.length);
|
|
reponse = arrWords[rand];
|
|
console.log(reponse);
|
|
} |