Exemplo n.º 1
0
 private void Tetris_OnNewGame()
 {
     iteration = false;
     passive   = new TetrisFigure(new List <GameBlock>());
     preview   = new TetrisFigure();
     CreateFigure();
     DrawField();
 }
Exemplo n.º 2
0
            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);
                }
            }
Exemplo n.º 3
0
            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();
                }
            }
Exemplo n.º 4
0
 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));
     }
 }
Exemplo n.º 6
0
 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();
     }
 }
Exemplo n.º 7
0
        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));
            }
        }
Exemplo n.º 8
0
 private void CreateFigure()
 {
     active = preview;
     active.SetPosition(4, 0);
     preview = new TetrisFigure();
 }