💡 끝말잇기의 원리와 쿵쿵따(세글자 끝말잇기)의 원리를 알고 프로그램을 만들어보자
<div class="wrapper">
<div class="number_wrapper">참가자 인원수 : <span id="number">?</span>명</div>
<div class="order_wrapper"><span id="order">1</span>번째 참가자</div>
<div class="suggest_word">제시어</div>
<!-- <div class="word"></div> -->
<div class="word_wrapper">
<span class="first_letter"></span>
<span class="second_letter"></span>
<span class="third_letter"></span>
</div>
<div class="input_wrapper">
<input type="text" />
<button>입력</button>
</div>
</div>
class
를 적용해줬다.const participantNumber = Number(prompt("참가자는 몇 명인가요?"));
const $number = document.querySelector("#number");
const $button = document.querySelector("button");
const $input = document.querySelector("input");
// const $word = document.querySelectorAll(".word");
const $firstLetter = document.querySelector(".first_letter");
const $secondLetter = document.querySelector(".second_letter");
const $thirdLetter = document.querySelector(".third_letter");
const $order = document.querySelector("#order");
let word; // 제시어
let newWord; // 현재 단어
$number.textContent = participantNumber;
$input.addEventListener("keypress", (e) => {
if (e.key === "Enter") {
onInput();
}
});
const onInput = () => {
// 제시어를 등록하는 함수
if (newWord.length === 3 && (!word || word[2] === newWord[0])) {
word = newWord; // 입력한 단어가 제시어가 된다.
$firstLetter.textContent = word[0];
$secondLetter.textContent = word[1];
$thirdLetter.textContent = word[2];
// $word.textContent = word;
const order = Number($order.textContent);
if (order + 1 > participantNumber) {
$order.textContent = 1;
} else {
$order.textContent = order + 1;
}
} else {
alert("세글자만 가능합니다.");
}
$input.value = `${word[2]}`;
$input.focus();
};
const inputWord = (event) => {
newWord = event.target.value; // 입력하는 단어를 현재 단어로
};
const order = Number($order.textContent);
if (order + 1 > participantNumber) {
$order.textContent = 1;
} else {
$order.textContent = order + 1;
}
}
$input.value = `${word[2]}`;
$input.focus();
};
if (participantNumber) {
$input.addEventListener("input", inputWord);
$button.addEventListener("click", onInput);
$input.addEventListener("keypress", (e) => {
if (e.key === "Enter") {
onInput();
}
});
}
prompt
창에서 제대로 된 숫자를 입력하지 않거나, 숫자를 아예 입력하지 않으면 게임이 아예 실행되지 않는다.