ここの部分ってどういう意味ですか?
解決済
回答 2
投稿
- 評価
- クリップ 1
- VIEW 786

退会済みユーザー
とても、初歩的な質問です。
下のコードの
int[] field_card_num = new int[20];
はどういう意味を指しているのですか?(13行目です)
コードは長すぎて、制限を超えてしまったため、最後の方は省略しています。
該当のソースコード
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
using UnityEngine.UI;
public class GameMaster : MonoBehaviour
{
public Sprite[] cards = new Sprite[54];
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;
public Text time, num, suit, Point;
int[] field_card_num = new int[20];
GameObject[] field_cards = new GameObject[20];
Vector3[] field_card_pos = new Vector3[20];
Vector3[] field_selectedcard_pos = new Vector3[5];
List<int> card_stockList = new List<int>();
List<int> card_setList = new List<int>();
List<int> card_numList = new List<int>();
List<int> card_suitList = new List<int>();
List<int> card_outList = new List<int>();
bool[] straight_check = new bool[13];
int[] flush_count = new int[4];
int[] kinds_count = new int[13];
int[] num_count = new int[13];
int[] suits_count = new int[4];
int[] result_yaku = new int[10];
bool field_joker = false;
bool field_joker_pass = false;
bool joker = false;
bool joker_pass = false;
GameObject time_plus;
int set_num, yaku_rank;
int secondtime = 90;
float delta_time = 0;
bool play_time = true;
List<string> Bonus_numList = new List<string> { "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K" };
List<string> Bonus_suitList = new List<string> { "♣", "♦", "♥" };
int bonus_num;
int bonus_suit;
void Start()
{
for (int i = 0; i < 53; i++)
{
card_stockList.Add(i);
}
for (int i = 0; i < 5; i++)
{
field_selectedcard_pos[i] = field_Setcards_root.transform.GetChild(i).GetComponent<RectTransform>().localPosition;
}
for (int i = 0; i < 20; i++)
{
field_card_pos[i] = new Vector3(-264 + 132 * (i % 5), 70 - 177 * (i / 5), 0);
int n = Random.Range(0, card_stockList.Count);
field_card_num[i] = card_stockList[n];
field_cards[i] = field_cards_root.transform.GetChild(i).gameObject;
field_cards[i].GetComponent<Image>().sprite = cards[card_stockList[n]];
field_cards[i].GetComponent<RectTransform>().transform.localPosition = field_card_pos[i];
card_stockList.RemoveAt(n);
}
FieldSet();
time_plus = time.transform.GetChild(0).gameObject;
}
void FieldSet()
{
for (int i = 0; i < 20; i++)
{
if (field_card_num[i] == 52)
{
field_joker = true;
field_joker_pass = true;
}
else
{
straight_check[field_card_num[i] % 13] = true;
flush_count[field_card_num[i] / 13]++;
kinds_count[field_card_num[i] % 13]++;
}
}
straight.SetActive(false);
flush.SetActive(false);
three.SetActive(false);
four.SetActive(false);
five.SetActive(false);
for (int c = 0; c < 8; c++)
{
if (straight_check[c] == true)
{
for (int i = 1; i < 5; i++)
{
if (straight_check[c + i] == false)
{
if (!field_joker_pass)
{
if (field_joker)
{
field_joker_pass = true;
}
break;
}
else
{
field_joker_pass = false;
}
}
if (i == 4)
{
if (field_joker)
{
field_joker_pass = true;
}
straight.SetActive(true);
break;
}
}
}
if (straight.activeSelf == true)
{
break;
}
}
for (int c = 0; c < 4; c++)
{
if (field_joker)
{
flush_count[c]++;
}
if (flush_count[c] >= 5)
{
flush.SetActive(true);
break;
}
}
for (int c = 0; c < 13; c++)
{
if (field_joker)
{
kinds_count[c]++;
}
if (kinds_count[c] >= 5)
{
three.SetActive(true);
four.SetActive(true);
five.SetActive(true);
break;
}
else if (kinds_count[c] == 4)
{
three.SetActive(true);
four.SetActive(true);
}
else if (kinds_count[c] == 3)
{
three.SetActive(true);
}
}
BonusSet();
}
void BonusSet()
{
int r_num = Random.Range(0, Bonus_numList.Count);
int r_suit = Random.Range(0, Bonus_suitList.Count);
string old_num = num.text;
num.text = Bonus_numList[r_num];
Bonus_numList.RemoveAt(r_num);
Bonus_numList.Add(old_num);
switch (num.text)
{
case "A":
bonus_num = 0;
break;
case "J":
bonus_num = 10;
break;
case "Q":
bonus_num = 11;
break;
case "K":
bonus_num = 12;
break;
default:
bonus_num = int.Parse(num.text) - 1;
break;
}
string old_suit = suit.text;
suit.text = Bonus_suitList[r_suit];
Bonus_suitList.RemoveAt(r_suit);
Bonus_suitList.Add(old_suit);
switch (suit.text)
{
case "♣":
suit.color = Color.green;
bonus_suit = 0;
break;
case "♦":
suit.color = Color.yellow;
bonus_suit = 1;
break;
case "♥":
suit.color = Color.red;
bonus_suit = 2;
break;
case "♠":
suit.color = Color.blue;
bonus_suit = 3;
break;
}
}
public void CardSet(int i)
{
if (set_num < 5)
{
field_cards[i].GetComponent<RectTransform>().transform.localPosition = field_selectedcard_pos[set_num];
card_setList.Add(i);
if (field_card_num[i] != 52)
{
card_numList.Add(field_card_num[i] % 13);
card_suitList.Add(field_card_num[i] / 13);
num_count[field_card_num[i] % 13]++;
suits_count[field_card_num[i] / 13]++;
}
else
{
card_numList.Add(100);
card_suitList.Add(100);
joker = true;
joker_pass = true;
・
・
・
-
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
クリップを取り消します
-
良い質問の評価を上げる
以下のような質問は評価を上げましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
質問の評価を上げたことを取り消します
-
評価を下げられる数の上限に達しました
評価を下げることができません
- 1日5回まで評価を下げられます
- 1日に1ユーザに対して2回まで評価を下げられます
質問の評価を下げる
teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。
- プログラミングに関係のない質問
- やってほしいことだけを記載した丸投げの質問
- 問題・課題が含まれていない質問
- 意図的に内容が抹消された質問
- 過去に投稿した質問と同じ内容の質問
- 広告と受け取られるような投稿
評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
+7
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
checkベストアンサー
+1
質問の意図が分かりませんが、、、
int[] field_card_num = new int[20];
intの配列 field_card_num を サイズ 20 で用意する。
--> field_card_num[0] ~ field_card_num[19] でアクセスできるint 配列という事ではありませんか?
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 88.22%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる
質問への追記・修正、ベストアンサー選択の依頼
m.ts10806
2019/11/15 21:04
https://teratail.com/questions/223298
ここでのやりとりで丸投げはしないという風に理解してもらえたと期待した私はバカですかね。
既に「チュートリアル終わらせてからプログラミングをして」と指摘受けていますが、
「サイトのガイドラインにそっているか確認してから投稿」も自身の毎回TODOに入れておいてください。
投稿画面に行く前に「質問する前に確認していただきたいこと」も出ているし
投稿画面ではチェックリストもあります。
「任意だから別にいい」「罰せられるわけじゃないから別にいい」などとふざけた考えは今すぐ捨てて、
全部きっちり守ってください。
2019/11/19 11:17
複数のユーザーから「やってほしいことだけを記載した丸投げの質問」という意見がありました
「質問を編集する」ボタンから編集を行い、調査したこと・試したことを記入していただくと、回答が得られやすくなります。