๐Ÿ“”
web_study
  • JavaScript
  • ์—˜๋ฆฌ_์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ
    • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋ณธ
      • ํด๋ž˜์Šค ์˜ˆ์ œ์™€ ์ฝœ๋ฐฑํ•จ์ˆ˜
      • ์—ฐ์‚ฐ์ž boolean
      • ํ•จ์ˆ˜ ์ •์˜, ํ˜ธ์ถœ ๊ทธ๋ฆฌ๊ณ  ์ฝœ๋ฐฑ
      • ๋ณ€์ˆ˜ํƒ€์ž…๊ณผ object ์ฐจ์ด์ 
    • JavaScript async ์™€ await
    • JavaScript Promise
    • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ callback
    • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ json
    • ์œ ์šฉํ•œ 10๊ฐ€์ง€ ๋ฐฐ์—ด ํ•จ์ˆ˜๋“ค
    • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฐฐ์—ด(array)
    • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ object
    • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ (class vs object) ๊ฐ์ฒด์ง€ํ–ฅ ์–ธ์–ด
    • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ•จ์ˆ˜
    • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—ฐ์‚ฐ.๋ฐ˜๋ณต๋ฌธ
    • ๋ฐ์ดํ„ฐํƒ€์ž…, data types, let vs var, hoisting
    • script async ์™€ defer์˜ ์ฐจ์ด์  ์ฝ˜์†” ์ถœ๋ ฅ
    • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—ญ์‚ฌ
  • ์ƒํ™œ์ฝ”๋”ฉ
    • ์žฌ๊ท€ํ•จ์ˆ˜
    • ์ •๊ทœ ํ‘œํ˜„์‹
    • ๊ฐ์ฒด์ง€ํ–ฅ
      • ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ
      • ์ƒ์„ฑ์ž์™€ new
      • ์ „์—ญ๊ฐ์ฒด
      • this
      • ์ƒ์†
      • prototype
      • ํ‘œ์ค€ ๋‚ด์žฅ ๊ฐ์ฒด์˜ ํ™•์žฅ
      • object
      • ๋ฐ์ดํ„ฐ ํƒ€์ž…
      • ์ฐธ์กฐ
    • ํ•จ์ˆ˜์ง€ํ–ฅ
      • ์œ ํšจ๋ฒ”์œ„
      • ๊ฐ’์œผ๋กœ์„œ์˜ ํ•จ์ˆ˜์™€ ์ฝœ๋ฐฑ
      • ํด๋กœ์ €
      • arguments
      • ํ•จ์ˆ˜์˜ ํ˜ธ์ถœ
    • UI API, ๋ฌธ์„œ
    • ๋ชจ๋“ˆ
    • ๊ฐ์ฒด
    • ๋ฐฐ์—ด
    • ํ•จ์ˆ˜
    • ๋ฐ˜๋ณต๋ฌธ
    • ์กฐ๊ฑด๋ฌธ
    • ์ˆซ์ž์™€๋ฌธ์ž
    • ๋ณ€์ˆ˜
    • ๋น„๊ต
  • ๋…ธ๋งˆ๋“œ ์ฝ”๋”
    • Getting the Weather part One Geolocation
    • Image Background
    • TO DO List
    • Saving the User Name
    • Clock part One
    • ์กฐ๊ฑด๋ฌธ ( if , else, and, or)
    • evnet handlers
    • Function
    • Objects
    • Arrays
    • Variable(๋ณ€์ˆ˜!)
    • Javascript
  • javascript30
    • Dram Kit
    • clock
    • Css Javascript
    • Array Cardio
    • flex panels
    • type ahead
    • Canvas Draw
    • Speech Synthesis
    • Whack A Mole
  • web standard
    • script ๋ถ€๋ถ„
    • form๋ถ€๋ถ„
    • ์›น์ ‘๊ทผ์„ฑ
    • <meta>
  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ_์ด๋ก 
    • ๊ธฐ๋ณธ์ง€์‹(JAVASCRIPT)
    • ๊ธฐ๋ณธ์ง€์‹(CSS)
    • ๊ธฐ๋ณธ์ง€์‹(HTML)
    • ๊ธฐ๋ณธ์ง€์‹(HTTP)
    • Dom
    • ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, ํ”„๋ ˆ์ž„์›Œํฌ, ํ”Œ๋กœ๊ทธ์ธ
Powered by GitBook
On this page

Was this helpful?

  1. javascript30

Whack A Mole

