前提・実現したいこと
C#でif文を用いてデータをロードするか新規でデータを作る簡単なコードを書きたい
発生している問題・エラーメッセージ
エラー CS0165 未割り当てのローカル変数 'player' が使用されました。
該当のソースコード
C#
1using System; 2 3namespace ConsoleQuest 4{ 5 class Program 6 { 7 static void Main(string[] args) 8 { 9 Logger.Inject(new ConsoleLogger(), new ConsoleInput()); 10 11 string currentDirectory = System.IO.Directory.GetCurrentDirectory(); 12 13 string jsonPath = currentDirectory + "\playerData.json"; 14 15 string Playname; 16 17 int num; 18 19 Logger.Log("Start Game!"); 20 21 Player player; 22 23 do 24 { 25 Logger.Log("新しく始めますか:0\n続きから始めますか:1"); 26 27 string start = Logger.ReadInput(); 28 29 int.TryParse(start, out num); 30 31 if (num == 0) 32 { 33 34 Logger.Log("プレイヤーの名前を入力してください"); 35 36 Playname = Logger.ReadInput(); 37 38 //create player 39 player = new Player(Playname, 100f, 10f, 5f, 1, 0); 40 41 Logger.Log("プレイヤーデータを生成します"); 42 Logger.Log("出力先:" + jsonPath); 43 44 SaveUserJson(player, jsonPath); 45 } 46 else if (num == 1) 47 { 48 Player loadedData; 49 if (!LoadUserJson(jsonPath, out loadedData)) 50 { 51 return; 52 } 53 Console.WriteLine(loadedData.MaxHP.ToString(), loadedData.AttackPoint.ToString(), 54 loadedData.Level.ToString()); 55 56 player = loadedData; 57 } 58 else 59 { 60 Logger.Log("0か1以外が入力されました"); 61 Logger.Log("もう一度入力してください"); 62 } 63 } while (num != 0 || num != 1); 64 65 //create world 66 World world = new World(player); 67 68 //worldが終了判定(false)を返すまでループ 69 while (world.Loop()) 70 { 71 //Enter入力を待つ 72 Logger.ReadInput(); 73 } 74 75 //THE END 76 Logger.Log("game over."); 77 } 78
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/25 05:11