From 8989a58f1fef21c07eb7d942f5e9579ef57235b3 Mon Sep 17 00:00:00 2001 From: Alexander Popov Date: Sat, 27 Feb 2021 02:57:58 +0300 Subject: [PATCH] update readme --- README.md | 5 +++++ docs/game.js | 2 +- js/_pageCredits.js | 2 -- js/_pageStatistics.js | 2 -- js/_statFunction.js | 2 -- js/index.js | 9 ++++----- 6 files changed, 10 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 8b13789..d68c063 100644 --- a/README.md +++ b/README.md @@ -1 +1,6 @@ +## hgman +It's simple word guessing game +[[ChangeLog](CHANGELOG.md)] + +![License](https://img.shields.io/github/license/iiiypuk/hgman?style=for-the-badge) ![Lines code](https://img.shields.io/tokei/lines/github/iiiypuk/hgman?style=for-the-badge) diff --git a/docs/game.js b/docs/game.js index 0dc52c9..b3b157d 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\t

UI by\t\tchota.css\t

';"use strict";const pageStatistics='\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
User statistics
NameValue
Total games...
Guess words...
% Win...
Total letters clicked...
Correctly guessed letters...
% correctly letters...
\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+'"});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\t

Your winner!!

\t\t'}}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\t

Your lose!!

\t\t'}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 +const pageCredits='\t

Font F5.6 by\t\tDOT COLON\t

\t\t

UI by\t\tchota.css\t

';const pageStatistics='\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
User statistics
NameValue
Total games...
Guess words...
% Win...
Total letters clicked...
Correctly guessed letters...
% correctly letters...
\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)}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+=``});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\t

Your winner!!

\t\t'}}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\t

Your lose!!

\t\t'}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/js/_pageCredits.js b/js/_pageCredits.js index d1a319b..51efa30 100644 --- a/js/_pageCredits.js +++ b/js/_pageCredits.js @@ -1,5 +1,3 @@ -'use strict'; - const pageCredits = '\

Font F5.6 by\ DOT COLON\ diff --git a/js/_pageStatistics.js b/js/_pageStatistics.js index c8d9a42..34886fa 100644 --- a/js/_pageStatistics.js +++ b/js/_pageStatistics.js @@ -1,5 +1,3 @@ -'use strict'; - const pageStatistics = '\ \ \ diff --git a/js/_statFunction.js b/js/_statFunction.js index 98e401d..d69c91f 100644 --- a/js/_statFunction.js +++ b/js/_statFunction.js @@ -1,5 +1,3 @@ -"use strict"; - function updateStats(statParameter) { let stTotalGames = JSON.parse(localStorage.getItem("stTotalGames")); let stWinWords = JSON.parse(localStorage.getItem("stWinWords")); diff --git a/js/index.js b/js/index.js index e695c54..9cecbaf 100644 --- a/js/index.js +++ b/js/index.js @@ -19,7 +19,7 @@ let lives = 6; function generateKeyboard(layout) { let keyboardHtmlStr = ""; layout.split("").forEach(function(letter) { - keyboardHtmlStr = keyboardHtmlStr + '"; + keyboardHtmlStr += ``; }); let keyboard = document.querySelector("#keyboard"); keyboard.classList.remove("is-hidden"); @@ -51,7 +51,7 @@ function letterClick(letter) { if (gameAnswered.split("").indexOf("-") == -1) { updateStats("stWinWords"); // display win scene - document.querySelector("#keyboard").innerHTML = '\t\t\t\t

Your winner!!

\t\t'; + document.querySelector("#keyboard").innerHTML = '\t\t\t\t

Your winner!!

\t\t'; } } @@ -60,10 +60,10 @@ function wrongLetter() { if (lives <= 0) { updateStats("stTotalGames"); // display hidden word - document.querySelector("#word").innerHTML = gameWord; + document.querySelector("#word").innerHTML = gameWord; document.querySelector("#word").classList.add("text-success"); // display lose scene - document.querySelector("#keyboard").innerHTML = '\t\t\t\t

Your lose!!

\t\t'; + document.querySelector("#keyboard").innerHTML = '\t\t\t\t

Your lose!!

\t\t'; } lives -= 1; document.querySelector("#lives").innerHTML = "Lives " + lives; @@ -71,7 +71,6 @@ function wrongLetter() { // display tab content function showPage(element, pageName) { - // alert(event.srcElement.id); [ "gameButton", "statsButton", "creditsButton" ].forEach(function(item) { document.querySelector("#" + item).classList.remove("active"); });
User statistics