Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Pogađanje slova

[es] :: Javascript i AJAX :: Pogađanje slova

[ Pregleda: 534 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Neusaglasen
Nezaposlen
Krevet

Član broj: 348401
Poruke: 5



Profil

icon Pogađanje slova14.12.2023. u 22:11 - pre 4 meseca
Dobro veče, pozdrav za sve.
Već satima pokušavam da prepravim dio koda koji sam negdje ranije radio. Naime, njime pogađam slova u zadatoj riječi na način što uneseno slovo je ok ako postoji bilo gdje u riječi i ako ga ima na više mjesta unese ga na sva mjesta. Ako slovo ne postoji povećava se broj grešaka. Npr. za riječ banana ako unesem slovo a staviće ga na drugo četvrto i šesto mjesto itd.
Code (javascript):

//u trazenaRijec se nalazi tražena riječ
//u kliknutoSlovo se nalazi slovo na koje je kliknuto
//brojGresaka broji greške
  if (trazenaRijec.includes(kliknutoSlovo)) {
    [...trazenaRijec].forEach((slovo, indeks) => {
      if (slovo === kliknutoSlovo) {
        wordDisplay.querySelectorAll("li")[indeks].innerText = slovo;
      }
    });
  } else {
    brojGresaka++;
  }
 

Htio bih da prepravim tako da pogađa slova redom i bez obzira ako ih ima više istih da ide redom i jedno po jedno. Npr. za riječ banana da se mora početi sa slovom b, pa onda a koje će staviti samo na drugo mjesto, pa n, pa a itd. Svaka ideja je dobrodošla pošto sam se zapetljao i dobijam neke beskonačne petlje,
 
Odgovor na temu

Panta_
Aleksandar Pantić
Kragujevac

Član broj: 214959
Poruke: 790



+162 Profil

icon Re: Pogađanje slova15.12.2023. u 07:07 - pre 4 meseca
Ne trebaju ti petlje ako ideš slovo po slovo redom, dovoljno je da proveriš da li se slovo nalazi na određenoj poziciji u traženoj reči, ako jeste uvećaš poziciju za jedan, a ako nije uvećaš broj grešaka, i tako redom dok ne kompletiraš traženu reč. Evo primer:
Code (javascript):

const trazenaRec = 'banana'
let pronadjenaRec = ''
let pozicija = 0
let brojGresaka = 0

function trazi(slovo) {
  if (slovo === trazenaRec[pozicija]) {
    console.log(`${slovo} je odgovarajuce slovo`)
    pronadjenaRec += slovo
    pozicija++
  } else {
    console.log(`${slovo} nije odgovarajuce slovo. Trazi dalje.`)
    brojGresaka++
    return
  }
  if (pronadjenaRec === trazenaRec) {
    console.log(`Rec ${pronadjenaRec} je pronadjena`)
    console.log('Broj gresaka', brojGresaka)
    pronadjenaRec = ''
    pozicija = 0
    brojGresaka = 0
  } else {
    console.log('Trazi dalje')
  }
}

for (const s of ['c', 't', 'b', 'a', 'n', 'a', 'u', 'n', 'a']) {
  trazi(s)
}
c nije odgovarajuce slovo. Trazi dalje.
t nije odgovarajuce slovo. Trazi dalje.
b je odgovarajuce slovo
Trazi dalje
a je odgovarajuce slovo
Trazi dalje
n je odgovarajuce slovo
Trazi dalje
a je odgovarajuce slovo
Trazi dalje
u nije odgovarajuce slovo. Trazi dalje.
n je odgovarajuce slovo
Trazi dalje
a je odgovarajuce slovo
Rec banana je pronadjena
Broj gresaka 3
 


[Ovu poruku je menjao Panta_ dana 15.12.2023. u 08:32 GMT+1]
 
Odgovor na temu

nemnesic
nemnesic
Software Developer
Vranje Florida

Član broj: 44355
Poruke: 802
*.com
Via: [es] mailing liste



+64 Profil

icon Re: Pogađanje slova15.12.2023. u 11:23 - pre 4 meseca
Za ovakve stvari chat gpt je genije :) evo sad sam probao i dao je savrseno
resenje.

>
 
Odgovor na temu

Panta_
Aleksandar Pantić
Kragujevac

Član broj: 214959
Poruke: 790



+162 Profil

icon Re: Pogađanje slova15.12.2023. u 12:26 - pre 4 meseca
Citat:
@nemnesic
Za ovakve stvari chat gpt je genije :) evo sad sam probao i dao je savrseno
resenje.

Daj da vidimo.

 
Odgovor na temu

nemnesic
nemnesic
Software Developer
Vranje Florida

Član broj: 44355
Poruke: 802
*.com
Via: [es] mailing liste



+64 Profil

icon Re: Pogađanje slova15.12.2023. u 13:16 - pre 4 meseca
Evo chatgpt rešenje:

Certainly! Here's a simple example of a Hangman game in JavaScript. You can
use this as a starting point and customize it further based on your
preferences:

Code (javascript):

