private void Tetris_OnNewGame() { iteration = false; passive = new TetrisFigure(new List <GameBlock>()); preview = new TetrisFigure(); CreateFigure(); DrawField(); }
public void TetrisMove(int dx, int dy, Figure passive) { TetrisFigure temp = new TetrisFigure(this); temp.Move(dx, dy); if (!passive.Cross(temp) && !temp.body.Exists(x => x.X == -1) && !temp.body.Exists(x => x.X == 10)) { Move(dx, dy); } }
public void RotationRight(TetrisFigure passive) { TetrisFigure temp = new TetrisFigure(this); temp.RotationRight(); if (!passive.Cross(temp) && temp.X >= 0 && temp.body.Max(x => x.X) < 10 && temp.body.Max(x => x.Y) < 20) { RotationRight(); } }
public override FieldState GetFieldState(GamePoint point) { if (TetrisFigure.Contains(point)) { return(FieldState.TetrisFigure); } if (Walls[point.Y][point.X]) { return(FieldState.Wall); } return(FieldState.Empty); }
private static IFigure CreateTetrisFigure(TetrisFigure figure) { switch (figure) { case TetrisFigure.I: return new FigureI(); case TetrisFigure.J: return new FigureJ(); case TetrisFigure.L: return new FigureL(); case TetrisFigure.O: return new FigureO(); case TetrisFigure.S: return new FigureS(); case TetrisFigure.T: return new FigureT(); case TetrisFigure.Z: return new FigureZ(); default: throw new ArgumentException(string.Format("Cannot generate figure: {0}", figure)); } }
private void Iteration() { temp = new TetrisFigure(active); temp.Move(); if (passive.Cross(temp) || temp.body.Exists(x => x.Y == 20)) { passive.Join(active); CheckField(); CreateFigure(); } else { active.Move(); } }
private static IFigure CreateTetrisFigure(TetrisFigure figure) { switch (figure) { case TetrisFigure.I: return(new FigureI()); case TetrisFigure.J: return(new FigureJ()); case TetrisFigure.L: return(new FigureL()); case TetrisFigure.O: return(new FigureO()); case TetrisFigure.S: return(new FigureS()); case TetrisFigure.T: return(new FigureT()); case TetrisFigure.Z: return(new FigureZ()); default: throw new ArgumentException(string.Format("Cannot generate figure: {0}", figure)); } }
private void CreateFigure() { active = preview; active.SetPosition(4, 0); preview = new TetrisFigure(); }