const holes = document.querySelectorAll('.hole');
    const scoreBoard = document.querySelector('.score');
    const moles = document.querySelectorAll('.mole');
    let lastHole;
    let timeUp = false; // ๊ฒŒ์ž„์ด ๋๋‚ฌ๋Š”์ง€๋ฅผ ์•Œ๋ ค์ฃผ๋Š” ๋ณ€์ˆ˜ timeUp์— false ๊ฐ’ ์ง€์ •
    let score = 0; // ์ ์ˆ˜ํŒ์˜ ์ ์ˆ˜ ํ‘œ์‹œ์™€ ์ ์ˆ˜๋ฅผ ์ €์žฅํ•œ score ๋ณ€์ˆ˜๋ฅผ 0์œผ๋กœ ์ดˆ๊ธฐํ™”


    function randomTime(min, max) {
        return Math.round(Math.random() * (max - min) + min);
    }

    function randomHole(holes) {// ๊ตฌ๋ฉ ๊ฐฏ์ˆ˜ ๋งŒํผ ๋žœ๋ค์œผ๋กœ ๋‚˜์˜ฌ ๊ตฌ๋ฉ์„ ๊ฒฐ์ •ํ•ด์คŒ 
        const idx = Math.floor(Math.random() * holes.length);
        const hole = holes[idx];
        if (hole === lastHole) {
            return randomHole(holes);
        }
        lastHole = hole;
        return hole;
    }
    function peep() {
        const time = randomTime(100, 800); // ๋‘๋”์ง€ ๋‚˜์˜ฌ ์‹œ๊ฐ„ ๋ฌด์ž‘์œ„๋กœ ๊ณ„์‚ฐ
        const hole = randomHole(holes);  // ๋‘๋”์ง€ ๋‚˜์˜ฌ ๊ตฌ๋ฉ ๋ฌด์ž‘์œ„๋กœ ๊ณ„์‚ฐ
        hole.classList.add('up'); // ๋‘๋”์ง€๊ฐ€ ๋‚˜์˜ฌ ๊ตฌ๋ฉ์— up ํด๋ž˜์Šค๋ฅผ ์ถ”๊ฐ€
        setTimeout(() => {
            hole.classList.remove('up'); //setTimeout( ) ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด ๋ฌด์ž‘์œ„ ์‹œ๊ฐ„ ์ดํ›„ ๋‘๋”์ง€๊ฐ€ ๋‚˜์˜ฌ ๊ตฌ๋ฉ์—์„œ up ํด๋ž˜์Šค๋ฅผ ์ œ๊ฑฐ
            if (!timeUp) peep(); //๊ฒŒ์ž„์ด ๋๋‚˜์ง€ ์•Š์•˜๋‹ค๋ฉด peep( ) ํ•จ์ˆ˜๋ฅผ ๋‹ค์‹œ ์‹คํ–‰3
        }, time);
    }

    function startGame() {
        scoreBoard.textContent = 0;
        timeUp = false;
        peep();
        setTimeout(() => timeUp = true, 10000) // 10์ดˆ ํ›„ ๊ฒŒ์ž„ ์ข…๋ฃŒ 
    }

    function bonk(e) { // ํŠ€์–ด๋‚˜์˜จ ๋‘๋”์ง€ ์žก๊ธฐ 
        if (!e.isTrusted) return; // cheater!

        this.parentNode.classList.remove('up'); // ์ด๋ฒคํŠธ ๋ฐœ์ƒํ•œ ์š”์†Œ์— up ํด๋ ˆ์Šค ์ œ๊ฑฐ
        score++; // ์ ์ˆ˜๋ฅผ ์ €์žฅํ•˜๋Š” ๋ณ€์ˆ˜ score์— +1
        scoreBoard.textContent = score; // ์ ์ˆ˜ํŒ์˜ textContent๋ฅผ score๋กœ ์ง€์ •
    }

    moles.forEach(mole => mole.addEventListener('click', bonk)); // ํด๋ฆญํ–ˆ์„๋•Œ ๋‘๋”์ง€ ์žกํžˆ๊ฒŒ ์‹คํ–‰ ์‹œ์ผœ์คŒ 
  <h1>Whack-a-mole! <span class="score">0</span></h1>
    <button onClick="startGame()">Start!</button>

    <div class="game">
        <div class="hole hole1">
            <div class="mole"></div>
        </div>
        <div class="hole hole2">
            <div class="mole"></div>
        </div>
        <div class="hole hole3">
            <div class="mole"></div>
        </div>
        <div class="hole hole4">
            <div class="mole"></div>
        </div>
        <div class="hole hole5">
            <div class="mole"></div>
        </div>
        <div class="hole hole6">
            <div class="mole"></div>
        </div>
    </div>
PreviousSpeech SynthesisNextscript ๋ถ€๋ถ„

Last updated 3 years ago

Was this helpful?