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();