BLOG

【簡単ゲームプログラミング】ブロック崩しゲームをつくってみよう!-#1ベースデザインの作成編-【HTML・CSS・JavaScript】

2024-01-10

どうもロックシステムのみなみです!
今回からYoutube新シリーズ『【簡単ゲームプログラミング】ブロック崩しゲームをつくってみよう!』がスタートしました!

ブロック崩しゲーム、皆さん遊んだことがあるのではないでしょうか?


完成するブロック崩しゲームはこんな感じ!
動画は全3回となっており初心者の方でも簡単につくれちゃいます◎
今回のシリーズを通してゲーム開発の基礎を学んでいきましょうー!

第一回目はベースとなる画面をHTML、CSS、JavaScriptを使って作っていきます。
是非ご覧ください!

今回使用したコードはこちら

・1:18~
HTML
ブロック崩しゲームのベースとなります
<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="style.css">
    <title>ブロック崩しゲーム</title>
</head>
<body>
    <div class="gameContainer">
        <div class="ball"></div>
        <div class="paddle"></div>
        
    </div>
    <script src="script.js"></script>
</body>
</html>

・2:06~
CSS
ゲーム画面とボール・パドルのデザインを決めていきます
body {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100vh;
    background-color: black;
}
.gameContainer {
    width: 600px;
    height: 400px;
    border: 1px solid white;
    position: relative;
}
.ball {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: white;
}
.paddle {
    width: 90px;
    height: 12px;
    background-color: orange;
    bottom: 0;
    left: 220px;
}
.ball, .paddle, .block {
    position: absolute;
}
.block {
    width: 60px;
    height: 20px;
}

・3:11~
JavaScript
ブロックの数やデザインを決めていきます。
JavaScriptで作っておくことで、後々ブロック数の変更など難易度の調整がしやすくなります◎
document.addEventListener("DOMContentLoaded", function() {
    const gameContainer = document.querySelector(".gameContainer");
    const ball = document.querySelector(".ball");
    const paddle = document.querySelector(".paddle");
    // ブロックの行数
    const blockLine = 4;
    // 1行あたりのブロック数
    const numBlocks = 8;
    // 1行ごとのブロックカラー
    const blockColor = ["yellow", "pink", "red", "blue"];
    for (let i = 0; i < blockLine * numBlocks; i++) {
        const block = document.createElement("div");
        block.classList.add("block");
        gameContainer.appendChild(block);
        const row = Math.floor(i / numBlocks);
        const col = i % numBlocks;
        const colorIndex = row % blockColor.length;
        block.style.top = row * 30 + "px";
        block.style.left = col * 75 + "px";
        block.style.backgroundColor = blockColor[colorIndex];
    }
})

株式会社ロックシステム

「ブラック企業をやっつけろ!!」を企業理念にエンジニアが働きやすい環境をつきつめる大阪のシステム開発会社。2014年会社設立以来、残業時間ほぼゼロを達成し、高い従業員還元率でエンジニアファーストな会社としてIT業界に蔓延るブラックなイメージをホワイトに変えられる起爆剤となるべく日々活動中!絶賛エンジニア募集中。