C#
1#pragma warning disable 0414 2using System.Collections; 3using System.Collections.Generic; 4using UnityEngine; 5using UnityEngine.UI; 6 7public class Statistics : MonoBehaviour { 8 9 public Text targetText; 10 11 int Level;//レベル 12 string Ability;//特性 13 int HP; 14 int Attack;//こうげき 15 int Defense;//ぼうぎょ 16 int Sp_Atk;//とくこう 17 int Sp_Def;//とくぼう 18 int Speed;//すばやさ 19 int Evasion;//回避 20 int Accuracy;//命中 21 string Gender;//性別 22 int Exp;//経験値 23 int Individual_Value;//個体値 24 int ATKorSPATK; 25 26 private void Awake() 27 { 28 Generate_Stats(); 29 targetText = this.GetComponent<Text>(); 30 } 31 32 void Generate_Stats() 33 { 34 //int Random_Level = Random.Range(1, 101); 35 int Random_Ability = Random.Range(1, 11); 36 int Random_HP = Random.Range(1, 256); 37 int Random_ATK = Random.Range(1, 256); 38 int Random_DEF = Random.Range(1, 256); 39 int Random_Sp_Atk = Random.Range(1, 256); 40 int Random_Sp_Def = Random.Range(1, 256); 41 int Random_Speed = Random.Range(1, 256); 42 int Random_Evasion = Random.Range(1, 101); 43 int Random_Accuracy = Random.Range(1, 101); 44 int Random_Gender = Random.Range(0, 2); 45 Exp = 0; 46 int Random_IV = Random.Range(100, 601); 47 int Random_ATKorSPATK = Random.Range(0, 2); 48 49 Level = 1; 50 HP = Random_HP; 51 Attack = Random_ATK; 52 Defense = Random_DEF; 53 Sp_Atk = Random_Sp_Atk; 54 Sp_Def = Random_Sp_Def; 55 Speed = Random_Speed; 56 Evasion = Random_Evasion; 57 Accuracy = Random_Accuracy; 58 Individual_Value = Random_HP + Random_ATK + Random_DEF 59 + Random_Sp_Atk + Random_Sp_Def + Random_Speed; 60 61 if (Random_Ability == 1) 62 { 63 Ability = "Power Boost";//ATKが二倍になる・パワーブースト 64 } 65 if (Random_Ability == 2) 66 { 67 Ability = "Poison Body";//歩いた場所が毒のマスになる・どくのからだ 68 } 69 if (Random_Ability == 3) 70 { 71 Ability = "Water Barrier";//状態異常にならない・みずのバリア 72 } 73 if (Random_Ability == 4) 74 { 75 Ability = "Levitate";//異常マスを踏んでもダメージを受けない・ふゆう 76 } 77 if (Random_Ability == 5) 78 { 79 Ability = "Shed Skin";//体力が半分以下になるととくこうが二倍になる・だっぴ 80 } 81 if (Random_Ability == 6) 82 { 83 Ability = "Insecticide";//分類・虫の相手に与えるダメージが二倍になる・さっちゅう 84 } 85 if (Random_Ability == 7) 86 { 87 Ability = "Quick Pace";//移動するスピードが二倍になる。ニマスずつ進む・はやあし 88 } 89 if (Random_Ability == 8) 90 { 91 Ability = "Damage Filter";//受けるダメージが三分の二になる。・ダメージフィルター 92 } 93 if (Random_Ability == 9) 94 { 95 Ability = "Solution";//広範囲にダメージを与える・ようかいえき 96 } 97 if (Random_Ability == 10) 98 { 99 Ability = "Aftermath";//もしも相手の攻撃によって死亡したとき、相手のHPの三分の一のダメージを与える・ゆうばく 100 } 101 102 if (Individual_Value != Random_IV) 103 { 104 Generate_Stats(); 105 } 106 else 107 { 108 targetText.text = "Level " + Level.ToString() + "\n" + "Ability " + Ability + "\n" + "IV " + Individual_Value.ToString() + "\n" + 109 "HP " + HP.ToString() + "\n" + "Attack " + Attack.ToString() + "\n" + "Defense " + Defense.ToString() + "\n" + 110 "Sp_Atk " + Sp_Atk.ToString() + "\n" + "Sp_Def " + Sp_Def.ToString() + "\n" + "Speed " + Speed.ToString() + "\n" + 111 "Evasion " + Evasion.ToString() + "\n" + "Accuracy " + Accuracy.ToString(); 112 } 113 } 114} 115
35行目の「int Random_Ability = Random.Range(1, 11);」がエラーになってしまいます。
エラーメッセージは
StackOverflowException
UnityEngine.Random.Range (Int32 min, Int32 max) (at C:/buildslave/unity/build/artifacts/generated/common/runtime/RandomBindings.gen.cs:63)
です。
Random.Rangeを使わずに、イコール(1~10)までにすると、普通に動作します。ですが、ランダムで1から10まで数字を選びたいので、Random.Rangeを使う必要があります。
どう書き直せばよいでしょうか? 教えていただけるとありがたいです。
回答よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/05/11 10:21
退会済みユーザー
2018/05/11 10:47
2018/05/11 11:34
2018/05/11 11:45
退会済みユーザー
2018/05/11 13:28 編集