Unityの整数値でプレイヤーのターンを確認してください

ミカ・ヤーボロー

int lastClickedValuexとoに基づいて、移動が無効な場合にクリックを防止しようとしています。

チェックの方法がわからない。コードが完成して私を狂わせる前に私がしなければならない最後のこと。

基本的に

if (lastclickedvaluex >= boardsquarevalue || boardsquarevalue == 0){
    allow move;
} else {
    dont show the sprite;
    dont switch turns;
    restart the players turn;
    dont change the value of lastclickedvaluex;
    make like player never clicked I suppose;
}

20時間目なので、おそらく非常に愚かなことです。

using UnityEngine;
using UnityEngine.UI;
public class GameController : MonoBehaviour
{

public int playerTurn;   //0 = X && 1 = O
public int turnCountX;     //Tally Player X Turns
public int turnCountO;     //Tally Player O Turns
public GameObject[] bigTurnIcons;  //Player Icons Array
public Sprite[] playerGamePieces;      //GamePieces Array
public Button[] gameBoardSquares;  //GameBoard Array
public int lastPlayedSquareValueX;  //Store Value of Last Clicked Square
public int lastPlayedSquareValueO;  // ""
public bool gameOver;  // End Game
public bool isValidMove;  //  Check For Valid Move
public int boardSquareValue;  //Value of Each Square from Value Script 
public int[] markedSquare;    //Win Check Array

void Awake()
{
    GameSetup();
}

public void GameSetup()
{
    isValidMove = true;
    playerTurn = 0;  //Set Player Turn To X Goes First
    turnCountX = 0;    //Set X Turn Count to 0
    turnCountO = 0;    //Set O Turn COunt to 0
    bigTurnIcons[0].SetActive(true);  //Set X Turn Icon to Active
    bigTurnIcons[1].SetActive(false); //Set O Turn Icon to Inactive
    for (int i = 0; i < gameBoardSquares.Length; i++)  //Initialize Squares (GameBoard) Array
    {
        gameBoardSquares[i].interactable = true;  //Make All Squares Clickable
        gameBoardSquares[i].GetComponent<Image>().sprite = null;  //Set TurnIcons To Off

    }
    for (int j = 0; j < markedSquare.Length; j++)  //Initialize MarkedSquare Array
    {
        markedSquare[j] = -100;  //Set Value To Wacky Number So It Doesn't Interfere With Formula FOr Win Check
    }
}

public void PlaySquareButton(int WhichNumber)  //OnClick Function
{


    markedSquare[WhichNumber] = playerTurn + 1; //OnClick Store Which PLayer Clicked Which Square
    gameBoardSquares[WhichNumber].image.sprite = playerGamePieces[playerTurn]; //OnClick Check To Place Correct Symbol (GamePiece)
    gameBoardSquares[WhichNumber].interactable = false;  //OnClick Set Button.Interactable To False So It Cannot Be CLicked Again
    boardSquareValue = gameBoardSquares[WhichNumber].GetComponent<Value>().boardSquareValue; //OnClick Set The Square's Value To The BoardSquareValue Variable in the Value Script

    if (turnCountO > 3 || turnCountX > 3)  //Check For Wins After 3 Turns
    {
        CheckForWinner();  //Iterate Through The MarkedSpaces Array To Check For A Winner
    }

    if (playerTurn == 0)

    {

        playerTurn = 1;                      //Player O Turn
        bigTurnIcons[0].SetActive(false);
        bigTurnIcons[1].SetActive(true);
        Debug.Log(boardSquareValue);           //Show Value of Clicked Square in Console
        lastPlayedSquareValueX = boardSquareValue;   //Set Last CLicked Value to Current Clicked Square
        turnCountX++;    //Increment Player Turn Count

    }
    else
    {

        playerTurn = 0;
        bigTurnIcons[0].SetActive(true);
        bigTurnIcons[1].SetActive(false);
        Debug.Log(boardSquareValue);
        lastPlayedSquareValueO = boardSquareValue;
        turnCountO++;
    }

}

助けてくれてありがとう

ゲームボード

イグナシオアロレ

あなたのコメントによると、あなたは行方不明かもしれません:

public PlaySquareButton(int WhichNumber){


    if(playerTurn)
    {
        if(WhichNumber > lastPlayedSquareValueX){
            markedSquare[WhichNumber] = playerTurn + 1; //OnClick Store Which PLayer Clicked Which Square
            gameBoardSquares[WhichNumber].image.sprite = playerGamePieces[playerTurn]; //OnClick Check To Place Correct Symbol (GamePiece)
            gameBoardSquares[WhichNumber].interactable = false;  //OnClick Set Button.Interactable To False So It Cannot Be CLicked Again
            ...

        }
    }else{
        if(WhichNumber > lastPlayedSquareValueO){
            markedSquare[WhichNumber] = playerTurn + 1; //OnClick Store Which PLayer Clicked Which Square
            gameBoardSquares[WhichNumber].image.sprite = playerGamePieces[playerTurn]; //OnClick Check To Place Correct Symbol (GamePiece)
            gameBoardSquares[WhichNumber].interactable = false;  //OnClick Set Button.Interactable To False So It Cannot Be CLicked Again
            ...

        }
    }

}

基本的に、機能を開始する前に、クリックした正方形からのWhichNumberがlastPlayedSquareValueXより大きいかどうかを確認します。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

iOSシミュレータのタイプとバージョンを確認してください

分類Dev

テンプレートパラメータのタイプを確認し、別のテンプレートを使用してください

分類Dev

AndroidEspressoフレームワークでDatePickerカレンダーの値を確認してください

分類Dev

Xtendバリデーターのタイプを確認してください

分類Dev

pandasデータフレームの次のインデックス列の値と同じ値の連続した長さを確認してください

分類Dev

KotlinでArrayListのタイプを確認してください

分類Dev

データフレームの一部の列で重複する値を確認してください

分類Dev

Derivedの基本クラスのテンプレートパラメータを確認してください

分類Dev

テンプレート関数の存在を確認してください

分類Dev

Djangoテンプレートの変数を確認してください

分類Dev

データベースの値を確認してください(ログイン)

分類Dev

応答のパラメータで2つのタイプを確認してください

分類Dev

多くのブール値を確認してください

分類Dev

メンバー/プロパティのタイプを確認してください

分類Dev

他のデータフレームの値の存在を確認してください

分類Dev

Reactコンポーネントのタイプを確認してください

分類Dev

最初のログインワードプレスを確認してください

分類Dev

「this」の要素のタイプを確認してください

分類Dev

テンプレートクラスで関数の存在を確認してください

分類Dev

JavaScript:URLパラメータ値の長さを確認してください

分類Dev

FirebaseFirestoreからのデータの値を確認してください

分類Dev

Pythonのループの最小値を確認してください

分類Dev

トレイトのタイプパラメーターがモナドであることを確認してください

分類Dev

変数のタイプを確認してください

分類Dev

データフレーム内の単語を確認してください

分類Dev

ワイヤレス速度複数のポイントを確認してください

分類Dev

すべてのテーブル列で値を確認してください

分類Dev

列タイプifステートメントを確認してください

分類Dev

レプリケーションタイプmysqlを確認してください

Related 関連記事

