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); }
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(); } } }
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>(); }
// 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 }
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(); }