HTMLとJavaScriptで作る神経衰弱ゲームの作り方を初心者向けに解説した記事のアイキャッチイメージ画像!カードのめくり、判定、スコア保存まで一つのHTMLで学べます。

開発ガイド

【コピペで完成】神経衰弱ゲームの作り方|HTMLとJavaScriptで遊べる本格トランプゲームをゼロから作ろう!

「JavaScriptでゲームを作ってみたいけど、何から始めたらいいのかわからない…」
そんな方におすすめなのが、今回紹介する神経衰弱ゲームの作り方です。

トランプを使った定番の記憶力ゲームを、HTML・CSS・JavaScriptの3つだけで実装できます。
カードをクリックするとひっくり返り、同じ数字を当てると固定される――
シンプルながらも、しっかり“ゲームとして遊べる”本格仕様です。

しかもこのゲームは、ひとつのHTMLファイルで完結
コピペしてブラウザで開くだけで、すぐに動作を確認できます。

「JavaScriptでどんなふうに動きをつけるの?」「カードのランダム配置ってどうするの?」
といった疑問も、この記事を読めばすべて解決します。

後半では、カードをめくるアニメーションの作り方
スコアをブラウザに保存する方法(localStorage)も詳しく解説します。

初心者でもゼロから完成できるステップ形式で進めていくので、
ぜひ一緒に作りながら学んでみてください。

完成イメージと仕様を確認しよう

まずは、今回作る神経衰弱ゲームの完成イメージを見てみましょう。
この記事で紹介するコードをコピペすれば、以下のような本格的なトランプゲームが動きます。

完成版を体験してみよう

ゲームの仕様まとめ

この神経衰弱ゲームでは、以下のような機能を実装しています。

カード構成

  • 使用するカード:1〜10までの数字×2枚(合計20枚)
  • 配置:5列×4行のグリッドレイアウト
  • 裏面:クラシックなトランプ柄画像

ランダム配置

  • ゲーム開始時に、カードの並びが毎回ランダムに変化します。
    → 何度遊んでも新鮮な感覚でプレイできます。

ゲームの流れ

  1. 「ゲームスタート」を押すと、カードがシャッフルされて並びます。
  2. 2枚のカードをめくり、同じ数字ならそのまま固定。
  3. 異なる数字なら、約1秒後に自動で裏返ります。
  4. すべてのペアを見つけるとゲームクリア!

ゲームの全体像を理解してからコードを読み進めると、
「どの部分で何をしているか」がぐっと分かりやすくなりますよ。

ほーく
ほーく

完成コードをコピペして動かそう

プログラミングの学習で大切なのは、
「動くものを体験すること」です。

まずは、完成済みの神経衰弱ゲームをそのままコピーして動かしてみましょう。
この1ステップで、HTML・CSS・JavaScriptがどんなふうに連携しているのかが自然と見えてきます。

手順①:コードをコピーしよう

手順②:ファイルを保存しよう

  1. メモ帳やVS Codeなどのエディタを開きます。
  2. コピーしたコードを貼り付けて、
     ファイル名を index.html にして保存します。
  3. 保存場所は、デスクトップやわかりやすいフォルダでOKです。

拡張子が .html になっていればOKです。
もし .txt のままだとブラウザで動かないので注意してくださいね。

ほーく
ほーく

手順③:ブラウザで開こう

保存した index.htmlダブルクリックして開いてみましょう。
Google Chrome・Edge・Safariなど、どのブラウザでも動作します。

HTMLを理解しよう

神経衰弱ゲームは、HTML・CSS・JavaScript の3つの技術でできています。
そのうち、HTMLはゲーム全体の“骨組み”を作る役割を持っています。

まずは、完成コードの中からHTML部分を抜き出して見てみましょう

各パーツの役割を見てみよう

要素内容・役割
<div class="container">ゲーム全体をまとめる枠。中央寄せのレイアウトに使われます。
<h1>ページタイトル。「神経衰弱ゲーム」と表示。
<div class="info">現在のターン数とベストスコアを表示する情報エリア。
<div class="button-group">「ゲームスタート」と「リセット」ボタンを配置する部分。
<div class="memory-game">実際のカードを並べるボード。JavaScriptで自動的にカードが追加されます。

<div class="memory-game"> の中身は最初は空なんです。
JavaScriptがゲーム開始時にここへカードを自動生成してくれます。

ほーく
ほーく

ポイント解説

  1. HTMLは「見た目」ではなく「構造」を定義する
    • どこにスコアが出るのか、どこにカードが並ぶのかを指定する。
    • デザインや動きは別パート(CSS/JavaScript)が担当。
  2. クラス名とID名をわかりやすく
    • messagestartButtonresetButton のように、
       名前だけで“何の役割か”が分かるようにするのが大切です。
  3. HTMLはゲームの「設計図」
    • これをベースに、CSSで装飾し、JavaScriptで動かす。
    • どの要素に動きをつけるかは、ここで付けたidclassを使って指定します。

HTMLを読めるようになると、「このボタンがどこにつながってるのか」「どの部分がスコアなのか」がすぐ分かります。
コードが長くなっても、構造を意識して書けば迷わなくなりますよ。

ほーく
ほーく

CSSでカードとレイアウトをデザインしよう

HTMLで骨組みができたら、次は見た目を整えましょう。
ここでは、カードの並び・デザイン・アニメーションを作るためにCSSを使います。

レイアウトの仕組みを理解しよう

カードの並び部分は、CSSの グリッドレイアウト でカードを整列させています。

