進捗:
01a/8

変数とは何か
プログラミング基礎

ゲーム開発で必須の「変数」の概念を理解しよう

変数って何?

変数とは、 データを一時的に保存するための「箱」 です。この箱には名前を付けることができ、後でその名前を使ってデータを取り出したり、新しいデータに入れ替えたりできます。

🏠 現実世界の例

引き出しの例:

  • • 引き出しに「文房具」というラベルを貼る
  • • その中にペンや消しゴムを入れる
  • • 後で「文房具」と呼んで中身を取り出す
  • • 中身を別のものに入れ替える

💻 プログラムの例

変数の例:

  • • 変数に「 playerName 」という名前を付ける
  • • その中に「 太郎 」という値を入れる
  • • 後で「 playerName 」と呼んで「 太郎 」を取り出す
  • • 「 花子 」に変更する

🎮 ゲームでの変数の使い道

ゲーム開発では、あらゆる情報を変数で管理します。以下のようなデータが変数として使われます:

🏃‍♂️ プレイヤー情報

  • playerHealth = 100 (体力)
  • playerScore = 1500 (スコア)
  • playerX = 250 (X座標)
  • playerY = 400 (Y座標)
  • playerName = "太郎" (名前)

ゲーム状態

  • gameLevel = 3 (現在のレベル)
  • timeLeft = 45 (残り時間)
  • enemyCount = 7 (敵の数)
  • isPaused = false (ポーズ中?)
  • gameDifficulty = "Normal" (難易度)

これらの値は、ゲーム中に常に変化します。プレイヤーが動けば座標が変わり、ダメージを受ければ体力が減り、敵を倒せばスコアが増えます。変数があるからこそ、このような 動的な変化 を管理できるのです。

📝 TypeScriptでの変数の書き方

1 const(定数):変更されない値

const は「constant(定数)」の略で、 一度設定したら変更できない値 を宣言するときに使います。

基本的な書き方:

const 変数名 = 値;

具体例:

// ゲームの基本設定(変更されない値) const GAME_WIDTH = 800; // ゲーム画面の幅 const GAME_HEIGHT = 600; // ゲーム画面の高さ const MAX_LEVEL = 10; // 最大レベル const PLAYER_START_X = 400; // プレイヤーの初期X座標 const GRAVITY = 0.5; // 重力の強さ

constを使う場面:

  • • ゲームの設定値(画面サイズ、最大HP など)
  • • 物理定数(重力、摩擦係数 など)
  • • 色やテキストなどの固定値
  • • API のURL など

2 let(変数):変更される値

let値を後で変更できる変数 を宣言するときに使います。ゲーム中に変化する値はletで宣言します。

基本的な書き方:

let 変数名 = 初期値; 変数名 = 新しい値; // 後で変更可能

具体例:

// ゲーム中に変化する値 let playerHealth = 100; // プレイヤーの体力 let currentScore = 0; // 現在のスコア let playerX = 400; // プレイヤーのX座標 let enemiesDefeated = 0; // 倒した敵の数 // ゲーム中に値を変更 playerHealth = playerHealth - 10; // ダメージを受けて体力減少 currentScore = currentScore + 50; // 敵を倒してスコア増加 playerX = playerX + 5; // プレイヤーが右に移動

letを使う場面:

  • • プレイヤーの状態(体力、座標、スコア など)
  • • ゲームの進行状況(レベル、時間、回数 など)
  • • 一時的な計算結果
  • • ループのカウンター

📋 変数の命名規則

変数の名前の付け方にはルールがあります。読みやすく、理解しやすい名前を付けることが重要です。

✅ 良い例

// 意味が分かりやすい let playerHealth = 100; let currentLevel = 1; let isGamePaused = false; let enemySpawnRate = 2.5; // キャメルケース(推奨) let maxPlayerHealth = 100; let totalScoreThisGame = 0;

❌ 悪い例

// 意味が不明 let x = 100; let a = 1; let flag = false; let rate = 2.5; // 日本語(避けるべき) let プレイヤー体力 = 100; let 現在レベル = 1;

基本ルール:

実践例:簡単なゲーム設定

シューティングゲームの変数設定

実際のゲーム開発での変数の使い方を見てみましょう:

// ========== ゲーム設定(変更されない値)========== const GAME_WIDTH = 800; // ゲーム画面の幅 const GAME_HEIGHT = 600; // ゲーム画面の高さ const PLAYER_SPEED = 5; // プレイヤーの移動速度 const BULLET_SPEED = 10; // 弾の速度 const MAX_PLAYER_HEALTH = 100; // プレイヤーの最大体力 // ========== ゲーム状態(変化する値)========== let playerX = GAME_WIDTH / 2; // プレイヤーのX座標(中央から開始) let playerY = GAME_HEIGHT - 50; // プレイヤーのY座標(下部から開始) let playerHealth = MAX_PLAYER_HEALTH; // 現在の体力 let currentScore = 0; // 現在のスコア let bulletsCount = 0; // 発射した弾の数 let enemiesDefeated = 0; // 倒した敵の数 let gameLevel = 1; // 現在のレベル let isGameRunning = false; // ゲームが動いているか // ========== ゲーム中での値の変更例 ========== // プレイヤーが右に移動 playerX = playerX + PLAYER_SPEED; // ダメージを受けた時 playerHealth = playerHealth - 20; // 敵を倒した時 enemiesDefeated = enemiesDefeated + 1; currentScore = currentScore + 100; // レベルアップ条件をチェック if (enemiesDefeated >= 10) { gameLevel = gameLevel + 1; enemiesDefeated = 0; // カウンターをリセット }

const の使用例

ゲームの基本設定値。一度決めたら変更されない値。

let の初期化

ゲーム開始時の初期値を設定。後で変更される。

値の更新

ゲーム中に発生するイベントで値を変更。

⚠️ よくある間違いと対処法

❌ constの値を変更しようとする

const playerHealth = 100; playerHealth = 80; // エラー!constは変更できません

解決法: 変更される可能性がある値はletを使いましょう

❌ 変数を宣言せずに使う

score = 100; // エラー!scoreが宣言されていません

解決法: 必ずlet、またはconstで宣言してから使いましょう

❌ 同じ名前の変数を重複宣言

let playerX = 100; let playerX = 200; // エラー!同じ名前は使えません

解決法: 一度宣言した変数名は再利用せず、値の変更は宣言キーワードなしで行いましょう

変数の基本まとめ

const(定数)

  • • 変更されない値
  • • ゲーム設定、固定値
  • • 一度設定したら変更不可

let(変数)

  • • 変更される値
  • • プレイヤー状態、ゲーム進行
  • • 後で値を変更可能

変数は プログラムの記憶装置 です。適切な名前を付けて、constとletを正しく使い分けることで、読みやすく保守しやすいコードが書けるようになります。

次章では、変数に入れることができる 「データ型」 について学習します!