private void AssignSides() { int result = RNGsus(); if (result == 1) { p1Side = Space.Side.O; p2Side = Space.Side.X; } else { p1Side = Space.Side.X; p2Side = Space.Side.O; } }
/* Even handler for clicking on a 'space'*/ private void SetupButtonClickHandler(Space space) { Button btn = space.button; btn.onClick.AddListener(delegate { Space.Side side = model.GetSide(int.Parse(space.name)); // TODO: change text to button images string sideToDisplay; switch (side) { case Space.Side.UD: sideToDisplay = "?"; checkWinState(sideToDisplay); break; case Space.Side.O: sideToDisplay = "O"; space.SetInteractable(false); checkWinState(sideToDisplay); break; case Space.Side.X: sideToDisplay = "X"; space.SetInteractable(false); checkWinState(sideToDisplay); break; default: return; } btn.GetComponentInChildren <Text> ().text = sideToDisplay; /* Deselect button (to prevent it from being highlighted) */ EventSystem.current.SetSelectedGameObject(null); model.EndTurn(); turn.text = ((model.p1sTurn)? model.playerOne : model.playerTwo) + "'s Turn"; }); }
public bool checkOWins() { Space.Side Sym = Space.Side.X; Space.Side Empty = Space.Side.NONE; int j = 0; //Check row 1 for (int i = 0; i < 5; i++) { if (!grid[i].Equals(Sym)) { if (!grid[i].Equals(Empty)) { if (grid[i].Equals(Space.Side.UD)) { j++; } else { j += 100; } } } } if (j == 104 || j == 203 || j == 302 || j == 401 || j == 500) { return(true); } j = 0; //Check row 2 for (int i = 0; i < 5; i++) { if (!grid[i].Equals(Sym)) { if (!grid[i].Equals(Empty)) { if (grid[i].Equals(Space.Side.UD)) { j++; } else { j += 100; } } } } if (j == 104 || j == 203 || j == 302 || j == 401 || j == 500) { return(true); } j = 0; //Check row 3 for (int i = 0; i < 5; i++) { if (!grid[i].Equals(Sym)) { if (!grid[i].Equals(Empty)) { if (grid[i].Equals(Space.Side.UD)) { j++; } else { j += 100; } } } } if (j == 104 || j == 203 || j == 302 || j == 401 || j == 500) { return(true); } j = 0; //Check row 4 for (int i = 0; i < 5; i++) { if (!grid[i].Equals(Sym)) { if (!grid[i].Equals(Empty)) { if (grid[i].Equals(Space.Side.UD)) { j++; } else { j += 100; } } } } if (j == 104 || j == 203 || j == 302 || j == 401 || j == 500) { return(true); } j = 0; //Check row 5 for (int i = 0; i < 5; i++) { if (!grid[i].Equals(Sym)) { if (!grid[i].Equals(Empty)) { if (grid[i].Equals(Space.Side.UD)) { j++; } else { j += 100; } } } } if (j == 104 || j == 203 || j == 302 || j == 401 || j == 500) { return(true); } //Check Columns //Check col 1 j = 0; for (int i = 0; i < 25; i += 5) { if (!grid[i].Equals(Sym)) { if (!grid[i].Equals(Empty)) { if (grid[i].Equals(Space.Side.UD)) { j++; } else { j += 100; } } } } if (j == 104 || j == 203 || j == 302 || j == 401 || j == 500) { return(true); } //Check col 2 j = 0; for (int i = 1; i < 25; i += 5) { if (!grid[i].Equals(Sym)) { if (!grid[i].Equals(Empty)) { if (grid[i].Equals(Space.Side.UD)) { j++; } else { j += 100; } } } } if (j == 104 || j == 203 || j == 302 || j == 401 || j == 500) { return(true); } //Check col 3 j = 0; for (int i = 2; i < 25; i += 5) { if (!grid[i].Equals(Sym)) { if (!grid[i].Equals(Empty)) { if (grid[i].Equals(Space.Side.UD)) { j++; } else { j += 100; } } } } if (j == 104 || j == 203 || j == 302 || j == 401 || j == 500) { return(true); } //Check col 4 j = 0; for (int i = 3; i < 25; i += 5) { if (!grid[i].Equals(Sym)) { if (!grid[i].Equals(Empty)) { if (grid[i].Equals(Space.Side.UD)) { j++; } else { j += 100; } } } } if (j == 104 || j == 203 || j == 302 || j == 401 || j == 500) { return(true); } //Check col 5 j = 0; for (int i = 4; i < 25; i += 5) { if (!grid[i].Equals(Sym)) { if (!grid[i].Equals(Empty)) { if (grid[i].Equals(Space.Side.UD)) { j++; } else { j += 100; } } } } if (j == 104 || j == 203 || j == 302 || j == 401 || j == 500) { return(true); } //Check diagonal \ j = 0; for (int i = 0; i < 25; i += 6) { if (!grid[i].Equals(Sym)) { if (!grid[i].Equals(Empty)) { if (grid[i].Equals(Space.Side.UD)) { j++; } else { j += 100; } } } } if (j == 104 || j == 203 || j == 302 || j == 401 || j == 500) { return(true); } //Check diagonal / j = 0; for (int i = 0; i < 21; i += 4) { if (!grid[i].Equals(Sym)) { if (!grid[i].Equals(Empty)) { if (grid[i].Equals(Space.Side.UD)) { j++; } else { j += 100; } } } } if (j == 104 || j == 203 || j == 302 || j == 401 || j == 500) { return(true); } return(false); }