Example #1
0
 public void ComputerChoice()
 {
     image.enabled = true;
     image.sprite  = computerPickSprite;
     changable     = false;
     fieldTakenBy  = FieldTakenBy.Computer;
 }
Example #2
0
 private FieldTakenBy[] GetSuccessorState(int i, FieldTakenBy[] field, FieldTakenBy currentPlayer)
 {
     FieldTakenBy[] newField = new FieldTakenBy[9];
     field.CopyTo(newField, 0);
     newField[i] = currentPlayer;
     return(newField);
 }
Example #3
0
 public void UpdatePlayerChoice()
 {
     if (changable && fieldTakenBy == FieldTakenBy.Player)
     {
         image.enabled = false;
         fieldTakenBy  = FieldTakenBy.None;
     }
 }
Example #4
0
 public void Init()
 {
     fieldTakenBy  = FieldTakenBy.None;
     changable     = false;
     image         = transform.GetChild(0).GetComponent <Image>();
     image.enabled = false;
     ChangeColor(Color.white);
 }
Example #5
0
 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);
 }
Example #6
0
 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);
 }
Example #7
0
 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);
 }
Example #8
0
 /// <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);
 }
Example #9
0
 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);
 }
Example #10
0
 private bool TripleExists(FieldTakenBy[] field, FieldTakenBy currentPlayer)
 {
     return(CheckRow(field, currentPlayer) || CheckColumn(field, currentPlayer) || CheckDiagonal(field, currentPlayer));
 }