예제 #1
0
        public PushyGame(string userId)
        {
            Field         = new PushyField();
            Field.Squares = new List <List <PushySquare> >();
            for (int i = 0; i < 10; i++)
            {
                Field.Squares.Add(new List <PushySquare>());
                for (int j = 0; j < 10; j++)
                {
                    if (j == 0 || i == 0 || j == 9 || i == 9)
                    {
                        Field.Squares[i].Add(new PushySquareWall());
                    }
                    else
                    {
                        Field.Squares[i].Add(new PushySquareAir());
                    }
                }
            }
            var fig = new PushyFigure();

            fig.UserId = userId;
            Field.Squares[5][5].ChildSquares.Add(fig);
            Field.Squares[1][1].ChildSquares.Add(new PushySquareHouse());
            Field.Squares[5][7].ChildSquares.Add(new PushySquareBox());
            Field.Squares[6][7].ChildSquares.Add(new PushySquareBox());
        }
예제 #2
0
 public override bool CollidesWithFigure(PushyField field, PushyFigure figure)
 {
     return(false);
 }
예제 #3
0
 internal bool HasFigure(PushyFigure fig)
 {
     return(HasFigure(fig.UserId));
 }
예제 #4
0
 internal List <PushySquare> GetCollidingChilds(PushyField field, PushyFigure fig)
 {
     return(this.ChildSquares.Where(x => x.CollidesWithFigure(field, fig)).ToList());
 }
예제 #5
0
 public abstract bool CollidesWithFigure(PushyField field, PushyFigure figure);