#javascript
#javascript
Вопрос:
Я пытаюсь создать программу, которая представляет собой своего рода игру в угадывание слов. Я должен заменить 3 случайных символа из строки изображением. Прямо сейчас моя программа очень проста. Он только записывает случайное слово из массива в документ, но не заменяет никаких символов. Я пробовал использовать разные методы (replace(), join(), split()), но, похоже, я слишком усложняю это. Не могли бы вы мне помочь?
это то, что я пробовал
paraules = [
"taronja", "fresa",
"magrana", "pinya",
"mango", "sindria",
"mandarina", "llimona",
"papaia", "pressec"
];
var substitut = "_";
for (var i = 0; i < paraules.length; i ) {
var paraulesMod = paraules[i].split('');
var substitutMod = substitut.split('');
}
for (var i = 0; i < 3; i ) {
var pos1 = Math.round(Math.random() * (paraules.length - 1));
var pos2 = Math.round(Math.random() * (substitut.length - 1));
paraulesMod[pos1] = substitutMod[pos2];
}
document.write(paraulesMod.join(""));
это то, что работает
paraules = [
"taronja", "fresa",
"mangrana", "pinya",
"mango", "sindria",
"mandarina", "llimona",
"papaia", "pressec"
];
var paraula = paraules[Math.floor(Math.random() * paraules.length)];
document.write("<h1>" paraula "</h1>");
function comprovar() {
if (document.getElementById("endevina").value == paraula) {
alert("L'has endevinat!")
} else {
alert("Torna-ho a provar")
}
}
index.html
<!DOCTYPE html>
<html>
<head>
<script src="main.js"></script>
</head>
<body>
<input type="text" id="endevina" name="endevina">
<input type="button" id="comprova" value="comprovar" onclick="comprovar()">
</body>
</html>
Комментарии:
1. Я обновил код
Ответ №1:
сначала вы должны определить paraulesMod и substitutMod во внешнем из, а затем в вашем document.write(paraulesMod.join(«»)); должен иметь html-тег
Ответ №2:
Это работает:
paraules = [
"taronja", "fresa",
"magrana", "pinya",
"mango", "sindria",
"mandarina", "llimona",
"papaia", "pressec"
];
let randWordIndex = Math.floor(Math.random() * paraules.length);
let selectedWord = paraules[randWordIndex];
let selectedStringArray = [...selectedWord];
let indexToReplace = [];
for(let i = 0; i < 3; i ) {
createLetterIndexes();
}
indexToReplace.forEach(index => {
selectedStringArray[index] = "_";
})
document.querySelector("h1").innerText = selectedStringArray.join("");
function createLetterIndexes() {
let min = 0
let max = selectedStringArray.length - 1;
let index = Math.floor(Math.random() * max) min;
if (!indexToReplace.includes(index)) indexToReplace.push(index);
else createLetterIndexes();
}
function comprovar() {
let input = document.getElementById("endevina");
if ( input.value == selectedWord) {
alert("L'has endevinat!")
input.value = "";
} else {
alert("Torna-ho a provar")
}
}