public override void Load()
        {
            AssetManager.Load(main.Content);
            AssetManager.SongManager("techno");
            music = AssetManager.Music;
            MediaPlayer.Play(music);
            MediaPlayer.Volume = 30;

            explode = main.Content.Load <SoundEffect>("explode");

            oldKeyboardState = Keyboard.GetState();

            Rectangle screen = main.Window.ClientBounds;

            hero          = new Hero(main.Content.Load <Texture2D>("ship"));
            hero.Position = new Vector2((screen.Width / 2) - hero.Texture.Width / 2, (screen.Height / 2) - hero.Texture.Height / 2);
            listActors.Add(hero);

            for (int i = 0; i < 20; i++)
            {
                Meteor m = new Meteor(main.Content.Load <Texture2D>("meteor"));
                m.Position = new Vector2(
                    Utils.GetInt(1, screen.Width - m.Texture.Width),
                    Utils.GetInt(1, screen.Height - m.Texture.Height)
                    );
                listActors.Add(m);
            }

            base.Load();
        }
        public override void Update(GameTime gameTime)
        {
            KeyboardState newkeyboardState = Keyboard.GetState();
            Rectangle     Screen           = main.Window.ClientBounds;

            foreach (IActor actor in listActors)
            {
                if (actor is Meteor)
                {
                    Meteor m = (Meteor)actor;

                    if (m.Position.X < 0)
                    {
                        m.vx       = 0 - m.vx;
                        m.Position = new Vector2(0, m.Position.Y);
                    }
                    if (m.Position.X + m.Texture.Width > Screen.Width)
                    {
                        m.vx       = 0 - m.vx;
                        m.Position = new Vector2(Screen.Width - m.BoundingBox.Width, m.Position.Y);
                    }
                    if (m.Position.Y < 0)
                    {
                        m.vy       = 0 - m.vy;
                        m.Position = new Vector2(m.Position.X, 0);
                    }
                    if (m.Position.Y + m.Texture.Height > Screen.Height)
                    {
                        m.vy       = 0 - m.vy;
                        m.Position = new Vector2(m.Position.X, Screen.Height - m.BoundingBox.Height);
                    }
                    if (Utils.CollideByBox(m, hero))
                    {
                        hero.TouchedBy(m);
                        m.TouchedBy(hero);
                        m.ToRemove = true;
                        explode.Play();
                    }
                    if (hero.Energy <= 0)
                    {
                        hero.Energy = 100;
                        main.GameState.ChangeScene(GameState.SceneType.Gameover);
                    }
                }
            }

            Clean();

            if (newkeyboardState.IsKeyDown(Keys.G) && !oldKeyboardState.IsKeyDown(Keys.G))
            {
                Console.WriteLine("ok");
            }

            if (newkeyboardState.IsKeyDown(Keys.Right))
            {
                hero.Move(1, 0);
            }

            oldKeyboardState = newkeyboardState;

            base.Update(gameTime);
        }