- 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