Esempio n. 1
0
        public bool MoveLeft(FigureTetris fig)
        {
            bool MovePerformed = true;

            ClearFigure(fig);
            x_Figure--;
            IndexNotCrossed += X_MinIndexNotCrossed;
            if (!MovePassible(x_Figure, fig))
            {
                MovePerformed = false;
                x_Figure++;
            }
            DrowFigure(fig);
            return(MovePerformed);
        }
Esempio n. 2
0
        public bool MoveDown(FigureTetris fig)
        {
            bool MovePerformed = true;

            ClearFigure(fig);
            y_Figure++;
            IndexNotCrossed += Y_MaxIndexNotCrossed;
            if (!MovePassible(y_Figure + fig.FigureHeight - 1, fig))
            {
                MovePerformed = false;
                y_Figure--;
            }
            DrowFigure(fig);
            return(MovePerformed);
        }
Esempio n. 3
0
        public bool MoveRight(FigureTetris fig)
        {
            bool MovePerformed = true;

            ClearFigure(fig);
            x_Figure++;
            IndexNotCrossed += X_MaxIndexNotCrossed;
            if (!MovePassible(x_Figure + fig.FigureWidth - 1, fig))// -1 poniewaz bierzemy wysokosc figury jako indeks tablicy a nie faktycznś wysokość (indeksowanie zaczyna się od 0)
            {
                MovePerformed = false;
                x_Figure--;
            }
            DrowFigure(fig);
            return(MovePerformed);
        }
Esempio n. 4
0
        private bool MovePassible(int index, FigureTetris fig)
        {
            bool output = true;

            if (!IndexNotCrossed(index))
            {
                output = false;
            }
            else if (FieldOccupied(x_Figure, y_Figure, fig))
            {
                output = false;
            }
            IndexNotCrossed = null;
            return(output);
        }