// CARD Class Version 2.0 using System.Collections; using System.Collections.Generic; using UnityEngine; public class CARD : MonoBehaviour { public Sprite[] image; //切り分けた Crad Image private int[] TS = new int[54]; //スーツ(スペード,ハート,ダイヤ,クラブ) private int[] TN = new int[54]; //数(1~13) private int[] T = new int[53]; //シャッフルする配列 public int num = -1; //現在のカード番号 void Start () { image = Resources.LoadAll<Sprite>(""); Debug.Log("image Length -> " + image.GetLength(0)); for(int i=0; i<54; i++) { TS[i] = i/13; TN[i] = i%13+1; } Shuffle(T,53); } // カードをシャッフルする public void Shuffle(int[] t, int n) { int i,j; float wk; for(i=0; i<n; i++) t[i]= -1; for(i=0; i<n; i++) { wk = Random.value * n; j = (int)wk; for(; t[j]!=-1; j=(j+1)%n); t[j]= i; } } // シャッフルした n 番目のカード public Sprite Get(int n) { if (n>52 || n<0) return null; return image[T[n]]; } // シャッフルした次のカード public Sprite Next() { if (num>52 || num<0) return null; num++; return image[T[num]]; } // シャッフルした n 番目のカードの suits public int GetS(int n) { if (n>52 || n<0) return -1; return TS[T[n]]; } // シャッフルした n 番目のカードの number public int GetN(int n) { if (n>52 || n<0) return -1; return TN[T[n]]; } } |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class NewBehaviourScript : MonoBehaviour { SpriteRenderer SpRender; CARD card; void Start () { SpRender = gameObject.GetComponent<SpriteRenderer>(); card = FindObjectOfType<CARD>(); SpRender.sprite = card.Next(); } void Update () { if (Input.GetMouseButtonDown(0)) { SpRender.sprite = card.Next(); Debug.Log("suits->"+card.GetS(card.num)+" num->"+card.GetN(card.num)); } } } |
[Previous Chapter ↑] Reverse
前田稔の超初心者のプログラム入門
超初心者のプログラム入門(Unity)