public void ComputerChoice() { image.enabled = true; image.sprite = computerPickSprite; changable = false; fieldTakenBy = FieldTakenBy.Computer; }
private FieldTakenBy[] GetSuccessorState(int i, FieldTakenBy[] field, FieldTakenBy currentPlayer) { FieldTakenBy[] newField = new FieldTakenBy[9]; field.CopyTo(newField, 0); newField[i] = currentPlayer; return(newField); }
public void UpdatePlayerChoice() { if (changable && fieldTakenBy == FieldTakenBy.Player) { image.enabled = false; fieldTakenBy = FieldTakenBy.None; } }
public void Init() { fieldTakenBy = FieldTakenBy.None; changable = false; image = transform.GetChild(0).GetComponent <Image>(); image.enabled = false; ChangeColor(Color.white); }
private bool CheckDiagonal(FieldTakenBy[] field, FieldTakenBy currentPlayer) { if (field[0] == currentPlayer && field[4] == currentPlayer && field[8] == currentPlayer) { return(true); } if (field[2] == currentPlayer && field[4] == currentPlayer && field[6] == currentPlayer) { return(true); } return(false); }
private bool CheckDiagonal(FieldTakenBy currentPlayer, Color color) { if (fieldArray[0] == currentPlayer && fieldArray[4] == currentPlayer && fieldArray[8] == currentPlayer) { fields[0].ChangeColor(color); fields[4].ChangeColor(color); fields[8].ChangeColor(color); return(true); } if (fieldArray[2] == currentPlayer && fieldArray[4] == currentPlayer && fieldArray[6] == currentPlayer) { fields[2].ChangeColor(color); fields[4].ChangeColor(color); fields[6].ChangeColor(color); return(true); } return(false); }
private bool CheckColumn(FieldTakenBy[] field, FieldTakenBy currentPlayer) { for (int i = 0; i < 3; i++) { bool rowExist = true; for (int j = i; j < i + 9; j += 3) { if (field[j] != currentPlayer) { rowExist = false; } } if (rowExist) { return(true); } } return(false); }
/// <summary> /// player clicks this, so if it's changeable it becomes an X or nothing. /// It also updates fieldTakenBy /// </summary> public void ClickedByPlayer() { if (!changable) { return; } if (image.enabled) { image.enabled = false; fieldTakenBy = FieldTakenBy.None; } else { image.enabled = true; image.sprite = playerPickSprite; fieldTakenBy = FieldTakenBy.Player; } gameManager.PlayerSet(indexOnField); }
private bool CheckColumn(FieldTakenBy currentPlayer, Color color) { for (int i = 0; i < 3; i++) { bool rowExist = true; for (int j = i; j < i + 9; j += 3) { if (fieldArray[j] != currentPlayer) { rowExist = false; } } if (rowExist) { for (int j = i; j < i + 9; j += 3) { fields[j].ChangeColor(color); } return(true); } } return(false); }
private bool TripleExists(FieldTakenBy[] field, FieldTakenBy currentPlayer) { return(CheckRow(field, currentPlayer) || CheckColumn(field, currentPlayer) || CheckDiagonal(field, currentPlayer)); }