示例#1
0
        public int lock_piece_calc()
        {
            Board.piece.mino_lock(ref Board);

            bool isb2b = Board.isb2b;

            int row = Board.clear_full();
            int atk = 0;

            if (Board.isperfectclear)
            {
                atk += 6;
            }
            if (Board.piece.Tspin)
            {
                atk += gamerule.GetTspindmg(row);
            }
            else
            {
                atk += gamerule.Getcleardmg(row);
            }
            atk += gamerule.Getrendmg(Board.combo);

            if (isb2b)
            {
                atk += gamerule.Getb2bdmg(row);
            }
            if (Board.piece.mini && row == 1)
            {
                atk -= 1;
            }
            if (atk > 0)
            {
                attacking.Push(atk);
            }
            //if (Board.piece.isTspin())
            //Board.cl
            //int clear

            return(atk);
        }
示例#2
0
        public Tuple <int, int> lock_piece_calc(ref simpboard Board)
        {
            rule gamerule = defaultop.defrule;

            Board.piece.mino_lock(ref Board);

            bool isb2b = Board.isb2b;

            int row = Board.clear_full();
            int atk = 0;

            if (Board.isperfectclear)
            {
                atk += 6;
            }
            if (Board.piece.Tspin)
            {
                atk += gamerule.GetTspindmg(row);
            }
            else
            {
                atk += gamerule.Getcleardmg(row);
            }
            atk += gamerule.Getrendmg(Board.combo);

            if (isb2b)
            {
                atk += gamerule.Getb2bdmg(row);
            }
            if (Board.piece.mini && row == 1)
            {
                atk -= 1;
            }
            // attack calu
            //if (Board.piece.isTspin())
            //Board.cl
            //int clear

            return(new Tuple <int, int>(atk, row));
        }