代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class GameControler : MonoBehaviour
{
private int[,] CardsArray = new int[4,5];
private int intFirstNumCard;
private int intSecondNumCard;
private Button BtnFirstNumCard;
private Button BtnSecondNumCard;
private bool boolIsFirstClick = true;
private float Temptime;
private float pubulictime;
private float[] buttontime = new float[20];
public Button btn1_1;
public Button btn1_2;
public Button btn1_3;
public Button btn1_4;
public Button btn1_5;
public Button btn2_1;
public Button btn2_2;
public Button btn2_3;
public Button btn2_4;
public Button btn2_5;
public Button btn3_1;
public Button btn3_2;
public Button btn3_3;
public Button btn3_4;
public Button btn3_5;
public Button btn4_1;
public Button btn4_2;
public Button btn4_3;
public Button btn4_4;
public Button btn4_5;
void Start()
{
StartPrepareGameData();
buttontimevaluaing();
}
void Update()
{
pubulictime += Time.deltaTime;
Temptime += Time.deltaTime;
if (Temptime > 2)
{
JudgePukerEquals(BtnFirstNumCard, BtnSecondNumCard, intFirstNumCard, intSecondNumCard);
Temptime = 0;
}
}
void buttontimevaluaing()
{
for (int i = 0; i < 20; i++)
{
buttontime[i] = pubulictime;
}
}
IEnumerable JudgePuker(int intTime)
{
while (true)
{
yield return new WaitForSeconds(intTime);
}
}
private void JudgePukerEquals(Button btn1,Button btn2,int numbercard1,int numbercard2)
{
if (btn1 != null && btn2 != null)
{
if (numbercard1 == numbercard2)
{
Debug.Log(btn1.GetHashCode());
Debug.Log(btn2.GetHashCode());
if (btn1 .GetHashCode() !=btn2.GetHashCode())
{
switch (numbercard1)
{
case 1:
btn1.GetComponent<Image>().overrideSprite = Resources.Load("Sprites/1B", typeof(Sprite)) as Sprite;
btn2.GetComponent<Image>().overrideSprite = Resources.Load("Sprites/1B", typeof(Sprite)) as Sprite;
break;
case 2:
btn1.GetComponent<Image>().overrideSprite = Resources.Load("Sprites/2B", typeof(Sprite)) as Sprite;
btn2.GetComponent<Image>().overrideSprite = Resources.Load("Sprites/2B", typeof(Sprite)) as Sprite;
break;
case 3:
btn1.GetComponent<Image>().overrideSprite = Resources.Load("Sprites/3B", typeof(Sprite)) as Sprite;
btn2.GetComponent<Image>().overrideSprite = Resources.Load("Sprites/3B", typeof(Sprite)) as Sprite;
break;
case 4:
btn1.GetComponent<Image>().overrideSprite = Resources.Load("Sprites/4B", typeof(Sprite)) as Sprite;
btn2.GetComponent<Image>().overrideSprite = Resources.Load("Sprites/4B", typeof(Sprite)) as Sprite;
break;
case 5:
btn1.GetComponent<Image>().overrideSprite = Resources.Load("Sprites/5B", typeof(Sprite)) as Sprite;
btn2.GetComponent<Image>().overrideSprite = Resources.Load("Sprites/5B", typeof(Sprite)) as Sprite;
break;
case 6:
btn1.GetComponent<Image>().overrideSprite = Resources.Load("Sprites/6B", typeof(Sprite)) as Sprite;
btn2.GetComponent<Image>().overrideSprite = Resources.Load("Sprites/6B", typeof(Sprite)) as Sprite;
break;
case 7:
btn1.GetComponent<Image>().overrideSprite = Resources.Load("Sprites/7B", typeof(Sprite)) as Sprite;
btn2.GetComponent<Image>().overrideSprite = Resources.Load("Sprites/7B", typeof(Sprite)) as Sprite;
break;
case 8:
btn1.GetComponent<Image>().overrideSprite = Resources.Load("Sprites/8B", typeof(Sprite)) as Sprite;
btn2.GetComponent<Image>().overrideSprite = Resources.Load("Sprites/8B", typeof(Sprite)) as Sprite;
break;
case 9:
btn1.GetComponent<Image>().overrideSprite = Resources.Load("Sprites/9B", typeof(Sprite)) as Sprite;
btn2.GetComponent<Image>().overrideSprite = Resources.Load("Sprites/9B", typeof(Sprite)) as Sprite;
break;
default:
break;
}
btn2.GetComponent<Button>().enabled = false;
btn1.GetComponent<Button>().enabled = false;
intFirstNumCard = 0;
intSecondNumCard = 0;
}
}
else
{
if(btn1.GetComponent<Button>().enabled==true)
{
btn1.GetComponent<Image>().overrideSprite = Resources.Load("Sprites/PokerBG3", typeof(Sprite)) as Sprite;
}
if(btn2.GetComponent<Button>().enabled == true)
{
btn2.GetComponent<Image>().overrideSprite = Resources.Load("Sprites/PokerBG3", typeof(Sprite)) as Sprite;
}
}
}
}
private void StartPrepareGameData()
{
ArrayList al = CreateRandomDoublePlayCard();
IEnumerator ietor = al.GetEnumerator();
for(int i = 0; i < 4; i++)
{
for (int j = 0; j < 5; j++)
{
if (ietor.MoveNext())
{
CardsArray[i, j] = (int)ietor.Current;
}
}
}
#region 添加背景牌的初始图
btn1_1.GetComponent<Image>().overrideSprite = Resources.Load("Sprites/PokerBG3", typeof(Sprite)) as Sprite;
btn1_2.GetComponent<Image>().overrideSprite = Resources.Load("Sprites/PokerBG3", typeof(Sprite)) as Sprite;
btn1_3.GetComponent<Image>().overrideSprite = Resources.Load("Sprites/PokerBG3", typeof(Sprite)) as Sprite;
btn1_4.GetComponent<Image>().overrideSprite = Resources.Load("Sprites/PokerBG3", typeof(Sprite)) as Sprite;
btn1_5.GetComponent<Image>().overrideSprite = Resources.Load("Sprites/PokerBG3", typeof(Sprite)) as Sprite;
btn2_1.GetComponent<Image>().overrideSprite = Resources.Load("Sprites/PokerBG3", typeof(Sprite)) as Sprite;
btn2_2.GetComponent<Image>().overrideSprite = Resources.Load("Sprites/PokerBG3", typeof(Sprite)) as Sprite;
btn2_3.GetComponent<Image>().overrideSprite = Resources.Load("Sprites/PokerBG3", typeof(Sprite)) as Sprite;
btn2_4.GetComponent<Image>().overrideSprite = Resources.Load("Sprites/PokerBG3", typeof(Sprite)) as Sprite;
btn2_5.GetComponent<Image>().overrideSprite = Resources.Load("Sprites/PokerBG3", typeof(Sprite)) as Sprite;
btn3_1.GetComponent<Image>().overrideSprite = Resources.Load("Sprites/PokerBG3", typeof(Sprite)) as Sprite;
btn3_2.GetComponent<Image>().overrideSprite = Resources.Load("Sprites/PokerBG3", typeof(Sprite)) as Sprite;
btn3_3.GetComponent<Image>().overrideSprite = Resources.Load("Sprites/PokerBG3", typeof(Sprite)) as Sprite;
btn3_4.GetComponent<Image>().overrideSprite = Resources.Load("Sprites/PokerBG3", typeof(Sprite)) as Sprite;
btn3_5.GetComponent<Image>().overrideSprite = Resources.Load("Sprites/PokerBG3", typeof(Sprite)) as Sprite;
btn4_1.GetComponent<Image>().overrideSprite = Resources.Load("Sprites/PokerBG3", typeof(Sprite)) as Sprite;
btn4_2.GetComponent<Image>().overrideSprite = Resources.Load("Sprites/PokerBG3", typeof(Sprite)) as Sprite;
btn4_3.GetComponent<Image>().overrideSprite = Resources.Load("Sprites/PokerBG3", typeof(Sprite)) as Sprite;
btn4_4.GetComponent<Image>().overrideSprite = Resources.Load("Sprites/PokerBG3", typeof(Sprite)) as Sprite;
btn4_5.GetComponent<Image>().overrideSprite = Resources.Load("Sprites/PokerBG3", typeof(Sprite)) as Sprite;
#endregion
}
private ArrayList CreateRandomDoublePlayCard()
{
ArrayList al = new ArrayList();
for (int i = 0; i < 10; i++)
{
al.Add(Random .Range(1, 9));
}
for (int i = 0; i < 9; i++)
{
int intTemp = (int)al[i];
al.Add(intTemp);
}
for (int i = 0; i < al.Count; i++)
{
int intRandomPosition = Random.Range(1, al.Count);
int intTemp = (int)al[i];
al[i] = al[intRandomPosition];
al[intRandomPosition] = intTemp;
}
return al;
}
#region 玩家牌面点击响应
public void CilckButtion1_1()
{
ProcessUserClick(btn1_1, 0, 0);
}
public void CilckButtion1_2()
{
ProcessUserClick(btn1_2, 0, 1);
}
public void CilckButtion1_3()
{
ProcessUserClick(btn1_3, 0, 2);
}
public void CilckButtion1_4()
{
ProcessUserClick(btn1_4, 0, 3);
}
public void CilckButtion1_5()
{
ProcessUserClick(btn1_5, 0, 4);
}
public void CilckButtion2_1()
{
ProcessUserClick(btn2_1, 1, 0);
}
public void CilckButtion2_2()
{
ProcessUserClick(btn2_2, 1, 1);
}
public void CilckButtion2_3()
{
ProcessUserClick(btn2_3, 1, 2);
}
public void CilckButtion2_4()
{
ProcessUserClick(btn2_4, 1, 3);
}
public void CilckButtion2_5()
{
ProcessUserClick(btn2_5, 1, 4);
}
public void CilckButtion3_1()
{
ProcessUserClick(btn3_1, 2, 0);
}
public void CilckButtion3_2()
{
ProcessUserClick(btn3_2, 2, 1);
}
public void CilckButtion3_3()
{
ProcessUserClick(btn3_3, 2, 2);
}
public void CilckButtion3_4()
{
ProcessUserClick(btn3_4, 2, 3);
}
public void CilckButtion3_5()
{
ProcessUserClick(btn3_5, 2, 4);
}
public void CilckButtion4_1()
{
ProcessUserClick(btn4_1, 3, 0);
}
public void CilckButtion4_2()
{
ProcessUserClick(btn4_2, 3, 1);
}
public void CilckButtion4_3()
{
ProcessUserClick(btn4_3, 3, 2);
}
public void CilckButtion4_4()
{
ProcessUserClick(btn4_4, 3, 3);
}
public void CilckButtion4_5()
{
ProcessUserClick(btn4_5, 3, 4);
}
#endregion
private void ProcessUserClick(Button butobj, int RowNumber, int colNumber)
{
if (boolIsFirstClick)
{
boolIsFirstClick = false;
intFirstNumCard = CardsArray[RowNumber,colNumber];
DisplayPokerCardByNumber(butobj,intFirstNumCard);
BtnFirstNumCard = butobj;
}
else
{
boolIsFirstClick = true;
intSecondNumCard = CardsArray[RowNumber, colNumber];
DisplayPokerCardByNumber(butobj, intSecondNumCard);
BtnSecondNumCard = butobj;
}
}
private void DisplayPokerCardByNumber(Button btn, int numberCard)
{
switch (numberCard)
{
case 1:
btn.GetComponent<Image>().overrideSprite = Resources.Load("Sprites/1A", typeof(Sprite)) as Sprite;
break;
case 2:
btn.GetComponent<Image>().overrideSprite = Resources.Load("Sprites/2A", typeof(Sprite)) as Sprite;
break;
case 3:
btn.GetComponent<Image>().overrideSprite = Resources.Load("Sprites/3A", typeof(Sprite)) as Sprite;
break;
case 4:
btn.GetComponent<Image>().overrideSprite = Resources.Load("Sprites/4A", typeof(Sprite)) as Sprite;
break;
case 5:
btn.GetComponent<Image>().overrideSprite = Resources.Load("Sprites/5A", typeof(Sprite)) as Sprite;
break;
case 6:
btn.GetComponent<Image>().overrideSprite = Resources.Load("Sprites/6A", typeof(Sprite)) as Sprite;
break;
case 7:
btn.GetComponent<Image>().overrideSprite = Resources.Load("Sprites/7A", typeof(Sprite)) as Sprite;
break;
case 8:
btn.GetComponent<Image>().overrideSprite = Resources.Load("Sprites/8A", typeof(Sprite)) as Sprite;
break;
case 9:
btn.GetComponent<Image>().overrideSprite = Resources.Load("Sprites/9A", typeof(Sprite)) as Sprite;
break;
default:
break;
}
}
}