Example #1
0
    private void changeCornStates()
    {
        deselectAllCorns();
        List <CornController> corn_list = new List <CornController>();

        for (int i = 0; i < cornRows; i++)
        {
            for (int j = 0; j < cornCols; j++)
            {
                CornController cornScript = cornObjects [i, j].GetComponent <CornController> ();
                if (cornScript.state == 0)
                {
                    corn_list.Add(cornScript);
                }
            }
        }
        for (int i = 0; i < corn_list.Count; i++)
        {
            CornController temp  = corn_list [i];
            int            index = Random.Range(i, corn_list.Count);
            corn_list [i]     = corn_list [index];
            corn_list [index] = temp;
        }
        for (int i = 0; i < corn_list.Count / 2; i++)
        {
            corn_list[i].setCornState(Random.Range(1, 4));
        }
    }
    //Check if the number of selected corns are equal to the
    //showing maya number
    private int checkCorrectCorns()
    {
        //Get the rows and columns in the grid of corns
        int rows = mgc.cornRows, cols = mgc.cornCols;
        //Count of selected corns
        int count = 0;

        //Corn grid
        GameObject [,] corns = mgc.cornObjects;
        //Iterate in the corn grid
        for (int i = 0; i < rows; i++)
        {
            for (int j = 0; j < cols; j++)
            {
                //Get the controller for the [i,j] corn
                CornController cornCont = corns[i, j].GetComponent <CornController>();
                //If the corn is selected and the corn state is healthy
                if (cornCont.selected == 1 && cornCont.state == 0)
                {
                    cornCont.setCornState(Random.Range(1, 5)); //change the corn state
                    count++;                                   //increment the count of selected corns
                }
                cornCont.selected = 0;                         //deselect the corn
                cornCont.changeSprite();                       //change the corn sprite
            }
        }
        return(count);
    }
Example #3
0
 private void deselectAllCorns()
 {
     for (int i = 0; i < cornRows; i++)
     {
         for (int j = 0; j < cornCols; j++)
         {
             CornController cc = cornObjects[i, j].GetComponent <CornController>();
             cc.selected = 0; cc.changeSprite();
         }
     }
 }
Example #4
0
    void initCornGrid2()
    {
        for (int i = 0; i < cornCols; i++)
        {
            cornObjects [0, i] = fila1 [i];
            cornObjects [1, i] = fila2 [i];
            cornObjects [2, i] = fila3 [i];
            cornObjects [3, i] = fila4 [i];
        }
        int N = cornRows * cornCols, st;

        for (int i = 0; i < cornRows; i++)
        {
            for (int j = 0; j < cornCols; j++)
            {
                int value = Random.Range(0, N);
                if (value < N / 2)
                {
                    st = 0;
                }
                else if (value < 5 * N / 8)
                {
                    st = 1;
                }
                else if (value < 6 * N / 8)
                {
                    st = 2;
                }
                else if (value < 7 * N / 8)
                {
                    st = 3;
                }
                else
                {
                    st = 4;
                }
                CornController cornScript = cornObjects [i, j].GetComponent <CornController> ();
                cornScript.setCornState(st);
            }
        }
    }
 private void Start()
 {
     _cornController = GetComponent <CornController>();
 }
Example #6
0
    // Update is called once per frame
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Escape))
        {
            exitFrame.SetActive(!showExit);
            showExit = !showExit;
        }
        //Debug.Log("Selected Power: " + selectedPower+ " c: "+(c++));
        Vector2 inputPosition = new Vector2(0, 0);

#if UNITY_STANDALONE || UNITY_EDITOR || UNITY_WEBPLAYER
        if (Input.GetMouseButtonDown(0))
        {
            inputPosition = Input.mousePosition;
            if (!showInstructions && !isPowerSelected) //If there's no power selected
            {
                Vector2 corn = checkSelectCorn(inputPosition);
                if (corn.x >= 0)   //We selected a corn
                {
                    CornController cornCont = cornObjects[(int)corn.x, (int)corn.y].GetComponent <CornController>();
                    cornCont.selectCorn();
                }
                else
                {
                    int r = checkSelectRock(inputPosition);
                    if (r >= 0)
                    {
                        PowerController pw = rocks[r].GetComponent <PowerController>();
                        pw.selectRock();
                        selectedPower   = r;
                        isPowerSelected = true;
                    }
                }
            }
            else  //We have a power selected
            {
                int r = checkSelectRock(inputPosition);
                if (r >= 0)                 // we selected a rock
                {
                    if (selectedPower == r) //we selected the same rock
                    {
                        PowerController pw = rocks[r].GetComponent <PowerController>();
                        pw.deselect();
                        selectedPower   = -1;
                        isPowerSelected = false;
                    }
                    else  // we selected a different rock
                    {
                        PowerController pw;
                        if (selectedPower >= 0)
                        {
                            pw = rocks[selectedPower].GetComponent <PowerController>();
                            pw.deselect(); //Deselect the previous one
                        }
                        pw = rocks[r].GetComponent <PowerController>();
                        pw.selectRock(); //select the new one
                        selectedPower   = r;
                        isPowerSelected = true;
                    }
                }
                else  //we have a power selected
                {
                    Vector2 corn = checkSelectCorn(inputPosition);
                    if (corn.x >= 0)  //We selected a corn
                    {
                        deselectAllCorns();
                        applyPowerToCorns(corn);
                        rocks[selectedPower].GetComponent <PowerController>().deselect();
                        selectedPower   = -1;
                        isPowerSelected = false;
                    }
                }
            }
        }

