// enumでキャラクターの状態を定義 public enum CharacterState { Running, Jumping, Attacking } // キャラクターの状態 CharacterState state = CharacterState.Running; // switch文を使って、状態に応じたアニメーションを再生 switch (state) { case CharacterState.Running: // Runningのアニメーションを再生 break; case CharacterState.Jumping: // Jumpingのアニメーションを再生 break; case CharacterState.Attacking: // Attackingのアニメーションを再生 break; default: // 未定義の状態の場合の処理 break; }
CharacterState state = CharacterState.Running; // if文で書き直す if (state == CharacterState.Running) { // Runningのアニメーションを再生 } else if (state == CharacterState.Jumping) { // Jumpingのアニメーションを再生 } else if (state == CharacterState.Attacking) { // Attackingのアニメーションを再生 } else { // 未定義の状態の場合の処理 }
float distance = // プレイヤーとの距離 // if文を使って、距離に応じた行動を選択 if (distance <= 10) { // 攻撃する } else if (distance <= 20) { // 接近する } else { // 待機する }
float distance = // プレイヤーとの距離 // switch文で書き直す(非推奨) switch (distance) { case var d when d <= 10: // 攻撃する break; case var d when d <= 20: // 接近する break; default: // 待機する break; }
// enumでイベントの種類を定義 public enum GameEvent { OpenChest, DefeatEnemy, ReachGoal } // ゲームイベント GameEvent gameEvent = GameEvent.OpenChest; // switch文を使って、イベントに応じた処理を実行 switch (gameEvent) { case GameEvent.OpenChest: // 宝箱を開ける処理(アイテムを獲得する等) break; case GameEvent.DefeatEnemy: // 敵を倒す処理(経験値を得る等) break; case GameEvent.ReachGoal: // ゴールに到達した処理(レベルクリア等) break; default: // 未定義のイベントの場合の処理 break; }
GameEvent gameEvent = GameEvent.OpenChest; // if文で書き直す if (gameEvent == GameEvent.OpenChest) { // 宝箱を開ける処理(アイテムを獲得する等) } else if (gameEvent == GameEvent.DefeatEnemy) { // 敵を倒す処理(経験値を得る等) } else if (gameEvent == GameEvent.ReachGoal) { // ゴールに到達した処理(レベルクリア等) } else { // 未定義のイベントの場合の処理 }