示例#1
0
        public void init()
        {
            F = new board(new mino_gene(), new TopGarbage(), 0);

            Board         = F;
            attacking     = new Stack <int>();
            garbage_queue = new Stack <int>();
            gamerule      = new rule(new int[] { 0, 1, 1, 2, 1 },
                                     new int[] { 0, 2, 4, 6 }, new int[] { 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, -1 }, new int[] { 0, 0, 1, 2, 4 });
            Minorule = new mino_gene();
        }
示例#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));
        }