protected override void LoadContent()
        {
            // Load Fonts
            startFont = Content.Load<SpriteFont>(@"fonts\Start");
            descriptionFont = Content.Load<SpriteFont>(@"fonts\Description");
            font = Content.Load<SpriteFont>(@"fonts\SpriteFont");

            String temp = "Score: " + score;

            mainscore = new Button(Content.Load<Texture2D>("widebutton"),//Texture
                new Vector2(Window.ClientBounds.Width-220, 20),//Position
                new Point(200, 50),//Framesize
                0, //Collision Offset
                font,
                Color.Black,
                temp);

            temp = "Happiness: " + happiness;

            happyscore = new Button(Content.Load<Texture2D>("widebutton"),//Texture
                new Vector2(Window.ClientBounds.Width - 220, 70),//Position
                new Point(200, 50),//Framesize
                0, //Collision Offset
                font,
                Color.Black,
                temp);

            mainscore.buttonhover = mainscore.buttonnorm = mainscore.buttonpressed = Content.Load<Texture2D>("widebutton");
            happyscore.buttonhover = happyscore.buttonnorm = happyscore.buttonpressed = Content.Load<Texture2D>("widebutton");

            enter = new Button(Content.Load<Texture2D>("buttonnorm"),//Texture
                new Vector2(Window.ClientBounds.Width / 2 - 50, 420),//Position
                new Point(100, 50),//Framesize
                0, //Collision Offset
                font,
                Color.Black,
                "Start!");

            enter.buttonhover = enter.buttonnorm = enter.buttonpressed = Content.Load<Texture2D>("buttonhover");

            // Create a new SpriteBatch, which can be used to draw textures.
            spriteBatch = new SpriteBatch(GraphicsDevice);

            //Add RPS
            rps = new RPS(this);

            //Add Matching
            matching = new Matching(this);

            //Add Cards
            cards = new Cards(this);

            //Save game to file class
            gameFile = new GameInfo(this);
            //Load in game info
            gameFile.getFile();

            //Load Food textures
            //apple = Content.Load<Texture2D>(@"Food/apple-icon");
            //cherries = Content.Load<Texture2D>(@"Food/Cherry");
            //banana = Content.Load<Texture2D>(@"Food/Banana");

            //Loading Model
            m = Content.Load<Model>("hippo7");
            modelTransforms = new Matrix[m.Bones.Count];
            originalTransforms = new Matrix[m.Bones.Count];
            m.CopyBoneTransformsTo(originalTransforms);

            //Load Tree
            tree = Content.Load<Model>("tree4-fbx");
            treemodelTransforms = new Matrix[tree.Bones.Count];
            treeoriginalTransforms = new Matrix[m.Bones.Count];
            tree.CopyBoneTransformsTo(treeoriginalTransforms);

            //Load Grass
            grass = Content.Load<Model>("grass_low_poly");
            grassmodelTransforms = new Matrix[grass.Bones.Count];
            grassoriginalTransforms = new Matrix[grass.Bones.Count];
            grass.CopyBoneTransformsTo(grassoriginalTransforms);

            //Loading Terrain
            t = new Terrain(this);
            t.Initialize();

            //Load Hippo
            h = new Hippo(this);
            h.Initialize();

            //Loading Height Texture
            Texture2D heightMap = Content.Load<Texture2D>("Untitled");

            // Load Sounds
            audioBackground = Content.Load<SoundEffect>(@"sound\jungle");
            backgroundInstance = audioBackground.CreateInstance();
            backgroundInstance.Volume = 0.35f;

            audioBackground2 = Content.Load<SoundEffect>(@"sound\background1");
            backgroundInstance2 = audioBackground2.CreateInstance();
            backgroundInstance2.Volume = 0.35f;

            soundfxButton = Content.Load<SoundEffect>(@"sound\button");
            soundfxButton2 = Content.Load<SoundEffect>(@"sound\button2");

            //Intializing Camera
            c = new Camera(this);
            Components.Add(c);

            //Initalizing Sprite Manager
            spriteManager = new SpriteManager(this);

            // Initializing Text Utility Class
            text = new TextInterface(this);
            Components.Add(text);

            int hippobox = 25;
            for(int i = 0; i<200; i++){
                Point p = new Point(r.Next(80) - 40, r.Next(80) - 40);
                if((p.X < -hippobox || p.X > hippobox) || (p.Y < -hippobox || p.Y > hippobox+10))
                        grasspos.Add(p);
            }
        }
        public override void Initialize()
        {
            //spriteBatch = new SpriteBatch(Game.GraphicsDevice);
            font = Game.Content.Load<SpriteFont>(@"fonts/Spritefont");

            buttons.Add(new Button(Game.Content.Load<Texture2D>("buttonnorm"),//Texture
                new Vector2(10, 20),//Position
                new Point(100, 50),//Framesize
                0, //Collision Offset
                font,
                Color.Black,
                "Food >"));

            buttons.Add(new Button(Game.Content.Load<Texture2D>("buttonnorm"),//Texture
                new Vector2(10, 70),//Position
                new Point(100, 50),//Framesize
                0, //Collision Offset
                font,
                Color.Black,
                "Accessories"));

            buttons.Add(new Button(Game.Content.Load<Texture2D>("buttonnorm"),//Texture
                new Vector2(10, 120),//Position
                new Point(100, 50),//Framesize
                0, //Collision Offset
                font,
                Color.Black,
                "Games >"));

            buttons.Add(new Button(Game.Content.Load<Texture2D>("buttonnorm"),//Texture
                new Vector2(10, 170),//Position
                new Point(100, 50),//Framesize
                0, //Collision Offset
                font,
                Color.Black,
                "Save Data"));

            gamelist.Add(new Button(Game.Content.Load<Texture2D>("buttonnorm"),//Texture
                new Vector2(-200, 120),//Position
                new Point(100, 50),//Framesize
                0, //Collision Offset
                font,
                Color.Black,
                "RPS"));

            gamelist.Add(new Button(Game.Content.Load<Texture2D>("buttonnorm"),//Texture
                new Vector2(-200, 120),//Position
                new Point(100, 50),//Framesize
                0, //Collision Offset
                font,
                Color.Black,
                "Matching"));

            gamelist.Add(new Button(Game.Content.Load<Texture2D>("buttonnorm"),//Texture
                new Vector2(-200, 120),//Position
                new Point(100, 50),//Framesize
                0, //Collision Offset
                font,
                Color.Black,
                "Cards"));

            foodlist.Add(new Button(Game.Content.Load<Texture2D>("buttonnorm"),//Texture
                new Vector2(-200, 20),//Position
                new Point(100, 50),//Framesize
                0, //Collision Offset
                font,
                Color.Black,
                "Apple\n-10/+1"));

            foodlist.Add(new Button(Game.Content.Load<Texture2D>("buttonnorm"),//Texture
                new Vector2(-200, 20),//Position
                new Point(100, 50),//Framesize
                0, //Collision Offset
                font,
                Color.Black,
                "Cherry\n-25/+5"));

            foodlist.Add(new Button(Game.Content.Load<Texture2D>("buttonnorm"),//Texture
                new Vector2(-200, 20),//Position
                new Point(100, 50),//Framesize
                0, //Collision Offset
                font,
                Color.Black,
                "Banana\n-50/+10"));

            accesslist.Add(new Button(Game.Content.Load<Texture2D>("buttonnorm"),//Texture
                new Vector2(-200, 70),//Position
                new Point(100, 50),//Framesize
                0, //Collision Offset
                font,
                Color.Black,
                "Blue Coat\n-100/+100"));

            accesslist.Add(new Button(Game.Content.Load<Texture2D>("buttonnorm"),//Texture
                new Vector2(-200, 70),//Position
                new Point(100, 50),//Framesize
                0, //Collision Offset
                font,
                Color.Black,
                "Green Coat\n-250/+100"));

            accesslist.Add(new Button(Game.Content.Load<Texture2D>("buttonnorm"),//Texture
                new Vector2(-200, 70),//Position
                new Point(100, 50),//Framesize
                0, //Collision Offset
                font,
                Color.Black,
                "Pink Coat\n-500/+100"));

            exitbutton = new Button(Game.Content.Load<Texture2D>("buttonnorm"),//Texture
                new Vector2(parent.Window.ClientBounds.Width - 105, 5),//Position
                new Point(100, 50),//Framesize
                0, //Collision Offset
                font,
                Color.Black,
                "Go Back");

            resetbutton = new Button(Game.Content.Load<Texture2D>("buttonnorm"),//Texture
                new Vector2(parent.Window.ClientBounds.Width - 215, 5),//Position
                new Point(100, 50),//Framesize
                0, //Collision Offset
                font,
                Color.Black,
                "Reset");

            foreach (Sprite b in buttons)
            {
                b.buttonhover = Game.Content.Load<Texture2D>("buttonhover");
                b.buttonnorm = Game.Content.Load<Texture2D>("buttonnorm");
                b.buttonpressed = Game.Content.Load<Texture2D>("buttonpressed");
            }

            foreach (Sprite b in gamelist)
            {
                b.buttonhover = Game.Content.Load<Texture2D>("buttonhover");
                b.buttonnorm = Game.Content.Load<Texture2D>("buttonnorm");
                b.buttonpressed = Game.Content.Load<Texture2D>("buttonpressed");
            }

            foreach (Sprite b in foodlist)
            {
                b.buttonhover = Game.Content.Load<Texture2D>("buttonhover");
                b.buttonnorm = Game.Content.Load<Texture2D>("buttonnorm");
                b.buttonpressed = Game.Content.Load<Texture2D>("buttonpressed");
            }

            foreach (Sprite b in accesslist)
            {
                b.buttonhover = Game.Content.Load<Texture2D>("buttonhover");
                b.buttonnorm = Game.Content.Load<Texture2D>("buttonnorm");
                b.buttonpressed = Game.Content.Load<Texture2D>("buttonpressed");
            }

            exitbutton.buttonhover = Game.Content.Load<Texture2D>("buttonhover");
            exitbutton.buttonnorm = Game.Content.Load<Texture2D>("buttonnorm");
            exitbutton.buttonpressed = Game.Content.Load<Texture2D>("buttonpressed");

            resetbutton.buttonhover = Game.Content.Load<Texture2D>("buttonhover");
            resetbutton.buttonnorm = Game.Content.Load<Texture2D>("buttonnorm");
            resetbutton.buttonpressed = Game.Content.Load<Texture2D>("buttonpressed");

            //font = Game.Content.Load<SpriteFont>("Spritefont");
            base.Initialize();
        }