質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

解決済

2回答

647閲覧

ここの部分ってどういう意味ですか?

退会済みユーザー

退会済みユーザー

総合スコア0

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

1クリップ

投稿2019/11/15 11:47

とても、初歩的な質問です。
下のコードの

int[] field_card_num = new int[20];

はどういう意味を指しているのですか?(13行目です)
コードは長すぎて、制限を超えてしまったため、最後の方は省略しています。

該当のソースコード

C#

1using System.Collections; 2using System.Collections.Generic; 3using System.Linq; 4using UnityEngine; 5using UnityEngine.UI; 6 7public class GameMaster : MonoBehaviour 8{ 9 10 public Sprite[] cards = new Sprite[54]; 11 public GameObject field_cards_root, field_Setcards_root, deck, straight, flush, three, four, five, push, canvas, canvas_R, yaku_name_root, yaku_point_root, yaku; 12 public Text time, num, suit, Point; 13 int[] field_card_num = new int[20]; 14 GameObject[] field_cards = new GameObject[20]; 15 Vector3[] field_card_pos = new Vector3[20]; 16 Vector3[] field_selectedcard_pos = new Vector3[5]; 17 List<int> card_stockList = new List<int>(); 18 List<int> card_setList = new List<int>(); 19 List<int> card_numList = new List<int>(); 20 List<int> card_suitList = new List<int>(); 21 List<int> card_outList = new List<int>(); 22 23 bool[] straight_check = new bool[13]; 24 int[] flush_count = new int[4]; 25 int[] kinds_count = new int[13]; 26 int[] num_count = new int[13]; 27 int[] suits_count = new int[4]; 28 int[] result_yaku = new int[10]; 29 bool field_joker = false; 30 bool field_joker_pass = false; 31 bool joker = false; 32 bool joker_pass = false; 33 GameObject time_plus; 34 int set_num, yaku_rank; 35 int secondtime = 90; 36 float delta_time = 0; 37 bool play_time = true; 38 39 List<string> Bonus_numList = new List<string> { "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K" }; 40 List<string> Bonus_suitList = new List<string> { "♣", "♦", "♥" }; 41 42 int bonus_num; 43 int bonus_suit; 44 45 void Start() 46 { 47 48 for (int i = 0; i < 53; i++) 49 { 50 card_stockList.Add(i); 51 } 52 53 for (int i = 0; i < 5; i++) 54 { 55 field_selectedcard_pos[i] = field_Setcards_root.transform.GetChild(i).GetComponent<RectTransform>().localPosition; 56 } 57 58 for (int i = 0; i < 20; i++) 59 { 60 field_card_pos[i] = new Vector3(-264 + 132 * (i % 5), 70 - 177 * (i / 5), 0); 61 int n = Random.Range(0, card_stockList.Count); 62 field_card_num[i] = card_stockList[n]; 63 field_cards[i] = field_cards_root.transform.GetChild(i).gameObject; 64 field_cards[i].GetComponent<Image>().sprite = cards[card_stockList[n]]; 65 field_cards[i].GetComponent<RectTransform>().transform.localPosition = field_card_pos[i]; 66 card_stockList.RemoveAt(n); 67 } 68 69 FieldSet(); 70 71 time_plus = time.transform.GetChild(0).gameObject; 72 } 73 74 void FieldSet() 75 { 76 for (int i = 0; i < 20; i++) 77 { 78 if (field_card_num[i] == 52) 79 { 80 field_joker = true; 81 field_joker_pass = true; 82 } 83 else 84 { 85 straight_check[field_card_num[i] % 13] = true; 86 flush_count[field_card_num[i] / 13]++; 87 kinds_count[field_card_num[i] % 13]++; 88 } 89 } 90 91 straight.SetActive(false); 92 flush.SetActive(false); 93 three.SetActive(false); 94 four.SetActive(false); 95 five.SetActive(false); 96 97 for (int c = 0; c < 8; c++) 98 { 99 if (straight_check[c] == true) 100 { 101 for (int i = 1; i < 5; i++) 102 { 103 if (straight_check[c + i] == false) 104 { 105 if (!field_joker_pass) 106 { 107 if (field_joker) 108 { 109 field_joker_pass = true; 110 } 111 break; 112 } 113 else 114 { 115 field_joker_pass = false; 116 } 117 } 118 if (i == 4) 119 { 120 if (field_joker) 121 { 122 field_joker_pass = true; 123 } 124 straight.SetActive(true); 125 break; 126 } 127 } 128 } 129 if (straight.activeSelf == true) 130 { 131 break; 132 } 133 } 134 for (int c = 0; c < 4; c++) 135 { 136 if (field_joker) 137 { 138 flush_count[c]++; 139 } 140 if (flush_count[c] >= 5) 141 { 142 flush.SetActive(true); 143 break; 144 } 145 } 146 147 for (int c = 0; c < 13; c++) 148 { 149 if (field_joker) 150 { 151 kinds_count[c]++; 152 } 153 if (kinds_count[c] >= 5) 154 { 155 three.SetActive(true); 156 four.SetActive(true); 157 five.SetActive(true); 158 break; 159 } 160 else if (kinds_count[c] == 4) 161 { 162 three.SetActive(true); 163 four.SetActive(true); 164 } 165 else if (kinds_count[c] == 3) 166 { 167 three.SetActive(true); 168 } 169 } 170 171 BonusSet(); 172 } 173 174 void BonusSet() 175 { 176 int r_num = Random.Range(0, Bonus_numList.Count); 177 int r_suit = Random.Range(0, Bonus_suitList.Count); 178 179 string old_num = num.text; 180 num.text = Bonus_numList[r_num]; 181 Bonus_numList.RemoveAt(r_num); 182 Bonus_numList.Add(old_num); 183 184 switch (num.text) 185 { 186 case "A": 187 bonus_num = 0; 188 break; 189 190 case "J": 191 bonus_num = 10; 192 break; 193 194 case "Q": 195 bonus_num = 11; 196 break; 197 198 case "K": 199 bonus_num = 12; 200 break; 201 202 default: 203 bonus_num = int.Parse(num.text) - 1; 204 break; 205 } 206 207 string old_suit = suit.text; 208 suit.text = Bonus_suitList[r_suit]; 209 Bonus_suitList.RemoveAt(r_suit); 210 Bonus_suitList.Add(old_suit); 211 212 switch (suit.text) 213 { 214 case "♣": 215 suit.color = Color.green; 216 bonus_suit = 0; 217 break; 218 case "♦": 219 suit.color = Color.yellow; 220 bonus_suit = 1; 221 break; 222 case "♥": 223 suit.color = Color.red; 224 bonus_suit = 2; 225 break; 226 case "♠": 227 suit.color = Color.blue; 228 bonus_suit = 3; 229 break; 230 } 231 } 232 233 public void CardSet(int i) 234 { 235 if (set_num < 5) 236 { 237 field_cards[i].GetComponent<RectTransform>().transform.localPosition = field_selectedcard_pos[set_num]; 238 card_setList.Add(i); 239 if (field_card_num[i] != 52) 240 { 241 card_numList.Add(field_card_num[i] % 13); 242 card_suitList.Add(field_card_num[i] / 13); 243 num_count[field_card_num[i] % 13]++; 244 suits_count[field_card_num[i] / 13]++; 245 } 246 else 247 { 248 card_numList.Add(100); 249 card_suitList.Add(100); 250 joker = true; 251 joker_pass = true; 252 253254255256 257

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2019/11/15 12:04

https://teratail.com/questions/223298 ここでのやりとりで丸投げはしないという風に理解してもらえたと期待した私はバカですかね。 既に「チュートリアル終わらせてからプログラミングをして」と指摘受けていますが、 「サイトのガイドラインにそっているか確認してから投稿」も自身の毎回TODOに入れておいてください。 投稿画面に行く前に「質問する前に確認していただきたいこと」も出ているし 投稿画面ではチェックリストもあります。 「任意だから別にいい」「罰せられるわけじゃないから別にいい」などとふざけた考えは今すぐ捨てて、 全部きっちり守ってください。
guest

回答2

0

投稿2019/11/15 11:51

Zuishin

総合スコア28656

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/11/15 11:52

早々の回答ありがとうございます。 提示してくださったサイト参考にさせてもらいます。
Zuishin

2019/11/15 11:56

参考ではなく、これを終わらせてからプログラミングしてください。
退会済みユーザー

退会済みユーザー

2019/11/15 11:59 編集

わかりました。ありがとうございます。
guest

0

ベストアンサー

質問の意図が分かりませんが、、、

int[] field_card_num = new int[20];

intの配列 field_card_num を サイズ 20 で用意する。
--> field_card_num[0] ~ field_card_num[19] でアクセスできるint 配列という事ではありませんか?

投稿2019/11/15 11:51

pepperleaf

総合スコア6383

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/11/15 11:53

早々の回答ありがとうございます。 なるほど、そういうことなのですね、ありがとうございます。解決いたしました。 ベストアンサーとさせていただきます。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問