/// <summary> /// Allows the game to run logic such as updating the world, /// checking for collisions, gathering input, and playing audio. /// </summary> /// <param name="gameTime">Provides a snapshot of timing values.</param> protected override void Update(GameTime gameTime) { // Allows the game to exit if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed) this.Exit(); // TODO: Add your update logic here monkeyRect = new Rectangle((int)monkeyPosition.X, (int)monkeyPosition.Y, (int)monkey.Width, (int)monkey.Height); lastKeyboardState = currentKeyboardState; currentKeyboardState = Keyboard.GetState(); //m.Update(); switch (currentState) { case ScreenState.MainMenu: { if ((currentKeyboardState.IsKeyDown(Keys.Enter) && lastKeyboardState.IsKeyUp(Keys.Enter))) currentState = ScreenState.info; if ((currentKeyboardState.IsKeyDown(Keys.F1) && lastKeyboardState.IsKeyUp(Keys.F1))) currentState = ScreenState.credits; if (currentKeyboardState.IsKeyDown(Keys.F2)) this.Exit(); break; } case ScreenState.credits: { if ((currentKeyboardState.IsKeyDown(Keys.Enter) && lastKeyboardState.IsKeyUp(Keys.Enter))) currentState = ScreenState.Game; if ((currentKeyboardState.IsKeyDown(Keys.F1) && lastKeyboardState.IsKeyUp(Keys.F1))) Process.Start("IExplore.exe", "www.facebook.com/prasad.jayashanka"); if ((currentKeyboardState.IsKeyDown(Keys.F2) && lastKeyboardState.IsKeyUp(Keys.F2))) Process.Start("IExplore.exe", "www.vickiwenderlich.com"); if ((currentKeyboardState.IsKeyDown(Keys.Escape) && lastKeyboardState.IsKeyUp(Keys.Escape))) currentState = ScreenState.MainMenu; break; } case ScreenState.info: { if ((currentKeyboardState.IsKeyDown(Keys.Enter) && lastKeyboardState.IsKeyUp(Keys.Enter))) currentState = ScreenState.Game; if ((currentKeyboardState.IsKeyDown(Keys.Escape) && lastKeyboardState.IsKeyUp(Keys.Escape))) currentState = ScreenState.MainMenu; break; } case ScreenState.Pause: { if ((currentKeyboardState.IsKeyDown(Keys.Enter) && lastKeyboardState.IsKeyUp(Keys.Enter))) currentState = ScreenState.Game; if (currentKeyboardState.IsKeyDown(Keys.F3)) this.Exit(); break; } case ScreenState.Game: { #region update_Textures //Walk Left leftWalk_timeSinceLastFrame += gameTime.ElapsedGameTime.Milliseconds; if (leftWalk_timeSinceLastFrame > leftWalk_millisecondsPerFrame) { leftWalk_timeSinceLastFrame -= leftWalk_millisecondsPerFrame; ++leftWalk_currentFrame.X; if (leftWalk_currentFrame.X >= leftWalk_sheetSize.X) { leftWalk_currentFrame.X = 0; ++leftWalk_currentFrame.Y; if (leftWalk_currentFrame.Y >= leftWalk_sheetSize.Y) leftWalk_currentFrame.Y = 0; } } //walk right rightWalk_timeSinceLastFrame += gameTime.ElapsedGameTime.Milliseconds; if (rightWalk_timeSinceLastFrame > rightWalk_millisecondsPerFrame) { rightWalk_timeSinceLastFrame -= rightWalk_millisecondsPerFrame; ++rightWalk_currentFrame.X; if (rightWalk_currentFrame.X >= rightWalk_sheetSize.X) { rightWalk_currentFrame.X = 0; ++rightWalk_currentFrame.Y; if (rightWalk_currentFrame.Y >= rightWalk_sheetSize.Y) rightWalk_currentFrame.Y = 0; } } #endregion if ((currentKeyboardState.IsKeyDown(Keys.Escape) && lastKeyboardState.IsKeyUp(Keys.Escape))) currentState = ScreenState.Pause; if (currentKeyboardState.IsKeyDown(Keys.D) && (currentKeyboardState.IsKeyUp(Keys.Space))) { monkeyPosition.X += speed; heroact = monkeyState.rightWalk; } else if (currentKeyboardState.IsKeyDown(Keys.A) && (currentKeyboardState.IsKeyUp(Keys.Space))) { monkeyPosition.X -= speed; heroact = monkeyState.leftWalk; } else if ((currentKeyboardState.IsKeyDown(Keys.Space) && lastKeyboardState.IsKeyUp(Keys.Space)) && touchGround()) { monkeyPosition.Y -= 150; //heroact = monkeyState.normal; } else if ((currentKeyboardState.IsKeyDown(Keys.Space) && lastKeyboardState.IsKeyUp(Keys.Space)) && touchGround() && currentKeyboardState.IsKeyDown(Keys.D)) { monkeyPosition.X += speed; heroact = monkeyState.rightJump; } else if ((currentKeyboardState.IsKeyDown(Keys.Space) && lastKeyboardState.IsKeyUp(Keys.Space)) && touchGround() && currentKeyboardState.IsKeyDown(Keys.A)) { heroact = monkeyState.leftJump; } else { //heroact = monkeyState.normal; } if (!touchGround()) monkeyPosition.Y += 5; else monkeyPosition.Y += 0; for (int x = 0; x < 15; x++) { groundPanel[x].Update(); } for (int x = 0; x < 50; x++) { bananas[x].Update(); } pillar.Update(); pillarEnd.Update(); touchPillar(); touchPillarEnd(); break; } case ScreenState.Congrats: { break; } default: { break; } } camera.update(gameTime, this); base.Update(gameTime); }
/// <summary> /// LoadContent will be called once per game and is the place to load /// all of your content. /// </summary> protected override void LoadContent() { // Create a new SpriteBatch, which can be used to draw textures. spriteBatch = new SpriteBatch(GraphicsDevice); monkey = Content.Load<Texture2D>(@"textures\Monkey\nomalStand"); leftWalk = Content.Load<Texture2D>(@"textures\Monkey\leftWalk"); rightWalk = Content.Load<Texture2D>(@"textures\Monkey\rightWalk"); background = Content.Load<Texture2D>(@"textures\startScreenFull"); Info = Content.Load<Texture2D>(@"textures\infoScreen"); credits = Content.Load<Texture2D>(@"textures\credits"); Pause = Content.Load<Texture2D>(@"textures\pauseScreen"); win = Content.Load<Texture2D>(@"textures\Congrats"); pillar = new GameSprite(Content.Load<Texture2D>(@"textures\pillar"), new Rectangle(), new Vector2(-200, 400), 5f); pillarEnd = new GameSprite(Content.Load<Texture2D>(@"textures\pillar"), new Rectangle(), new Vector2(17500, 400), 5f); font = Content.Load<SpriteFont>(@"Fonts\SpriteFont1"); #region gameScreens Screen1 = Content.Load<Texture2D>(@"textures\background"); for (int x = 0; x < 15; x++ ) { gameScreen[x] = new GameSprite(Screen1, new Rectangle(), new Vector2(width, 0), 5f); groundPanel[x] = new GameSprite(Content.Load<Texture2D>(@"textures\ground"), new Rectangle(), new Vector2(width, 660), 5f); width += 1280; } for (int x = 0; x < 50; x++) { bananas[x] = new GameSprite(Content.Load<Texture2D>(@"textures\banana"), new Rectangle(), new Vector2((rnd.Next(-100, 17500)), (rnd.Next(200,500))), 5f); } #endregion currentState = ScreenState.MainMenu; heroact = monkeyState.normal; //m = new Monkey(monkey, new Rectangle(), new Vector2(500, 500), 5f); // TODO: use this.Content to load your game content here }