#if UNITY_ANDROID
        if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Ended)
        {
            inputPosition = Input.GetTouch(0).position;
            if (!isPowerSelected) //If there's no power selected
            {
                Vector2 corn = checkSelectCorn(inputPosition);
                if (corn.x >= 0)
                { //We selected a corn
                    CornController cornCont = cornObjects[(int)corn.x, (int)corn.y].GetComponent <CornController>();
                    cornCont.selectCorn();
                }
                else
                {
                    int r = checkSelectRock(inputPosition);
                    if (r >= 0)
                    {
                        PowerController pw = rocks[r].GetComponent <PowerController>();
                        pw.selectRock();
                        selectedPower   = r;
                        isPowerSelected = true;
                    }
                }
            }
            else
            {//We have a power selected
                int r = checkSelectRock(inputPosition);
                if (r >= 0)
                {     // we selected a rock
                    if (selectedPower == r)
                    { //we selected the same rock
                        PowerController pw = rocks[r].GetComponent <PowerController>();
                        pw.deselect();
                        selectedPower   = -1;
                        isPowerSelected = false;
                    }
                    else
                    { // we selected a different rock
                        PowerController pw;
                        if (selectedPower >= 0)
                        {
                            pw = rocks[selectedPower].GetComponent <PowerController>();
                            pw.deselect(); //Deselect the previous one
                        }
                        pw = rocks[r].GetComponent <PowerController>();
                        pw.selectRock(); //select the new one
                        selectedPower   = r;
                        isPowerSelected = true;
                    }
                }
                else
                {//we have a power selected
                    Vector2 corn = checkSelectCorn(inputPosition);
                    if (corn.x >= 0)
                    { //We selected a corn
                        deselectAllCorns();
                        applyPowerToCorns(corn);
                        rocks[selectedPower].GetComponent <PowerController>().deselect();
                        selectedPower   = -1;
                        isPowerSelected = false;
                    }
                }
            }
        }
#endif
    }
Example #7
0
 private void changeOneCornState(CornController cornContr)
 {
     if (cornContr.state == 0)        //State = "sano"
     {
         if (selectedPower == 0)      //Selected power => moon
         {
             cornContr.state = 3;     //new state = "gusanos"
         }
         else if (selectedPower == 1) //power => rain
         {
             cornContr.state = 4;     //new state = "ahogado"
         }
         else if (selectedPower == 3) //power => sun
         {
             cornContr.state = 2;     // new state = "quemado"
         }
     }
     else if (cornContr.state == 1)   //State = "brote"
     {
         if (selectedPower == 0)      //Selected power => moon
         {
             cornContr.state = 3;     //new state = "gusanos"
         }
         else if (selectedPower == 1) //power => rain
         {
             cornContr.state = 0;     //new state = "ahogado"
         }
         else if (selectedPower == 2) //power => mountain
         {
             cornContr.state = 0;     // new state = "quemado"
         }
         else if (selectedPower == 3) //power => sun
         {
             cornContr.state = 5;     // new state = "vacio"
         }
     }
     else if (cornContr.state == 2)   //State = "quemado"
     {
         if (selectedPower == 0)      //Selected power => moon
         {
             cornContr.state = 0;     //new state = "sano"
         }
         else if (selectedPower == 1) //power => rain
         {
             cornContr.state = 0;     //new state = "sano"
         }
         else if (selectedPower == 3) //power => sun
         {
             cornContr.state = 5;     // new state = "vacio"
         }
     }
     else if (cornContr.state == 3)   //State = "gusanos"
     {
         if (selectedPower == 0)      //Selected power => moon
         {
             cornContr.state = 5;     //new state = "vacio"
         }
         else if (selectedPower == 2) //power => mountain
         {
             cornContr.state = 0;     // new state = "sano"
         }
         else if (selectedPower == 3) //power => sun
         {
             cornContr.state = 0;     // new state = "sano"
         }
     }
     else if (cornContr.state == 4)   //State = "ahogado"
     {
         if (selectedPower == 0)      //Selected power => moon
         {
             cornContr.state = 0;     //new state = "sano"
         }
         else if (selectedPower == 1) //power => rain
         {
             cornContr.state = 5;     //new state = "vacio"
         }
         else if (selectedPower == 2) //power => mountain
         {
             cornContr.state = 5;     // new state = "vacio"
         }
         else if (selectedPower == 3) //power => sun
         {
             cornContr.state = 0;     // new state = "sano"
         }
     }
     else if (cornContr.state == 5) //State = "vacio"
     {
         if (selectedPower == 1)    //power => rain
         {
             cornContr.state = 1;   //new state = "brote"
         }
     }
     cornContr.changeSprite();
 }