```javascript
// Hangman Game
const words = ['javascript', 'hangman', 'developer', 'programming',
'computer'];

let chosenWord = words[Math.floor(Math.random() * words.length)];
let guessedWord = Array(chosenWord.length).fill('_');
let incorrectGuesses = 0;
const maxIncorrectGuesses = 6;

function displayGameStatus() {
  console.log(`Word: ${guessedWord.join(' ')}`);
  console.log(`Incorrect Guesses:
${incorrectGuesses}/${maxIncorrectGuesses}`);
}

function guessLetter(letter) {
  if (chosenWord.includes(letter)) {
    for (let i = 0; i < chosenWord.length; i++) {
      if (chosenWord[i] === letter) {
        guessedWord[i] = letter;
      }
    }
  } else {
    incorrectGuesses++;
  }
}

function isGameOver() {
  return incorrectGuesses >= maxIncorrectGuesses || guessedWord.join('')
=== chosenWord;
}

function endGame() {
  if (guessedWord.join('') === chosenWord) {
    console.log('Congratulations! You guessed the word.');
  } else {
    console.log(`Sorry, you're out of guesses. The word was "${chosenWord}".`);
  }
}


// Example usage:

Code (javascript):

while (!isGameOver()) {
  displayGameStatus();
  const userGuess = prompt('Guess a letter:').toLowerCase();
  guessLetter(userGuess);
}

endGame();
 


This is a console-based Hangman game where the user needs to guess letters
to reveal the hidden word. You can run this in a browser console or
integrate it into a web page for a more interactive experience.

>

EDIT X Files: Tagove sam stavio

[Ovu poruku je menjao X Files dana 15.12.2023. u 14:43 GMT+1]
 
Odgovor na temu

Panta_
Aleksandar Pantić
Kragujevac

Član broj: 214959
Poruke: 790



+162 Profil

icon Re: Pogađanje slova15.12.2023. u 14:35 - pre 4 meseca
Ovo nije ono što @Neusaglasen traži. On hoće da redom pogađa slova od prvog ka poslednjem, tako da nema potrebe da se koristi for loop O(n) kada se zna index slova u reči O(1). Takođe, u ovom primeru Chat GPT-a, nema potrebe da se proverava da li reč sadrži slovo kada se to ionako radi u for petlji.
 
Odgovor na temu

Neusaglasen
Nezaposlen
Krevet

Član broj: 348401
Poruke: 5



Profil

icon Re: Pogađanje slova15.12.2023. u 14:52 - pre 4 meseca
Citat:
Panta_:
Ne trebaju ti petlje ako ideš slovo po slovo redom, dovoljno je da proveriš da li se slovo nalazi na određenoj poziciji u traženoj reči, ako jeste uvećaš poziciju za jedan, a ako nije uvećaš broj grešaka, i tako redom dok ne kompletiraš traženu reč. Evo primer:
Code (javascript):

const trazenaRec = 'banana'
let pronadjenaRec = ''
let pozicija = 0
let brojGresaka = 0

function trazi(slovo) {
  if (slovo === trazenaRec[pozicija]) {
    console.log(`${slovo} je odgovarajuce slovo`)
    pronadjenaRec += slovo
    pozicija++
  } else {
    console.log(`${slovo} nije odgovarajuce slovo. Trazi dalje.`)
    brojGresaka++
    return
  }
  if (pronadjenaRec === trazenaRec) {
    console.log(`Rec ${pronadjenaRec} je pronadjena`)
    console.log('Broj gresaka', brojGresaka)
    pronadjenaRec = ''
    pozicija = 0
    brojGresaka = 0
  } else {
    console.log('Trazi dalje')
  }
}

for (const s of ['c', 't', 'b', 'a', 'n', 'a', 'u', 'n', 'a']) {
  trazi(s)
}
c nije odgovarajuce slovo. Trazi dalje.
t nije odgovarajuce slovo. Trazi dalje.
b je odgovarajuce slovo
Trazi dalje
a je odgovarajuce slovo
Trazi dalje
n je odgovarajuce slovo
Trazi dalje
a je odgovarajuce slovo
Trazi dalje
u nije odgovarajuce slovo. Trazi dalje.
n je odgovarajuce slovo
Trazi dalje
a je odgovarajuce slovo
Rec banana je pronadjena
Broj gresaka 3
 


Hvala, to je upravo ono što sam tražio ali sam se bio uhvatio petlje za kojom nema potrebe. Ovo ChatGTP rešenje nisam probao. Može li da se testira u JSFiddle ili nečemu sličnom? JSFiddle ranije, koliko se sjećam nije radio sa console.log.
 
Odgovor na temu

Panta_
Aleksandar Pantić
Kragujevac

Član broj: 214959
Poruke: 790



+162 Profil

icon Re: Pogađanje slova15.12.2023. u 15:04 - pre 4 meseca
Ne znam za JSFiddle, ali meže u web browseru Ctrl+Shift+i pa Console tab, ili Menu->More tools->Web Developer Tools u Firefoxu, slično je i u Chromeu. Ili instaliraj Nodejs: https://nodejs.org/en.
 
Odgovor na temu

[es] :: Javascript i AJAX :: Pogađanje slova

[ Pregleda: 534 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.