3 कोशिशों के बाद थोड़ी देर के लूप को कैसे रोकें?

3 कोशिशों के बाद खेल रुक जाना चाहिए और खिलाड़ी हार जाता है।

let num = 4 सही संख्या है।
मैं इसे बाद में Math.floor(Math.random) के लिए बदल दूंगा

const btn = document.querySelector('.btn')
const result = document.querySelector('.output')
let num = 4 // guessed number . 

btn.addEventListener('click', function() {
  let tries = 3;

  while (tries > 0) {
    const input = document.querySelector('.input').value
    if (input == num) {
      result.innerHTML = `You win! Correct number was ${num}.`
    } else if (input > num) {
      result.innerHTML = `Your guess is hight!`
    } else if (input < num) {
      result.innerHTML = `Your guess is low!`
    }
    tries = tries - 1;
  }

  document.querySelector('.input').value = ''
})
<input type="number" class="input">
<button class="btn">Submit</button>
<div class="output"></div>
2
ocko 5 सितंबर 2021, 08:06

4 जवाब

सबसे बढ़िया उत्तर
const btn = document.querySelector('.btn')
const result = document.querySelector('.output')
let num = 4 // guessed number . 
let tries = 3;

btn.addEventListener('click', function() {
  let message="";
  if(tries >= 1) {
    const input = document.querySelector('.input').value;
    if (input == num) {
      message = `You win! Correct number was ${num}.`
    } else if (input > num) {
      message = `Your guess is hight!`
    } else if (input < num) {
      message = `Your guess is low!`
    }
    if(tries==1 && input!=num){
      message = "You loss.";
    }
    tries = tries - 1;
  }else{
   message = "limit exceeded.";
  }
  result.innerHTML = message;
  document.querySelector('.input').value = ''
})
<input type="number" class="input">
<button class="btn">Submit</button>
<div class="output"></div>
0
Navnath Jadhav 5 सितंबर 2021, 05:30

आपका कोड काम नहीं कर रहा था क्योंकि आप प्रत्येक क्लिक पर बटन ईवेंट श्रोता के अंदर कोशिश राशि को फिर से परिभाषित कर रहे थे और इसलिए भी कि आपको इसके काम करने के लिए लूप की आवश्यकता नहीं है। साथ ही, आपके पास यह परिभाषित करने की कोई शर्त नहीं थी कि जब सभी प्रयास समाप्त हो जाएं तो क्या करना चाहिए।

इसको आजमाओ:

const btn = document.querySelector('.btn')
const result = document.querySelector('.output')

let num = 4 // guessed number . 
let tries = 3;

btn.addEventListener('click', function() {
  
  if (tries > 0) {    
  var input = document.querySelector('.input').value
    if (input == num) {
      result.innerHTML = `You win! Correct number was ${num}.`
    } else if (input > num) {
      result.innerHTML = `Your guess is high!`
    } else if (input < num) {
      result.innerHTML = `Your guess is low!`
    }
    tries--;
    //console.log(tries);
  } else {
    result.innerHTML = `All out of tries.`
  }

  document.querySelector('.input').value = ''
})
1
Ivan 5 सितंबर 2021, 05:24

इसके बजाय एक पुनरावर्तक का प्रयोग करें और इसे कम भ्रमित करें

let limit = 3;
let i = 0;

while (i < limit) {
const input = document.querySelector('.input').value
if (input == num) {
  result.innerHTML = `You win! Correct number was ${num}.`
} else if (input > num) {
  result.innerHTML = `Your guess is hight!`
} else if (input < num) {
  result.innerHTML = `Your guess is low!`
}
  i++;
}

यदि यह वह समाधान नहीं है जिसकी आप तलाश कर रहे हैं तो क्या आप इसे टिप्पणियों में सुधार सकते हैं। गंभीरता से आवश्यकता वास्तव में क्या है?

0
Ashwin Chandran 5 सितंबर 2021, 05:22
let tries = 3;

इसे addEventListener से बाहर निकालें क्योंकि सबमिट बटन पर हर क्लिक पर 3 बनने की कोशिश करता है

let tries = 3;

AddEventListener इसके बाद ठीक है

0
Veer-Khatri 5 सितंबर 2021, 06:07