Javascript(38)シンプルなミニゲームの作成について

Javascriptと書いたキーボード画像 javascript

前回はクリックイベントについて紹介しました。

Javascript(37)クリックイベントのマスターの仕方
今回は、クリックした時に発生するイベントをjavascriptで操作する方法を紹介します。これを見てイベントマスターになりましょう。

今回はシンプルなミニゲームの作成について紹介していきます。

【もっと詳しく知りたい人は是非これを読んでください!!】

1冊ですべて身につくJavaScript入門講座 [ Mana ]

価格:2794円
(2025/1/12 23:09時点)
感想(2件)

 

 

 

JavaScriptで作るシンプルなミニゲーム:クリックで操作するアクションゲーム

このミニゲームでは、画面上にランダムに出現するを、クリックで倒してスコアを競います。
JavaScriptのクリックイベントやDOM操作を活用し、初心者でも簡単に実装できるように解説します。

はじめに

このミニゲームでは、画面上にランダムに出現する**「敵」をクリックで倒し、スコアを競うシンプルなゲームを作成します。
クリックイベントや
DOM操作**の基礎を学びながら、インタラクティブなWebアプリの開発を体験できます。

完成イメージ

  1. **「スタートボタン」**を押すと、ランダムな位置に敵(赤い円)が出現
  2. 敵をクリックするとスコアが増加
  3. 30秒経過するとゲーム終了

HTMLコード

まずは、基本となるHTMLを作成します。

html
<div id="gameContainer"></div>
<h2 id="scoreBoard">スコア: 0</h2>
<button id="startBtn">ゲームスタート</button>

HTMLの解説

要素 役割
<div id="gameContainer"> 敵が出現するエリア(ゲームフィールド)
<h2 id="scoreBoard"> スコアを表示
<button id="startBtn"> ゲームを開始するボタン

CSSコード

ゲームの見た目を整えるCSSを追加します。

css
#gameContainer {
position: relative;
width: 100%;
max-width: 600px;
height: 400px;
background-color: #fff;
border: 1px solid #ccc;
border-radius: 5px;
overflow: hidden;
}

.enemy {
position: absolute;
width: 50px;
height: 50px;
background-color: #E74C3C;
border-radius: 50%;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
color: #fff;
}

CSSの解説

クラス 役割
#gameContainer ゲームフィールドの設定(大きさや枠線)
.enemy 敵のデザイン(赤い円、クリック可能)

JavaScriptコード

最後に、ゲームの動きを実装するJavaScriptを記述します。

js
let score = 0; // スコアを保持する変数
let gameInterval; // 敵を定期的に生成するための変数
const gameContainer = document.getElementById("gameContainer");
const scoreBoard = document.getElementById("scoreBoard");
const startBtn = document.getElementById("startBtn");

// スコア更新関数
function updateScore() {
scoreBoard.textContent = "スコア: " + score;
}

// 敵を生成する関数
function createEnemy() {
const enemy = document.createElement("div");
enemy.classList.add("enemy");
enemy.textContent = "敵";

// ランダムな位置を設定
const maxWidth = gameContainer.clientWidth - 50;
const maxHeight = gameContainer.clientHeight - 50;
enemy.style.left = Math.floor(Math.random() * maxWidth) + "px";
enemy.style.top = Math.floor(Math.random() * maxHeight) + "px";

// 敵をクリックするとスコアが増える
enemy.addEventListener("click", function() {
enemy.remove(); // 敵を削除
score += 10; // スコア加算
updateScore();
});

gameContainer.appendChild(enemy);
}

// ゲーム開始関数
function startGame() {
score = 0; // スコアリセット
updateScore();
gameContainer.innerHTML = ""; // 既存の敵を消去
gameInterval = setInterval(createEnemy, 1000); // 1秒ごとに敵を生成
}

// ゲーム終了関数
function stopGame() {
clearInterval(gameInterval);
alert("ゲーム終了!最終スコアは " + score + " 点です。");
}

// スタートボタンをクリックするとゲーム開始
startBtn.addEventListener("click", function() {
startGame();
setTimeout(stopGame, 30000); // 30秒後にゲーム終了
});


JavaScriptコードの解説

関数名 役割
updateScore() スコアの表示を更新
createEnemy() ランダムな位置に敵を生成し、クリック時にスコア加算
startGame() ゲームを開始(スコアリセット&敵の生成開始)
stopGame() ゲーム終了(敵の生成を停止し、スコアを表示)

スコア: 0


まとめ

本記事では、JavaScriptのクリックイベントやDOM操作を使って、シンプルなミニゲームを作成する方法を解説しました。
敵をランダムに出現させ、クリックで倒すという基本的なゲームロジックを通して、インタラクティブなWebアプリケーションの作り方を学びました。
初心者の皆さんは、まずはこのミニゲームを実装し、クリックイベントやスコア管理などの基本を身につけ、その後さらに高度な機能にチャレンジしてください。


参考リンク

以上がシンプルなミニゲームの作成でした。
次回はHTML/CSSとjavascrptで作成するレスポンシブナビゲーションメニューについて紹介します。