// true - clockwise right // false - clockwise left // simple spin public bool Rotate(Part <T> part, bool orientation) { bool factor; int side; part.Rotate(orientation); if (!isValid(part, out factor, out side)) { part.Rotate(!orientation); if (factor) { if (side == 1) { if (MoveLeft(part)) { return(Rotate(part, orientation)); } } else { if (MoveRight(part)) { return(Rotate(part, orientation)); } } } return(false); } part.Sync(); return(true); }
public bool MoveRight(Part <T> part) { part.MoveRight(); if (!isValid(part)) { part.MoveLeft(); return(false); } part.Sync(); return(true); }
public bool MoveDown(Part <T> part) { part.MoveDown(); if (!isValid(part)) { part.MoveUp(); FillBoard(part); part.Delete(); return(false); } part.Sync(); return(true); }
private void SpawnPart(Part <T> part) { part.SetPos(SpawnPointX, SpawnPointY); part.Sync(); }