【C#】コードを簡略化して欲しい
私は初心者なので、遠回りの書き方をしていると思います。以下のコードを訂正してくだされば幸いです。
発生している問題・エラーメッセージ
Console.Readlineの入力内容によって、自動的にそれに該当するデータをもってくるようなコードをかきたいです。データはコード内に記してあります。
該当のソースコード
c#
1using System; 2 3namespace 頭の中を整理する用 4{ 5 class Program 6 { 7 8 public static double DamageCalculator(double num, double power, double dam, double dif) 9 { 10 11 Random rnd = new Random(); 12 double totalDamage = num*power * dam / dif / 2.5* rnd.Next(80,120)/100; 13 return Math.Round(totalDamage); 14 } 15 16 public static void Main(string[] args) 17 { 18 19 //こちらは技のデータベースとなっております。 20 double[] noutenkatiwari = new double[] { 195, 1, 0.3, 1 }; 21 double[] senkougiri = new double[] { 44, 3, 1, 1 }; 22 23 //こちらはステータスのータベースでございます。 24 int[] statusKabukizaru = new int[] { 251, 200, 94, 87, 106 }; 25 int[] statusBusinyan = new int[] { 292, 182, 92, 88, 162 }; 26 27 //バフの数値を合わせます 28 double[] bahuA = new double[] { 1, 1, 1, 1, 1, 1 }; 29 double[] bahuB = new double[] { 1, 1, 1, 1, 1, 1 }; 30 31 //技の火力[0]、回数[1]、命中率[2]、クリティカル率[3]の順番にかく 32 //ステータスはhp,ちから,ようりょく,まもり,すばやさの順番でかく 33 //クリティカル率、被クリティカル率、ちから変化、まもり変化、すばやさ変化、命中率変化の順番でかく 34 35 36 37 38 39 string s = Console.ReadLine(); 40 if (s == "カブキ猿") 41 { 42 for (int i = 0; i < 20; i++) 43 { 44 45 Console.WriteLine(DamageCalculator(noutenkatiwari[1], statusKabukizaru[1], noutenkatiwari[0], statusBusinyan[3])); 46 } 47 Console.ReadLine(); 48 }else if(s == "ブシニャン") 49 { 50 for (int i = 0; i < 20; i++) 51 { 52 53 Console.WriteLine(DamageCalculator(senkougiri[1], statusBusinyan[1], senkougiri [0], statusKabukizaru [3])); 54 } 55 Console.ReadLine(); 56 } 57 } 58 } 59}
試したこと
特にありません。知識の補足などをしてくだされば嬉しいです。
補足情報(FW/ツールのバージョンなど)
Visual Studio 2019 for Mac
本当に遠回りの書き方ですか?
目的地についてます?
> 以下のコードを訂正してくだされば幸いです。
初心者なコードでも要望通りに動いているのであれば訂正ではありませんね。やりたいことは言うなれば改良、改善です。で、コードを別人である回答者さんらが書き直したとして初心者を自認する質問者さんがそれを理解できるとは限らない心配があるのですが、、、
[推奨していない質問] https://teratail.com/help/avoid-asking
Zuishinさんのご指摘を読んで:
ああ、目的地に着いているかどうかまでは読んでなかった。「まだまだ足りないんじゃないか」とは思いましたが。要望通りには動いて無さそうなので、「訂正」なのですね。それだと「コードください」案件で、ダメですね。
読んでください→ https://teratail.com/help/question-tips
以下抜粋:
"人に質問をするには、自分が何を尋ねたいかを知っている必要があります。これは、「自分が今『何がわからないのか』がわかっていて、言語化できている」ということです。何がわからないかわからない人から質問を受けても、答える側も困ってしまいます。"
了解です。コードの簡略化の例をいくつか教えて頂きたかったのですが、それはエラーなどが起こっているわけではないのであまり好ましくない質問になってたのですね。以後気をつけます。
> 以後気をつけます。
このコメント欄は「質問への追記・修正」です。なので、以後ではなくて今質問欄を編集して何が分からないのか何を知りたいのか何に困っているのかなどを具体的に書くことはできませんか?
回答1件
あなたの回答
tips
プレビュー