public static readonly int gameSpeed = 50;//(int)LevelSpeed.Normal;
 static void Main(string[] args)
 {   
     Renderer renderer = new Renderer(30, 30);
     Input movement = new Input();
     Engine engine = new Engine(renderer, gameSpeed, movement);
     
     Intialize(engine);
     Events(engine, movement);
     
     engine.Run();
 }
示例#2
0
        public Engine(Renderer renderer, int gameSpeed, Input movement)
        {
            this.Renderer = renderer;
            this.movement = movement;

            this.fallenObjectsContainerMatrix = new GameObject[this.Renderer.GridMatrix.GetLength(0), this.Renderer.GridMatrix.GetLength(1)];
            this.staticObjects = new List<GameObject>();
            this.movableObjects = new List<GameObject>();
            this.allObjects = new List<GameObject>();
            this.infoObjects = new List<GameObject>();
            this.gameSpeed = gameSpeed;

            //Adding falling blocks structure
            this.fallingBlocksWrapper = new FallingBlocksWrapper(new Coordinates(6, (this.Renderer.GridMatrix.GetLength(1) / 2) - 1), new Coordinates(1, 0));
            
            foreach (var fallingBlock in this.fallingBlocksWrapper)
            {
                this.AddObject(fallingBlock);
            }
        }
示例#3
0
 public static bool HasGameEnded(GameObject obj, Renderer renderer)
 {
     return obj.TopLeft.Row == 5 &&
         renderer.GridMatrix[obj.TopLeft.Row + obj.GetImage().GetLength(1), obj.TopLeft.Col] != ' ';
 }