using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ColorSorter : MonoBehaviour
{
public static string colors = {“r”, “b”, “p”, “o”};
public static string values = {“1”, “2”, “3”, “4”, “5”};
public List<string> deck;
public GameObject RedSquare1, RedSquare2, RedSquare3, RedSquare4, RedSquare5, BlueSquare1, BlueSquare2, BlueSquare3, BlueSquare4, BlueSquare5, OrangeSquare1, OrangeSquare2, OrangeSquare3, OrangeSquare4, OrangeSquare5, PurpleSquare1, PurpleSquare2, PurpleSquare3, PurpleSquare4, PurpleSquare5, Red, Purple, Blue, Orange;
Vector2 RedSquare1InitialPos, RedSquare2InitialPos, RedSquare3InitialPos, RedSquare4InitialPos, RedSquare5InitialPos, BlueSquare1InitialPos, BlueSquare2InitialPos, BlueSquare3InitialPos, BlueSquare4InitialPos, BlueSquare5InitialPos, OrangeSquare1InitialPos, OrangeSquare2InitialPos, OrangeSquare3InitialPos, OrangeSquare4InitialPos, OrangeSquare5InitialPos, PurpleSquare1InitialPos, PurpleSquare2InitialPos, PurpleSquare3InitialPos, PurpleSquare4InitialPos, PurpleSquare5InitialPos;
void Start()
{
PlayCards();
RedSquare1InitialPos = RedSquare1.transform.position;
RedSquare2InitialPos = RedSquare2.transform.position;
RedSquare3InitialPos = RedSquare3.transform.position;
RedSquare4InitialPos = RedSquare4.transform.position;
RedSquare5InitialPos = RedSquare5.transform.position;
BlueSquare1InitialPos = BlueSquare1.transform.position;
BlueSquare2InitialPos = BlueSquare2.transform.position;
BlueSquare3InitialPos = BlueSquare3.transform.position;
BlueSquare4InitialPos = BlueSquare4.transform.position;
BlueSquare5InitialPos = BlueSquare5.transform.position;
OrangeSquare1InitialPos = OrangeSquare1.transform.position;
OrangeSquare2InitialPos = OrangeSquare2.transform.position;
OrangeSquare3InitialPos = OrangeSquare3.transform.position;
OrangeSquare4InitialPos = OrangeSquare4.transform.position;
OrangeSquare5InitialPos = OrangeSquare5.transform.position;
PurpleSquare1InitialPos = PurpleSquare1.transform.position;
PurpleSquare2InitialPos = PurpleSquare2.transform.position;
PurpleSquare3InitialPos = PurpleSquare3.transform.position;
PurpleSquare4InitialPos = PurpleSquare4.transform.position;
PurpleSquare5InitialPos = PurpleSquare5.transform.position;
}
public void DragRedSquare1()
{
RedSquare1.transform.position = Input.mousePosition;
}
public void DragRedSquare2()
{
RedSquare2.transform.position = Input.mousePosition;
}
public void DragRedSquare3()
{
RedSquare3.transform.position = Input.mousePosition;
}
public void DragRedSquare4()
{
RedSquare4.transform.position = Input.mousePosition;
}
public void DragRedSquare5()
{
RedSquare5.transform.position = Input.mousePosition;
}
public void DragBlueSquare1()
{
BlueSquare1.transform.position = Input.mousePosition;
}
public void DragBlueSquare2()
{
BlueSquare2.transform.position = Input.mousePosition;
}
public void DragBlueSquare3()
{
BlueSquare3.transform.position = Input.mousePosition;
}
public void DragBlueSquare4()
{
BlueSquare4.transform.position = Input.mousePosition;
}
public void DragBlueSquare5()
{
BlueSquare5.transform.position = Input.mousePosition;
}
public void DragOrangeSquare1()
{
OrangeSquare1.transform.position = Input.mousePosition;
}
public void DragOrangeSquare2()
{
OrangeSquare2.transform.position = Input.mousePosition;
}
public void DragOrangeSquare3()
{
OrangeSquare3.transform.position = Input.mousePosition;
}
public void DragOrangeSquare4()
{
OrangeSquare4.transform.position = Input.mousePosition;
}
public void DragOrangeSquare5()
{
OrangeSquare5.transform.position = Input.mousePosition;
}
public void DragPurpleSquare1()
{
PurpleSquare1.transform.position = Input.mousePosition;
}
public void DragPurpleSquare2()
{
PurpleSquare2.transform.position = Input.mousePosition;
}
public void DragPurpleSquare3()
{
PurpleSquare3.transform.position = Input.mousePosition;
}
public void DragPurpleSquare4()
{
PurpleSquare4.transform.position = Input.mousePosition;
}
public void DragPurpleSquare5()
{
PurpleSquare5.transform.position = Input.mousePosition;
}
public void DropRedSquare1()
{
float Distance = Vector3.Distance(RedSquare1.transform.position, Red.transform.position);
if(Distance < 400)
{
RedSquare1.transform.position = Red.transform.position;
}
else
{
RedSquare1.transform.position = RedSquare1InitialPos;
}
}
public void DropRedSquare2()
{
float Distance = Vector3.Distance(RedSquare2.transform.position, Red.transform.position);
if(Distance < 400)
{
RedSquare2.transform.position = Red.transform.position;
}
else
{
RedSquare2.transform.position = RedSquare2InitialPos;
}
}
public void DropRedSquare3()
{
float Distance = Vector3.Distance(RedSquare3.transform.position, Red.transform.position);
if(Distance < 400)
{
RedSquare3.transform.position = Red.transform.position;
}
else
{
RedSquare3.transform.position = RedSquare3InitialPos;
}
}
public void DropRedSquare4()
{
float Distance = Vector3.Distance(RedSquare4.transform.position, Red.transform.position);
if(Distance < 400)
{
RedSquare4.transform.position = Red.transform.position;
}
else
{
RedSquare4.transform.position = RedSquare4InitialPos;
}
}
public void DropRedSquare5()
{
float Distance = Vector3.Distance(RedSquare5.transform.position, Red.transform.position);
if(Distance < 400)
{
RedSquare5.transform.position = Red.transform.position;
}
else
{
RedSquare5.transform.position = RedSquare5InitialPos;
}
}
public void DropBlueSquare1()
{
float Distance = Vector3.Distance(BlueSquare1.transform.position, Blue.transform.position);
if(Distance < 400)
{
BlueSquare1.transform.position = Blue.transform.position;
}
else
{
BlueSquare1.transform.position = BlueSquare1InitialPos;
}
}
public void DropBlueSquare2()
{
float Distance = Vector3.Distance(BlueSquare2.transform.position, Blue.transform.position);
if(Distance < 400)
{
BlueSquare2.transform.position = Blue.transform.position;
}
else
{
BlueSquare2.transform.position = BlueSquare2InitialPos;
}
}
public void DropBlueSquare3()
{
float Distance = Vector3.Distance(BlueSquare3.transform.position, Blue.transform.position);
if(Distance < 400)
{
BlueSquare3.transform.position = Blue.transform.position;
}
else
{
BlueSquare3.transform.position = BlueSquare3InitialPos;
}
}
public void DropBlueSquare4()
{
float Distance = Vector3.Distance(BlueSquare4.transform.position, Blue.transform.position);
if(Distance < 400)
{
BlueSquare4.transform.position = Blue.transform.position;
}
else
{
BlueSquare4.transform.position = BlueSquare4InitialPos;
}
}
public void DropBlueSquare5()
{
float Distance = Vector3.Distance(BlueSquare5.transform.position, Blue.transform.position);
if(Distance < 400)
{
BlueSquare5.transform.position = Blue.transform.position;
}
else
{
BlueSquare5.transform.position = BlueSquare5InitialPos;
}
}
public void DropOrangeSquare1()
{
float Distance = Vector3.Distance(OrangeSquare1.transform.position, Orange.transform.position);
if(Distance < 400)
{
OrangeSquare1.transform.position = Orange.transform.position;
}
else
{
OrangeSquare1.transform.position = OrangeSquare1InitialPos;
}
}
public void DropOrangeSquare2()
{
float Distance = Vector3.Distance(OrangeSquare2.transform.position, Orange.transform.position);
if(Distance < 400)
{
OrangeSquare2.transform.position = Orange.transform.position;
}
else
{
OrangeSquare2.transform.position = OrangeSquare2InitialPos;
}
}
public void DropOrangeSquare3()
{
float Distance = Vector3.Distance(OrangeSquare3.transform.position, Orange.transform.position);
if(Distance < 400)
{
OrangeSquare3.transform.position = Orange.transform.position;
}
else
{
OrangeSquare3.transform.position = OrangeSquare3InitialPos;
}
}
public void DropOrangeSquare4()
{
float Distance = Vector3.Distance(OrangeSquare4.transform.position, Orange.transform.position);
if(Distance < 400)
{
OrangeSquare4.transform.position = Orange.transform.position;
}
else
{
OrangeSquare4.transform.position = OrangeSquare4InitialPos;
}
}
public void DropOrangeSquare5()
{
float Distance = Vector3.Distance(OrangeSquare5.transform.position, Orange.transform.position);
if(Distance < 400)
{
OrangeSquare5.transform.position = Orange.transform.position;
}
else
{
OrangeSquare5.transform.position = OrangeSquare5InitialPos;
}
}
public void DropPurpleSquare1()
{
float Distance = Vector3.Distance(PurpleSquare1.transform.position, Purple.transform.position);
if(Distance < 400)
{
PurpleSquare1.transform.position = Purple.transform.position;
}
else
{
PurpleSquare1.transform.position = PurpleSquare1InitialPos;
}
}
public void DropPurpleSquare2()
{
float Distance = Vector3.Distance(PurpleSquare2.transform.position, Purple.transform.position);
if(Distance < 400)
{
PurpleSquare2.transform.position = Purple.transform.position;
}
else
{
PurpleSquare2.transform.position = PurpleSquare2InitialPos;
}
}
public void DropPurpleSquare3()
{
float Distance = Vector3.Distance(PurpleSquare3.transform.position, Purple.transform.position);
if(Distance < 400)
{
PurpleSquare3.transform.position = Purple.transform.position;
}
else
{
PurpleSquare3.transform.position = PurpleSquare3InitialPos;
}
}
public void DropPurpleSquare4()
{
float Distance = Vector3.Distance(PurpleSquare4.transform.position, Purple.transform.position);
if(Distance < 400)
{
PurpleSquare4.transform.position = Purple.transform.position;
}
else
{
PurpleSquare4.transform.position = PurpleSquare4InitialPos;
}
}
public void DropPurpleSquare5()
{
float Distance = Vector3.Distance(PurpleSquare5.transform.position, Purple.transform.position);
if(Distance < 400)
{
PurpleSquare5.transform.position = Purple.transform.position;
}
else
{
PurpleSquare5.transform.position = PurpleSquare5InitialPos;
}
}
public void PlayCards()
{
deck = GenerateDeck();
Shuffle(deck);
//test the cards in the deck
// foreach (string card in deck)
// {
// print(card);
// }
}
public static List<string> GenerateDeck()
{
List<string> newDeck = new List<string>();
foreach (string c in colors)
{
foreach (string v in values)
{
newDeck.Add(c + v);
}
}
return newDeck;
}
void Shuffle<T>(List<T> list)
{
System.Random random = new System.Random();
int n = list.Count;
while (n > 1)
{
int k = random.Next(n);
n--;
T temp = list[k];
list[k] = list[n];
list[n] = temp;
}
}
}