Beispiel #1
0
    // ボードクリック時の処理
    public void OnPointerClick(PointerEventData data)
    {
        // クリックされたマスから座標を取得する。
        float x     = transform.position.x;
        float z     = transform.position.z;
        int   x_int = (int)x;
        int   z_int = (int)z;

        // ReversiクラスのCanPutメソッドに座標を渡し、置くことができるか判定
        bool putFlg = reversi.CanPut(x_int, z_int);

        // 置くことができたら、ReversiクラスのPutStoneメソッドに座標を渡し、情報を更新。
        if (putFlg is true)
        {
            reversi.PutStone(x_int, z_int);

            // reversi.Boardの状態を確認し、ボードの描画状態を更新する。
            ConfirmBord();
            UpdatePutMark();
            UpdateScore();
        }

        //終了判定
        if (reversi.CheckFinish())
        {
            for (int i = 0; i < 8; i++)
            {
                for (int j = 0; j < 8; j++)
                {
                    pieceArray[i, j] = null;
                }
            }
            SceneManager.LoadScene("TopScene");
        }
    }