You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
65 lines
2.0 KiB
65 lines
2.0 KiB
const readlineSync = require("readline-sync")
|
|
|
|
function nahodneSlovo() {
|
|
//načteme si slova (napište si další)
|
|
const slova = ["skola", "zabava", "maturita", "web", "pes", "kocka"];
|
|
//nahodne se vybere cislo mezi 0 a delkou pole
|
|
// index zarína od NULY
|
|
const nahodnyIndex = Math.floor(Math.random()*slova.length)
|
|
//vrati pouze slovo na pozici nahodnyIndex
|
|
return slova[nahodnyIndex]
|
|
}
|
|
|
|
function zobrazeniSlova(slovo,zadanyPismena) {
|
|
return slovo.split('')
|
|
.map(pismeno => zadanyPismena.includes(pismeno) ? pismeno : '_')
|
|
.join(' ')
|
|
}
|
|
|
|
function hangman() {
|
|
//načtení a nastavení hodnot
|
|
const maxPokusu = 10;
|
|
let zbyvajiciPokusy = maxPokusu;
|
|
const hadajiciSlovo = nahodneSlovo();
|
|
let hadajiciPismena = [];
|
|
|
|
//uvítání
|
|
console.log("Vitej ve hře Hangman");
|
|
console.log(zobrazeniSlova(hadajiciSlovo,hadajiciPismena))
|
|
|
|
//herni logiku
|
|
while (zbyvajiciPokusy > 0){
|
|
const uhadnuti = readlineSync.question("Hadej pismeno: ").toLowerCase();
|
|
if (hadajiciPismena.includes(uhadnuti)){
|
|
console.log("Toto pismeno už si hadal(a)")
|
|
continue; // pokud hadajici pismeno už jsme zadali tak jde na začátek while cyklu
|
|
}
|
|
|
|
//přidáme pismeno do pole písmenek
|
|
hadajiciPismena.push(uhadnuti);
|
|
|
|
//Špatné písmeno
|
|
if (!hadajiciSlovo.includes(uhadnuti)){
|
|
zbyvajiciPokusy--;
|
|
console.log(`Špatný pokus, zbyva: ${zbyvajiciPokusy} pokusů`);
|
|
}
|
|
|
|
//zobrazeni pokusu po přidaní písmena
|
|
const zobrazeniPoPridaniPismenka = zobrazeniSlova(hadajiciSlovo,hadajiciPismena);
|
|
console.log(zobrazeniPoPridaniPismenka);
|
|
|
|
//když mame všechny písmena - VÝHRA
|
|
if(!zobrazeniPoPridaniPismenka.includes('_')){
|
|
console.log("WINNER WINNER, CHICKEN DINNER");
|
|
break;
|
|
}
|
|
|
|
}
|
|
//po vyčerpání pokusů
|
|
if (zbyvajiciPokusy === 0) {
|
|
console.log (`Bohužel, prohral si nad slovem ${hadajiciSlovo}`)
|
|
}
|
|
}
|
|
|
|
|
|
hangman()
|