Zero Cho 2の强さを见て...
2422 ワード
💡 学の第一,foreachとreturn
接話番組をして、貪欲になって、機能を追加しました.
つまり、すでに単語を書いていれば、それを処理することができます.
pythonのように上手にforeach文で書くと、どうやってもtrueに戻るしかありません!
理由を探してforeachドアが戻らないことに気づいた!⭐
やはり、欲張ると、他の人より良いものがわかる!😊
💡 第二にarray[1]
pythonのように配列の最後の要素をインポートしたいと思っていましたが、やはりだめです.
後でarray[array.length-1]の形で持ってきてください
(これはかなりの方法で実現でき、これもテーマとして位置づけられるべきである)
このような悟りを経て、今日もビデオを見ないで、文字のドラゴンを実現しました!
💡 ちくじず
💡 コード#コード#
const prevWord = document.querySelector(".prev-word");
const input = document.querySelector(".input-bar");
const btn = document.querySelector(".push-next-word-btn");
const result = document.querySelector(".result");
let wordArr = [];
/****** addEventListener Setting ******************/
input.addEventListener('keypress', (e) => {
if (e.key === 'Enter') {
inputValueHandler();
}
})
btn.addEventListener('click',() => {
inputValueHandler();
})
/**************************************************/
// 기존 단어가 이미 나왔는지 확인한다
function checkArr(val) {
for (let each of wordArr) {
console.log( each, val)
if (each === val) return false;
}
return true
}
//기존 단어가 있으면 비교한다.
function checkCorrectWord(wordArr, val) {
const arrLength = wordArr.length;
if (!val.length) return -1;
if (arrLength) {
const lastWord = wordArr[arrLength-1];
if (lastWord[lastWord.length-1] !== val[0]) return false;
}
if (checkArr(val) === false) return false
wordArr.push(val);
printLastWord();
return true;
}
//게임을 종료 및 초기화시킨다.
function GameInitialization() {
wordArr = [];
printLastWord();
}
//event가 발생할 시 다음을 수행한다.
function inputValueHandler (e) {
const check = checkCorrectWord(wordArr,input.value);
if (!check) {
alert("규칙에 어긋나는 단어입니다. 지셨습니다.");
GameInitialization();
}
else if (check === -1) {
alert("입력하지 않으셨습니다. 다시 입력해주세요.")
}
input.value = '';
}
//시작 제시어 설정 및 기존 마지막 단어를 출력해준다.
function printLastWord() {
const arrLength = wordArr.length;
if (! arrLength) {
prevWord.innerText = "시작할 단어를 입력해주세요!"
} else {
prevWord.innerText = `이전 단어: ${wordArr[arrLength - 1]}`
}
}
//시작!
function Init() {
console.log(wordArr);
printLastWord();
}
Init();
Reference
この問題について(Zero Cho 2の强さを见て...), 我々は、より多くの情報をここで見つけました https://velog.io/@jengyoung/zeroCho-2강을-보며テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol