直接上代碼:
用一個二維數組存儲允許玩家組合的道具列表,然後去判斷玩家選擇的三種道具是否合法。
using UnityEngine;
public class Arithmetic : MonoBehaviour
{
private string[,] arr;
private string input1 = "A";
private string input2 = "B";
private string input3 = "C";
private bool _switch = false;
// 初始化時執行
void Start()
{
arr = new string[3, 3]
{
{"A","B","C" },
{"D","E","F" },
{"H","I","J" },
};
}
// 固定時間執行 Edit - Project Setting - time Fixed timestep=0.02
void FixedUpdate()
{
//1.三個值均不爲空時執行判斷
//2.循環檢測三個值是否符合數組的字頭
//3.若有任意值符合任意字頭 則檢測其餘兩值是否符合
if (input3 != null && input2 != null && input1 != null)
{
for (int i = 0; i < arr.Length; i++)
{
if (input3 == arr[i, 0])
{
if (input2 == arr[i, 1] || input2 == arr[i, 2])
{
if(input1 == arr[i, 1] || input1 == arr[i, 2])
_switch = true;
}
}
else if (input2 == arr[i, 0])
{
if (input3 == arr[i, 1] || input3 == arr[i, 2])
{
if(input1 == arr[i, 1] || input1 == arr[i, 2])
_switch = true;
}
}
else if (input1 == arr[i, 0])
{
if (input3 == arr[i, 1] || input3 == arr[i, 2])
{
if(input2 == arr[i, 1] || input2 == arr[i, 2])
_switch = true;
}
}
}
}
}
}