コード例 #1
0
ファイル: Shape.cs プロジェクト: mawasi/TetrisSample
    /// <summary>
    /// 正常位置の確認
    /// </summary>
    /// <param name="pos"></param>
    /// <returns></returns>
    bool isValidPos(Vector3 pos)        // 引数いらんかも
    {
        bool result = true;

        // 近い整数値に丸める
        MyTransform.position = Utility.roundVector(MyTransform.position);

        foreach (var block in Blocks)
        {
            // 近い整数値に丸める
            block.position = Utility.roundVector(block.position);
            // ボード内かどうかチェック
            if (!Ingame.insideBorad(block.position))
            {
                return(false);
            }

            // ボードの対応マスにすでにブロックが入っている場合はそこは行けないところ
            int x = (int)(block.position.x + 0.5f);
            int y = (int)(block.position.y + 0.5f);

            if (y < Ingame.Y_SIZE)
            {
                if (Ingame.Board[x, y] != null)
                {
                    return(false);
                }
            }
        }

        return(result);
    }