3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

初心者プログラマーがJavascriptは楽しいと感じた学習方法(クリックゲームを作成する)

Posted at

執筆者のプログラミングレベル

プログラミング入門レベルを学習して3ケ月。
HTML,CSS,Javascriptを学習。
プログラミング練習としてホームページの模写コーディングも実装済み。

【楽しい学習方法】何か簡単なゲームやアプリを作る

せっかく学習をしたからには、何か面白いものを作成しながら勉強していきたいと思いました。
今回は「クリックゲーム」を作成してみました。
まだまだ技術力不足ですが、何かを作成していくことは楽しい学習方法だと感じています。

作成画面

スクリーンショット 2023-10-06 211733.png



ソースコード

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>クリックゲーム</title>
  <style>
    body {
      display: flex;
      justify-content: center;
      align-items: center;
      height: 100vh;
      margin: 0;
      background-color: #f0f0f0;
      font-family: Arial, sans-serif;
    }

    .container {
      text-align: center;
    }

    .game-info {
      padding: 20px;
      background-color: #3498db;
      border-radius: 10px;
      color: white;
    }

    #clicker, #start, #reset {
      font-size: 1.5em;
      padding: 10px 20px;
      margin: 10px;
      border: none;
      border-radius: 5px;
      cursor: pointer;
    }

    #clicker:disabled {
      background-color: #bdc3c7;
      cursor: not-allowed;
    }

    #reset {
      background-color: #e74c3c;
    }

    #reset:hover {
      background-color: #c0392b;
    }

    #start {
      background-color: #27ae60;
    }

    #start:hover {
      background-color: #219d54;
    }
  </style>
</head>
<body>
  <div class="container">
    <div class="game-info">
      <h1>クリックゲーム</h1>
      <button id="clicker" disabled>クリックボタン</button>
      <div id="score">クリック数: 0</div>
      <div id="timer">残り時間: 10 秒</div>
      <button id="start" onclick="startGame()">スタート</button>
      <button id="reset" onclick="resetGame()">リセット</button>
    </div>
  </div>

  <script>
    let score = 0;
    let timer = 10;
    let timerInterval;

    const startButton = document.getElementById('start');
    const clickerButton = document.getElementById('clicker');
    const scoreDisplay = document.getElementById('score');
    const timerDisplay = document.getElementById('timer');

    clickerButton.addEventListener('click', () => {
      score++;
      scoreDisplay.textContent = `クリック数: ${score}`;
    });

    function startGame() {
      score = 0;
      timer = 10;
      scoreDisplay.textContent = `クリック数: ${score}`;
      timerDisplay.textContent = `残り時間: ${timer} 秒`;

      clickerButton.disabled = false;
      startButton.disabled = true;

      timerInterval = setInterval(() => {
        timer--;
        timerDisplay.textContent = `残り時間: ${timer} 秒`;

        if (timer === 0) {
          clearInterval(timerInterval);
          clickerButton.disabled = true;
          startButton.disabled = false;
          alert('ゲーム終了!');
        }
      }, 1000);
    }

    function resetGame() {
      clearInterval(timerInterval);
      window.location.reload();
    }
  </script>
</body>
</html>

学習目的

プログラミング学習をしてIT転職を考えている。
プログラミングは楽しいので、Web系のエンジニアなどの転職を視野に入れている。

今後の学習内容

HTML,CSS,Javascriptで何かゲームやアプリを作成しながら学習していきたい。
転職活動にはポートフォリオが必要ですが、最終的には質の高いポートフォリオ作成を目指したいです。

気になる学習サイト

javascriptで簡単なゲームを作成しているのを紹介しているサイトです。

3
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?