- Home /
Check array slot against corresponding slot in another array?
I've been trying to learn about arrays and I thought making a Simon game would be a good learning experience. I've got a Simon array where the AI picks a random value and stores it into an array. Then the player picks a square and that value is stored in a Player array. I need to be able to compare those two arrays to see if the player is entering the correct sequence.
How do I check the elements of the two arrays against each other as the player values are stored in the array? Any insight would be great! Thanks!
Here is my Simon Script:
#pragma strict
var greenSquare : GameObject;
var redSquare : GameObject;
var blueSquare : GameObject;
var orangeSquare : GameObject;
var chosenSquare : GameObject;
var betweenSimonTurnWait : float = .5;
var lightLengthWait : float = .5;
static var simonArray = Array ();
static var playerArray = Array ();
function Start()
{
playerArray.length = 0;
simonArray.length = 0;
pickRandomSquare();
}
function Update()
{
if (ClickHandler.shouldCheckArray)
{
ClickHandler.shouldCheckArray = !ClickHandler.shouldCheckArray;
print("CHECKING ARRAYS!!!");
checkArrays();
}
}
function pickRandomSquare()
{
var randomSquare : int = Random.Range(1, 5);
simonArray.Push(randomSquare);
for (var storedSquare in simonArray)
{
yield WaitForSeconds(betweenSimonTurnWait);
if (storedSquare == 1)
{
chosenSquare = greenSquare;
}
if (storedSquare == 2)
{
chosenSquare = redSquare;
}
if (storedSquare == 3)
{
chosenSquare = blueSquare;
}
if (storedSquare == 4)
{
chosenSquare = orangeSquare;
}
chosenSquare.renderer.enabled = true;
chosenSquare.audio.Play();
print(simonArray);
yield WaitForSeconds(lightLengthWait);
chosenSquare.renderer.enabled = false;
}
ClickHandler.waitingForPlayer =true;
}
function checkArrays()
{
if(playerArray.toString() == simonArray.toString())
{
print("ARRAYS ARE EQUAL!!!");
pickRandomSquare();
}
else
{
print("ARRAYS ARE NOT EQUAL!!!");
Application.LoadLevel ("FrontEnd");
}
}
//////////////////////////////////// And this is my ClickHandler script: ////////////////////////////////////
static var shouldCheckArray = false;
var simonSaysInstance : SimonSays;
var playerChosenSquare : String;
var playerChosenSquareID : int;
function Start()
{
GameObject.Find("Unlit").GetComponent(SimonSays);
}
function Update ()
{
}
function OnMouseDown()
{
if (waitingForPlayer)
{
playerChosenSquare = transform.parent.name;
if (playerChosenSquare == "Green")
{
playerChosenSquareID = 1;
}
else if (playerChosenSquare == "Red")
{
playerChosenSquareID = 2;
}
else if (playerChosenSquare == "Blue")
{
playerChosenSquareID = 3;
}
else if (playerChosenSquare == "Orange")
{
playerChosenSquareID = 4;
}
SimonSays.playerArray.Push(playerChosenSquareID);
shouldCheckArray = true;
}
}
function OnMouseUp()
{
}
Answer by Benproductions1 · Apr 11, 2013 at 05:17 AM
I can't be bothered reading your code, since it's unformatted, but if you want to comare 2 values in an array at the same index:
//if index is of type int and array1/2 are array/lists/hashtables
array1[index] == array2[index]
It's as easy as that
Benproductions1
Your answer
Follow this Question
Related Questions
Can I check the name of an element? 2 Answers
deleting a face of a proceduraly created mesh. 1 Answer
How do i access the variables of a class that is in an array? 1 Answer
how to check if an element has been removed from a GameObject array C# 2 Answers
How to remove an object from an array once it has been destroyed 1 Answer