プロパティ内容
display: grid;要素を格子状に並べるモードにする。
grid-template-columns: repeat(5, 1fr);横に5枚並べる。
gap: 8px;カード間のすき間を8pxに設定。

カードのデザインポイント

カード部分は .card クラスで定義されています。

今回のCSSではトランプの裏面に画像を使っていませんが、
background-color 部分を変更することで、画像を使用することができます。
この部分を以下のように変更するだけでOKです

background-color: #2c3e50;

background-image: url('card_back.png'); /* 画像ファイル名を指定 */

アニメーションのポイント

transform: rotateY(180deg); は、要素をY軸方向に回転させる指定です。
まさに“カードを裏返す”動きにピッタリなんです。

JavaScriptでゲームを動かそう

ハイスコアの読み込み

保存がなければ Infinity を返す設計にすることで、「初回はどんなスコアでも“最小”として更新可能」にしています。

カードの生成&シャッフル

  • 重複なしで均等にランダム化できるシャッフル。
  • 1枚のカードに表(.card-front)と裏(.card-back)の2面を持たせています。
  • 表面は textContent = value で数字を表示。
  • クリックはカード本体 .card にバインド(flipCard)。

一致判定と結果反映

  • 1枚目と2枚目の数字一致をチェック。
  • そろったカードは matched を付与して固定、クリックも解除。
  • cardsFlipped10(= 10ペア)に達したらクリア。
  • 不一致は1秒後に表を戻す(setTimeout で演出と誤操作防止)。

スコア保存

  • ハイスコアは localStorage最小値として保存・表示します。

アレンジしてオリジナル神経衰弱に挑戦!

基本の神経衰弱ゲームが完成したら、
次は少し手を加えて自分だけのオリジナル版に進化させてみましょう。

ちょっとした見た目の変更や機能追加だけでも、
まったく新しいゲーム体験になります。

裏面デザインを変えてみよう

現在のコードでは、カードの裏面をシンプルな色で表現していますが、
画像を使えばトランプのような本格的な雰囲気にできます。

card_back.png を同じフォルダに置いておけば、裏面が一気に華やかになりますよ!

カード枚数を増減して難易度を変える

generateAndShuffleCards() 関数の以下の部分を変更すれば、
カードの枚数(ペア数)を調整できます。

数字を10から8に減らして難易度を簡単にする。
逆に10から12に増やして難易度を上げる。
事が可能です。
難易度ボタンを追加して、「初級」「中級」「上級」ごとにペア数を自動切り替えるのも面白いですよ。

効果音を追加して臨場感アップ

クリックやマッチのタイミングに効果音を入れると、
一気に“遊んでいる感”が高まります。

効果音はゲーム体験をぐっと豊かにします。
MP3ファイルを同じフォルダに置くだけで簡単に使えますよ。

小さな工夫の積み重ねで、同じゲームがどんどん楽しく進化していきます。
ぜひ自分だけの“オリジナル神経衰弱”を作ってみてくださいね。

ほーく
ほーく

おすすめの学習リソース|もっとスキルを伸ばしたいあなたへ

神経衰弱ゲーム」を完成させたことで、あなたはすでに HTML・CSS・JavaScriptの基礎 に触れました。
ここからさらにステップアップするために役立つ学習リソースを紹介します。

おすすめ書籍

『ゲームで学ぶJavaScript入門 増補改訂版 ~ブラウザゲームづくりでHTML&CSSも身につく!』

  • ゲームを作りながら学べるので、退屈せずにJavaScriptの基礎が身につく
  • HTML・CSS・JavaScriptの基本を一冊で網羅、Web制作の土台が自然に理解できる
  • 13本のサンプルゲームを実際に動かせるから「作れる喜び」が味わえる
  • 初心者・中高生にもやさしい解説で、初めてのゲームプログラミングに最適

『スラスラわかるHTML&CSSのきほん』(SBクリエイティブ)

  • Web制作初心者に最適な入門書。HTMLとCSSの仕組みをやさしく解説。
  • これからWebページを作ってみたい方にぴったり。
  • レイアウトの基本やスタイルの調整方法など、実践的に学べます。
SBクリエイティブ/狩野祐東

オンライン講座編

Udemy|世界最大級のオンライン学習プラットフォーム

世界中で利用されるオンライン学習サイト。
HTML、CSS、JavaScriptの入門から応用まで、高評価の講座が数百種類揃っています。
初心者でも動画を見ながら手を動かせるので、挫折しにくいのが魅力です。

まとめ|HTMLとJavaScriptで作る神経衰弱ゲームの魅力

ここまでの手順で、
HTML・CSS・JavaScriptだけで動く本格的な神経衰弱ゲームを完成させることができました

たった1つのHTMLファイルで、

  • カードのシャッフル
  • フリップアニメーション
  • 一致判定
  • リセットボタン
  • ハイスコア保存

といった複数の仕組みを実装できたのは大きな成果です。

今回のように、1つの完成品を作りながら覚えると、
“コードを書く意味”が自然と理解できます。
ゲームは学習のモチベーションを高める最高の題材です。

小さな成功を積み重ねていくことが、スキルアップの一番の近道です。
ぜひ、次はあなたのアイデアで“世界に一つだけのWebゲーム”を作ってみてください!

関連記事

【実際に遊べる神経衰弱ゲームはこちら。ベストスコア更新を目指して挑戦してみよう!】▼

【作り方記事】記憶力テストゲームの作り方|HTMLとJavaScriptで簡単作成!遊べる脳トレアプリ

【作り方記事】タイピング練習ゲームの作り方|HTMLとJavaScriptで初心者でもできる!▼

-開発ガイド
-, , , ,