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); }
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); }
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); }
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); }