  1. 1

    iOSシミュレータのタイプとバージョンを確認してください

  2. 2

    テンプレートパラメータのタイプを確認し、別のテンプレートを使用してください

  3. 3

    AndroidEspressoフレームワークでDatePickerカレンダーの値を確認してください

  4. 4

    Xtendバリデーターのタイプを確認してください

  5. 5

    pandasデータフレームの次のインデックス列の値と同じ値の連続した長さを確認してください

  6. 6

    KotlinでArrayListのタイプを確認してください

  7. 7

    データフレームの一部の列で重複する値を確認してください

  8. 8

    Derivedの基本クラスのテンプレートパラメータを確認してください

  9. 9

    テンプレート関数の存在を確認してください

  10. 10

    Djangoテンプレートの変数を確認してください

  11. 11

    データベースの値を確認してください(ログイン)

  12. 12

    応答のパラメータで2つのタイプを確認してください

  13. 13

    多くのブール値を確認してください

  14. 14

    メンバー/プロパティのタイプを確認してください

  15. 15

    他のデータフレームの値の存在を確認してください

  16. 16

    Reactコンポーネントのタイプを確認してください

  17. 17

    最初のログインワードプレスを確認してください

  18. 18

    「this」の要素のタイプを確認してください

  19. 19

    テンプレートクラスで関数の存在を確認してください

  20. 20

    JavaScript:URLパラメータ値の長さを確認してください

  21. 21

    FirebaseFirestoreからのデータの値を確認してください

  22. 22

    Pythonのループの最小値を確認してください

  23. 23

    トレイトのタイプパラメーターがモナドであることを確認してください

  24. 24

    変数のタイプを確認してください

  25. 25

    データフレーム内の単語を確認してください

  26. 26

    ワイヤレス速度複数のポイントを確認してください

  27. 27

    すべてのテーブル列で値を確認してください

  28. 28

    列タイプifステートメントを確認してください

  29. 29

    レプリケーションタイプmysqlを確認してください

ホットタグ

アーカイブ