HTML5 Tetris 게임 만들기 - (1) 뼈대 만들기
07 Jan 2020 | javascript html5Tetris 게임 뼈대 구현
테트리스 게임을 만들기 전에 먼저 HTML5 canvas 위에 작은 박스를 그려보고, Keyboard 화살표 입력을 이용해서 이동을 할 수 있는 코드를 작성해보도록 하겠습니다.
tetris.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>;Tetris</title>
    <script src="/js/tetris.js"></script>
</head>
<body>
    <canvas id="canvas" width="240" height="480">
        이 브라우저는 HTML5 Canvas를 지원하지 않습니다.
    </canvas>
    <br>
    <script>
        window.onload = function() {
            init();
            draw();
        }
    </script>
</body>
</html>
js/tetris.js
var canvas;
var ctx;
var x, y;
function init() {
    canvas = document.getElementById('canvas');
    ctx = canvas.getContext('2d');
    x = canvas.width / 2;
    y = 20;
}
function draw() {
    drawBackground();
    drawBlock();
}
function drawBackground() {
    ctx.fillStyle = 'black';
    ctx.fillRect(0, 0, canvas.width, canvas.height);
}
function drawBlock() {
    ctx.fillStyle = 'orange';
    ctx.fillRect(x-10, y-10, 20, 20);
}
여기까지 코드를 작성하면 화면에 캔버스를 그리고 검정색 백그라운드에 오렌지색 박스를 하나 그리게 됩니다.
키보드 입력 이벤트 리스너 등록
function addKeyEventListener() {
    addEventListener('keydown', function(event) {
        switch(event.key) {
            case 'ArrowLeft':
                console.log("Left");
                x -=20;
                draw();
                break;
            case 'ArrowRight':
                console.log("Right");
                x += 20;
                draw();
                break;
            case 'ArrowUp':
                console.log("Up");
                y -= 20;
                draw();
                break;
            case 'ArrowDown':
                console.log("Down");
                y += 20;
                draw();
                break;
        }
    });
}
  