diff --git a/CHANGELOG.md b/CHANGELOG.md
index 9d91594..abd2cda 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,13 @@
+## Legend
+- 🐛 - Bug
+- ✔️ - Fixed
+- ❌ - Removed
+- ➕ - Added
+- ℹ️ - Information
+- ♻️ - Edited
+
## 2.0.3 # Build 3 [Development]
--
+- ➕ - Show hidden word by Lose
## 2.0.2 # Build 2 [2021-02-25]
- ➕ - Added game statistics
@@ -13,11 +21,3 @@
## 2.0.0 [2021-02-25]
Init version
-
-## Legend
-- 🐛 - Bug
-- ✔️ - Fixed
-- ❌ - Removed
-- ➕ - Added
-- ℹ️ - Information
-- ♻️ - Edited
diff --git a/TODO.md b/TODO.md
index f3569c3..508cc0a 100644
--- a/TODO.md
+++ b/TODO.md
@@ -1,8 +1,8 @@
[ ] Loading page
[ ] Localization
[ ] Fix GAME tab for not refresh page
-[ ] Show word if lose
[ ] Android manifest
+[+] Show word if lose
[+] Keyboard fit
[+] Game Statistics
[+] Restart scene
diff --git a/docs/game.js b/docs/game.js
index cee50d2..0dc52c9 100644
--- a/docs/game.js
+++ b/docs/game.js
@@ -1 +1 @@
-"use strict";const pageCredits='\t
Font F5.6 by\t\tDOT COLON \t
\t\tUI by\t\tchota.css \t
';"use strict";const pageStatistics='\t\t\tUser statistics \t\t\t\t\t\t\t\t\tName \t\t\t\tValue \t\t\t \t\t \t\t\t\t\t\t\t\t\tTotal games \t\t\t\t... \t\t\t \t\t\t\t\t\t\tGuess words \t\t\t\t... \t\t\t \t\t\t\t\t\t\t% Win \t\t\t\t... \t\t\t \t\t\t\t\t\t\tTotal letters clicked \t\t\t\t... \t\t\t \t\t\t\t\t\t\tCorrectly guessed letters \t\t\t\t... \t\t\t \t\t\t\t\t\t\t% correctly letters \t\t\t\t... \t\t\t \t\t \t
\t\t\tClear statistics \t
';function updateStatsPage(){let stTotalGames=localStorage.getItem("stTotalGames");let stWinWords=localStorage.getItem("stWinWords");let stWinPercentage=localStorage.getItem("stWinPercentage");let stLetterClick=localStorage.getItem("stLetterClick");let stCorrLetter=localStorage.getItem("stCorrLetter");let stWinLetterPercent=localStorage.getItem("stWinLetterPercent");document.querySelector("#stTotalGames").innerHTML=stTotalGames;document.querySelector("#stWinWords").innerHTML=stWinWords;document.querySelector("#stWinPercentage").innerHTML=Math.round(stWinWords/stTotalGames*100);document.querySelector("#stLetterClick").innerHTML=stLetterClick;document.querySelector("#stCorrLetter").innerHTML=stCorrLetter;document.querySelector("#stWinLetterPercent").innerHTML=Math.round(stCorrLetter/stLetterClick*100)}"use strict";function updateStats(statParameter){let stTotalGames=JSON.parse(localStorage.getItem("stTotalGames"));let stWinWords=JSON.parse(localStorage.getItem("stWinWords"));let stLetterClick=JSON.parse(localStorage.getItem("stLetterClick"));let stCorrLetter=JSON.parse(localStorage.getItem("stCorrLetter"));switch(statParameter){case"stTotalGames":localStorage.setItem("stTotalGames",stTotalGames+1);break;case"stWinWords":localStorage.setItem("stTotalGames",stTotalGames+1);localStorage.setItem("stWinWords",stWinWords+1);break;case"stLetterClick":localStorage.setItem("stLetterClick",stLetterClick+1);break;case"stCorrLetter":localStorage.setItem("stLetterClick",stLetterClick+1);localStorage.setItem("stCorrLetter",stCorrLetter+1);break;case"stCheck":if(stTotalGames==null){localStorage.setItem("stTotalGames",0)}if(stWinWords==null){localStorage.setItem("stWinWords",0)}if(stLetterClick==null){localStorage.setItem("stLetterClick",0)}if(stCorrLetter==null){localStorage.setItem("stCorrLetter",0)}break}}"use strict";const keyboardLayouts={usQwertyKeyboard:"abcdefghijklmnopqrstuvwxyz".toUpperCase(),ruQwertyKeyboard:"йцукеёнгшщзхъфывапролджэячсмитьбю".toUpperCase()};const words=["google","speed","design","forest","forever","love","horizon","defect"];let gameWord=words[Math.floor(Math.random()*words.length)].toUpperCase();let gameAnswered=new Array(gameWord.length+1).join("-");let lives=6;function generateKeyboard(layout){let keyboardHtmlStr="";layout.split("").forEach(function(letter){keyboardHtmlStr=keyboardHtmlStr+' "+letter+" "});let keyboard=document.querySelector("#keyboard");keyboard.classList.remove("is-hidden");document.querySelector("#keyboard").innerHTML=keyboardHtmlStr}function letterClick(letter){let charButton=document.getElementById(letter);charButton.disabled=true;let indices=[];let idx=gameWord.split("").indexOf(letter);if(idx==-1){wrongLetter();updateStats("stLetterClick");return}while(idx!=-1){indices.push(idx);idx=gameWord.split("").indexOf(letter,idx+1)}indices.forEach(function(item,indices){let wordArray=gameAnswered.split("");wordArray[item]=letter;gameAnswered=wordArray.join("");document.querySelector("#word").innerHTML=gameAnswered;updateStats("stCorrLetter")});if(gameAnswered.split("").indexOf("-")==-1){updateStats("stWinWords");document.querySelector("#keyboard").innerHTML='\t\t \t\tYour winner!! \t\tRestart game '}}function wrongLetter(){if(lives<=0){updateStats("stTotalGames");document.querySelector("#keyboard").innerHTML='\t\t \t\tYour lose!! \t\tRestart game '}lives-=1;document.querySelector("#lives").innerHTML="Lives "+lives}function showPage(element,pageName){["gameButton","statsButton","creditsButton"].forEach(function(item){document.querySelector("#"+item).classList.remove("active")});document.querySelector("#"+element.id).classList.add("active");document.querySelector("#content").innerHTML=pageName;if(pageName==pageStatistics){updateStatsPage()}}window.onload=function(){updateStats("stCheck");generateKeyboard(keyboardLayouts["usQwertyKeyboard"]);document.querySelector("#lives").innerHTML="Lives "+lives;console.log("Word:",gameWord.toLowerCase());document.querySelector("#word").innerHTML=gameAnswered;if(window.screen.availWidth<=599){document.querySelector("#lives").classList.remove("error");document.querySelector("#lives").classList.add("dark")}};
\ No newline at end of file
+"use strict";const pageCredits='\tFont F5.6 by\t\tDOT COLON \t
\t\tUI by\t\tchota.css \t
';"use strict";const pageStatistics='\t\t\tUser statistics \t\t\t\t\t\t\t\t\tName \t\t\t\tValue \t\t\t \t\t \t\t\t\t\t\t\t\t\tTotal games \t\t\t\t... \t\t\t \t\t\t\t\t\t\tGuess words \t\t\t\t... \t\t\t \t\t\t\t\t\t\t% Win \t\t\t\t... \t\t\t \t\t\t\t\t\t\tTotal letters clicked \t\t\t\t... \t\t\t \t\t\t\t\t\t\tCorrectly guessed letters \t\t\t\t... \t\t\t \t\t\t\t\t\t\t% correctly letters \t\t\t\t... \t\t\t \t\t \t
\t\t\tClear statistics \t
';function updateStatsPage(){let stTotalGames=localStorage.getItem("stTotalGames");let stWinWords=localStorage.getItem("stWinWords");let stWinPercentage=localStorage.getItem("stWinPercentage");let stLetterClick=localStorage.getItem("stLetterClick");let stCorrLetter=localStorage.getItem("stCorrLetter");let stWinLetterPercent=localStorage.getItem("stWinLetterPercent");document.querySelector("#stTotalGames").innerHTML=stTotalGames;document.querySelector("#stWinWords").innerHTML=stWinWords;document.querySelector("#stWinPercentage").innerHTML=Math.round(stWinWords/stTotalGames*100);document.querySelector("#stLetterClick").innerHTML=stLetterClick;document.querySelector("#stCorrLetter").innerHTML=stCorrLetter;document.querySelector("#stWinLetterPercent").innerHTML=Math.round(stCorrLetter/stLetterClick*100)}"use strict";function updateStats(statParameter){let stTotalGames=JSON.parse(localStorage.getItem("stTotalGames"));let stWinWords=JSON.parse(localStorage.getItem("stWinWords"));let stLetterClick=JSON.parse(localStorage.getItem("stLetterClick"));let stCorrLetter=JSON.parse(localStorage.getItem("stCorrLetter"));switch(statParameter){case"stTotalGames":localStorage.setItem("stTotalGames",stTotalGames+1);break;case"stWinWords":localStorage.setItem("stTotalGames",stTotalGames+1);localStorage.setItem("stWinWords",stWinWords+1);break;case"stLetterClick":localStorage.setItem("stLetterClick",stLetterClick+1);break;case"stCorrLetter":localStorage.setItem("stLetterClick",stLetterClick+1);localStorage.setItem("stCorrLetter",stCorrLetter+1);break;case"stCheck":if(stTotalGames==null){localStorage.setItem("stTotalGames",0)}if(stWinWords==null){localStorage.setItem("stWinWords",0)}if(stLetterClick==null){localStorage.setItem("stLetterClick",0)}if(stCorrLetter==null){localStorage.setItem("stCorrLetter",0)}break}}"use strict";const keyboardLayouts={usQwertyKeyboard:"abcdefghijklmnopqrstuvwxyz".toUpperCase(),ruQwertyKeyboard:"йцукеёнгшщзхъфывапролджэячсмитьбю".toUpperCase()};const words=["google","speed","design","forest","forever","love","horizon","defect"];let gameWord=words[Math.floor(Math.random()*words.length)].toUpperCase();let gameAnswered=new Array(gameWord.length+1).join("-");let lives=6;function generateKeyboard(layout){let keyboardHtmlStr="";layout.split("").forEach(function(letter){keyboardHtmlStr=keyboardHtmlStr+' "+letter+" "});let keyboard=document.querySelector("#keyboard");keyboard.classList.remove("is-hidden");document.querySelector("#keyboard").innerHTML=keyboardHtmlStr}function letterClick(letter){let charButton=document.getElementById(letter);charButton.disabled=true;let indices=[];let idx=gameWord.split("").indexOf(letter);if(idx==-1){wrongLetter();updateStats("stLetterClick");return}while(idx!=-1){indices.push(idx);idx=gameWord.split("").indexOf(letter,idx+1)}indices.forEach(function(item,indices){let wordArray=gameAnswered.split("");wordArray[item]=letter;gameAnswered=wordArray.join("");document.querySelector("#word").innerHTML=gameAnswered;updateStats("stCorrLetter")});if(gameAnswered.split("").indexOf("-")==-1){updateStats("stWinWords");document.querySelector("#keyboard").innerHTML='\t\t \t\tYour winner!! \t\tRestart game '}}function wrongLetter(){if(lives<=0){updateStats("stTotalGames");document.querySelector("#word").innerHTML=gameWord;document.querySelector("#word").classList.add("text-success");document.querySelector("#keyboard").innerHTML='\t\t \t\tYour lose!! \t\tRestart game '}lives-=1;document.querySelector("#lives").innerHTML="Lives "+lives}function showPage(element,pageName){["gameButton","statsButton","creditsButton"].forEach(function(item){document.querySelector("#"+item).classList.remove("active")});document.querySelector("#"+element.id).classList.add("active");document.querySelector("#content").innerHTML=pageName;if(pageName==pageStatistics){updateStatsPage()}}window.onload=function(){updateStats("stCheck");generateKeyboard(keyboardLayouts["usQwertyKeyboard"]);document.querySelector("#lives").innerHTML="Lives "+lives;console.log("Word:",gameWord.toLowerCase());document.querySelector("#word").innerHTML=gameAnswered;if(window.screen.availWidth<=599){document.querySelector("#lives").classList.remove("error");document.querySelector("#lives").classList.add("dark")}};
\ No newline at end of file
diff --git a/docs/index.html b/docs/index.html
index 35b564d..63fc7b3 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -80,7 +80,7 @@
ver: 2.0.2
-
+
UV
PV
diff --git a/js/index.js b/js/index.js
index d69d71f..baaf35d 100644
--- a/js/index.js
+++ b/js/index.js
@@ -69,6 +69,7 @@ function letterClick(letter)
{
updateStats('stWinWords');
+ // display win scene
document.querySelector('#keyboard').innerHTML = '\
\
Your winner!! \
@@ -84,6 +85,11 @@ function wrongLetter()
{
updateStats('stTotalGames');
+ // display hidden word
+ document.querySelector("#word").innerHTML = gameWord;
+ document.querySelector("#word").classList.add('text-success');
+
+ // display lose scene
document.querySelector('#keyboard').innerHTML = '\
\
Your lose!! \