public void Update(GameTime _gameTime, KeyboardState _teclado, KeyboardState _tecladoAnterior, GamePadState _controle, GamePadState _controleanterior) { if (isGameOver()) { vidas = 7; velocidade.X = 0; velocidade.Y = 0; posicao.X = (gw.ClientBounds.Width / 2) - textura.Width / 2 - 150; posicao.Y = (gw.ClientBounds.Height / 2) - textura.Height / 2; angulo = 0; doGameOver(); } if (jogador == 1) { movePlayerOne(ref _teclado, ref _tecladoAnterior, ref _controle, ref _controleanterior); } #region Criar escudo cont_escudo++; if (cont_escudo >= cont_max) { cont_escudo = cont_max; } barra.Update(_escudo); if ((_teclado.IsKeyDown(Keys.E) && _tecladoAnterior.IsKeyUp(Keys.E)) || (_controle.IsButtonDown(Buttons.B) && _controleanterior.IsButtonUp(Buttons.B)) && cont_escudo == cont_max) { if (!_escudo) { _escudo = true; } else { _escudo = false; } cont_escudo = 0; } if (!barra.permicao) { _escudo = false; } if (_escudo) { escudo.Update(posicao); } #endregion #region Jogador 2 (Não implementado) if (jogador == 2) { if (_teclado.IsKeyDown(Keys.A)) { } if (_teclado.IsKeyDown(Keys.D)) { } if (_teclado.IsKeyDown(Keys.W)) { } } #endregion #region Verificar os limites de velocidade int maxSpeed = Status.VelNave * 4; if (isMaxSpeed(maxSpeed)) { if (velocidade.X < 0) { velocidade.X = -maxSpeed; } else { velocidade.X = maxSpeed; } } #endregion posicao += velocidade; #region Verifica nave nos limites da tela if (posicao.X < 0) { posicao.X = gw.ClientBounds.Width; } else if (posicao.X > gw.ClientBounds.Width) { posicao.X = 0; } if (posicao.Y < 0) { posicao.Y = gw.ClientBounds.Height; } else if (posicao.Y > gw.ClientBounds.Height) { posicao.Y = 0; } #endregion Shot.Update(_gameTime); }
protected override void Update(GameTime gameTime) { teclado = Keyboard.GetState(); controle = GamePad.GetState(PlayerIndex.One); //F2 vai de janela para tela cheia e vice-versa if ((teclado.IsKeyDown(Keys.F2) && !(tecladoanterior.IsKeyDown(Keys.F2)))) { graphics.ToggleFullScreen(); } switch (estadoAtual) { case estados.INTRO: if ((teclado.IsKeyDown(Keys.Enter)) && !(tecladoanterior.IsKeyDown(Keys.Enter))) { estadoAtual = estados.MENU; } break; case estados.MENU: if (((teclado.IsKeyDown(Keys.Enter) && !(tecladoanterior.IsKeyDown(Keys.Enter))) || (controle.IsButtonDown(Buttons.A) && !(controleanterior.IsButtonDown(Buttons.A)))) && menu.cont == 1) { estadoAtual = estados.FASE1; } if (((teclado.IsKeyDown(Keys.Enter) && !(tecladoanterior.IsKeyDown(Keys.Enter))) || (controle.IsButtonDown(Buttons.A) && !(controleanterior.IsButtonDown(Buttons.A)))) && menu.cont == 2) { estadoAtual = estados.CONTROLES; } if (((teclado.IsKeyDown(Keys.Enter) && !(tecladoanterior.IsKeyDown(Keys.Enter))) || (controle.IsButtonDown(Buttons.A) && !(controleanterior.IsButtonDown(Buttons.A)))) && menu.cont == 3) { estadoAtual = estados.CREDITOS; } if (((teclado.IsKeyDown(Keys.Enter) && !(tecladoanterior.IsKeyDown(Keys.Enter))) || (controle.IsButtonDown(Buttons.A) && !(controleanterior.IsButtonDown(Buttons.A)))) && menu.cont == 4) { estadoAtual = estados.STATUS; } if (((teclado.IsKeyDown(Keys.Enter) && !(tecladoanterior.IsKeyDown(Keys.Enter))) || (controle.IsButtonDown(Buttons.A) && !(controleanterior.IsButtonDown(Buttons.A)))) && menu.cont == 5) { this.Exit(); } menu.Update(gameTime, teclado, controle, Content); break; case estados.CREDITOS: if ((teclado.IsKeyDown(Keys.Escape) && !(tecladoanterior.IsKeyDown(Keys.Escape))) || (controle.IsButtonDown(Buttons.Back) && !(controleanterior.IsButtonDown(Buttons.Back)))) { estadoAtual = estados.MENU; } break; case estados.CONTROLES: controles.Update(gameTime, teclado, tecladoanterior, controle); if ((teclado.IsKeyDown(Keys.Escape) && !(tecladoanterior.IsKeyDown(Keys.Escape))) || (controle.IsButtonDown(Buttons.Back) && !(controleanterior.IsButtonDown(Buttons.Back)))) { estadoAtual = estados.MENU; } break; case estados.STATUS: { status.Update(gameTime, teclado, tecladoanterior, controle, controleanterior); if ((teclado.IsKeyDown(Keys.Escape) && !(tecladoanterior.IsKeyDown(Keys.Escape))) || (controle.IsButtonDown(Buttons.Back) && !(controleanterior.IsButtonDown(Buttons.Back)))) { estadoAtual = estados.MENU; } } break; case estados.FASE1: fase1.Update(gameTime, teclado, tecladoanterior, controle, controleanterior); if ((teclado.IsKeyDown(Keys.F) && !(tecladoanterior.IsKeyDown(Keys.F))) || (controle.IsButtonDown(Buttons.RightShoulder) && !(controleanterior.IsButtonDown(Buttons.RightShoulder)))) { Shot.removeAllShots(); MediaPlayer.Stop(); estadoAtual = estados.FASE2; } if ((teclado.IsKeyDown(Keys.Escape) && !(tecladoanterior.IsKeyDown(Keys.Escape))) || (controle.IsButtonDown(Buttons.Back) && !(controleanterior.IsButtonDown(Buttons.Back)))) { MediaPlayer.Stop(); estadoAtual = estados.MENU; } break; case estados.FASE2: fase2.Update(gameTime, teclado, tecladoanterior, controle, controleanterior); troca = true; if ((teclado.IsKeyDown(Keys.F) && !(tecladoanterior.IsKeyDown(Keys.F))) || (controle.IsButtonDown(Buttons.RightShoulder) && !(controleanterior.IsButtonDown(Buttons.RightShoulder)))) { Shot.removeAllShots(); MediaPlayer.Stop(); estadoAtual = estados.FASE3; } if ((teclado.IsKeyDown(Keys.B) && !(tecladoanterior.IsKeyDown(Keys.B))) || (controle.IsButtonDown(Buttons.RightShoulder) && !(controleanterior.IsButtonDown(Buttons.RightShoulder)))) { Shot.removeAllShots(); MediaPlayer.Stop(); estadoAtual = estados.FASE1; } if ((teclado.IsKeyDown(Keys.Escape) && !(tecladoanterior.IsKeyDown(Keys.Escape))) || (controle.IsButtonDown(Buttons.Back) && !(controleanterior.IsButtonDown(Buttons.Back)))) { MediaPlayer.Stop(); estadoAtual = estados.MENU; } break; case estados.FASE3: fase3.Update(gameTime, teclado, tecladoanterior, controle, controleanterior); if ((teclado.IsKeyDown(Keys.F) && !(tecladoanterior.IsKeyDown(Keys.F))) || (controle.IsButtonDown(Buttons.RightShoulder) && !(controleanterior.IsButtonDown(Buttons.RightShoulder)))) { Shot.removeAllShots(); MediaPlayer.Stop(); estadoAtual = estados.FASE4; } if ((teclado.IsKeyDown(Keys.B) && !(tecladoanterior.IsKeyDown(Keys.B))) || (controle.IsButtonDown(Buttons.RightShoulder) && !(controleanterior.IsButtonDown(Buttons.RightShoulder)))) { Shot.removeAllShots(); MediaPlayer.Stop(); estadoAtual = estados.FASE2; } if ((teclado.IsKeyDown(Keys.Escape) && !(tecladoanterior.IsKeyDown(Keys.Escape))) || (controle.IsButtonDown(Buttons.Back) && !(controleanterior.IsButtonDown(Buttons.Back)))) { MediaPlayer.Stop(); estadoAtual = estados.MENU; } break; case estados.FASE4: fase4.Update(gameTime, teclado, tecladoanterior, controle, controleanterior); if ((teclado.IsKeyDown(Keys.F) && !(tecladoanterior.IsKeyDown(Keys.F))) || (controle.IsButtonDown(Buttons.RightShoulder) && !(controleanterior.IsButtonDown(Buttons.RightShoulder)))) { Shot.removeAllShots(); MediaPlayer.Stop(); estadoAtual = estados.FASE5; } if ((teclado.IsKeyDown(Keys.B) && !(tecladoanterior.IsKeyDown(Keys.B))) || (controle.IsButtonDown(Buttons.RightShoulder) && !(controleanterior.IsButtonDown(Buttons.RightShoulder)))) { Shot.removeAllShots(); MediaPlayer.Stop(); estadoAtual = estados.FASE3; } if ((teclado.IsKeyDown(Keys.Escape) && !(tecladoanterior.IsKeyDown(Keys.Escape))) || (controle.IsButtonDown(Buttons.Back) && !(controleanterior.IsButtonDown(Buttons.Back)))) { MediaPlayer.Stop(); estadoAtual = estados.MENU; } break; case estados.FASE5: fase5.Update(gameTime, teclado, tecladoanterior, controle, controleanterior); if ((teclado.IsKeyDown(Keys.F) && !(tecladoanterior.IsKeyDown(Keys.F))) || (controle.IsButtonDown(Buttons.RightShoulder) && !(controleanterior.IsButtonDown(Buttons.RightShoulder)))) { Shot.removeAllShots(); MediaPlayer.Stop(); estadoAtual = estados.FASE6; } if ((teclado.IsKeyDown(Keys.B) && !(tecladoanterior.IsKeyDown(Keys.B))) || (controle.IsButtonDown(Buttons.RightShoulder) && !(controleanterior.IsButtonDown(Buttons.RightShoulder)))) { Shot.removeAllShots(); MediaPlayer.Stop(); estadoAtual = estados.FASE4; } if ((teclado.IsKeyDown(Keys.Escape) && !(tecladoanterior.IsKeyDown(Keys.Escape))) || (controle.IsButtonDown(Buttons.Back) && !(controleanterior.IsButtonDown(Buttons.Back)))) { MediaPlayer.Stop(); estadoAtual = estados.MENU; } break; case estados.FASE6: fase6.Update(gameTime, teclado, tecladoanterior, controle, controleanterior); if ((teclado.IsKeyDown(Keys.F) && !(tecladoanterior.IsKeyDown(Keys.F))) || (controle.IsButtonDown(Buttons.RightShoulder) && !(controleanterior.IsButtonDown(Buttons.RightShoulder)))) { MediaPlayer.Stop(); estadoAtual = estados.FASE7; } if ((teclado.IsKeyDown(Keys.B) && !(tecladoanterior.IsKeyDown(Keys.B))) || (controle.IsButtonDown(Buttons.RightShoulder) && !(controleanterior.IsButtonDown(Buttons.RightShoulder)))) { Shot.removeAllShots(); MediaPlayer.Stop(); estadoAtual = estados.FASE5; } if ((teclado.IsKeyDown(Keys.Escape) && !(tecladoanterior.IsKeyDown(Keys.Escape))) || (controle.IsButtonDown(Buttons.Back) && !(controleanterior.IsButtonDown(Buttons.Back)))) { MediaPlayer.Stop(); estadoAtual = estados.MENU; } break; case estados.FASE7: fase7.Update(gameTime, teclado, tecladoanterior, controle, controleanterior); if (Fase7.Objetivo >= 7) { MediaPlayer.Stop(); estadoAtual = estados.FASE8; } if ((teclado.IsKeyDown(Keys.F) && !(tecladoanterior.IsKeyDown(Keys.F))) || (controle.IsButtonDown(Buttons.RightShoulder) && !(controleanterior.IsButtonDown(Buttons.RightShoulder)))) { MediaPlayer.Stop(); estadoAtual = estados.FASE8; } if ((teclado.IsKeyDown(Keys.B) && !(tecladoanterior.IsKeyDown(Keys.B))) || (controle.IsButtonDown(Buttons.RightShoulder) && !(controleanterior.IsButtonDown(Buttons.RightShoulder)))) { Shot.removeAllShots(); MediaPlayer.Stop(); estadoAtual = estados.FASE6; } if ((teclado.IsKeyDown(Keys.Escape) && !(tecladoanterior.IsKeyDown(Keys.Escape))) || (controle.IsButtonDown(Buttons.Back) && !(controleanterior.IsButtonDown(Buttons.Back)))) { MediaPlayer.Stop(); estadoAtual = estados.MENU; } break; case estados.FASE8: fase8.Update(gameTime, teclado, tecladoanterior, controle, controleanterior); if ((teclado.IsKeyDown(Keys.F) && !(tecladoanterior.IsKeyDown(Keys.F))) || (controle.IsButtonDown(Buttons.RightShoulder) && !(controleanterior.IsButtonDown(Buttons.RightShoulder)))) { MediaPlayer.Stop(); estadoAtual = estados.FASE9; } if ((teclado.IsKeyDown(Keys.B) && !(tecladoanterior.IsKeyDown(Keys.B))) || (controle.IsButtonDown(Buttons.RightShoulder) && !(controleanterior.IsButtonDown(Buttons.RightShoulder)))) { Shot.removeAllShots(); MediaPlayer.Stop(); estadoAtual = estados.FASE7; } if ((teclado.IsKeyDown(Keys.Escape) && !(tecladoanterior.IsKeyDown(Keys.Escape))) || (controle.IsButtonDown(Buttons.Back) && !(controleanterior.IsButtonDown(Buttons.Back)))) { MediaPlayer.Stop(); estadoAtual = estados.MENU; } break; case estados.FASE9: fase9.Update(gameTime, teclado, tecladoanterior, controle, controleanterior); if ((teclado.IsKeyDown(Keys.F) && !(tecladoanterior.IsKeyDown(Keys.F))) || (controle.IsButtonDown(Buttons.RightShoulder) && !(controleanterior.IsButtonDown(Buttons.RightShoulder)))) { MediaPlayer.Stop(); estadoAtual = estados.FASE10; } if ((teclado.IsKeyDown(Keys.B) && !(tecladoanterior.IsKeyDown(Keys.B))) || (controle.IsButtonDown(Buttons.RightShoulder) && !(controleanterior.IsButtonDown(Buttons.RightShoulder)))) { MediaPlayer.Stop(); estadoAtual = estados.FASE8; } if ((teclado.IsKeyDown(Keys.Escape) && !(tecladoanterior.IsKeyDown(Keys.Escape))) || (controle.IsButtonDown(Buttons.Back) && !(controleanterior.IsButtonDown(Buttons.Back)))) { MediaPlayer.Stop(); estadoAtual = estados.MENU; } break; case estados.FASE10: fase10.Update(gameTime, teclado, tecladoanterior, controle, controleanterior); if ((teclado.IsKeyDown(Keys.F) && !(tecladoanterior.IsKeyDown(Keys.F))) || (controle.IsButtonDown(Buttons.RightShoulder) && !(controleanterior.IsButtonDown(Buttons.RightShoulder)))) { MediaPlayer.Stop(); estadoAtual = estados.FASE11; } if ((teclado.IsKeyDown(Keys.B) && !(tecladoanterior.IsKeyDown(Keys.B))) || (controle.IsButtonDown(Buttons.RightShoulder) && !(controleanterior.IsButtonDown(Buttons.RightShoulder)))) { MediaPlayer.Stop(); estadoAtual = estados.FASE9; } if ((teclado.IsKeyDown(Keys.Escape) && !(tecladoanterior.IsKeyDown(Keys.Escape))) || (controle.IsButtonDown(Buttons.Back) && !(controleanterior.IsButtonDown(Buttons.Back)))) { MediaPlayer.Stop(); estadoAtual = estados.MENU; } break; case estados.FASE11: fase11.Update(gameTime, teclado, tecladoanterior, controle, controleanterior); if ((teclado.IsKeyDown(Keys.F) && !(tecladoanterior.IsKeyDown(Keys.F))) || (controle.IsButtonDown(Buttons.RightShoulder) && !(controleanterior.IsButtonDown(Buttons.RightShoulder)))) { MediaPlayer.Stop(); estadoAtual = estados.FASE12; } if ((teclado.IsKeyDown(Keys.B) && !(tecladoanterior.IsKeyDown(Keys.B))) || (controle.IsButtonDown(Buttons.RightShoulder) && !(controleanterior.IsButtonDown(Buttons.RightShoulder)))) { MediaPlayer.Stop(); estadoAtual = estados.FASE10; } if ((teclado.IsKeyDown(Keys.Escape) && !(tecladoanterior.IsKeyDown(Keys.Escape))) || (controle.IsButtonDown(Buttons.Back) && !(controleanterior.IsButtonDown(Buttons.Back)))) { MediaPlayer.Stop(); estadoAtual = estados.MENU; } break; case estados.FASE12: fase12.Update(gameTime, teclado, tecladoanterior, controle, controleanterior); if ((teclado.IsKeyDown(Keys.F) && !(tecladoanterior.IsKeyDown(Keys.F))) || (controle.IsButtonDown(Buttons.RightShoulder) && !(controleanterior.IsButtonDown(Buttons.RightShoulder)))) { MediaPlayer.Stop(); estadoAtual = estados.FASE13; } if ((teclado.IsKeyDown(Keys.B) && !(tecladoanterior.IsKeyDown(Keys.B))) || (controle.IsButtonDown(Buttons.RightShoulder) && !(controleanterior.IsButtonDown(Buttons.RightShoulder)))) { MediaPlayer.Stop(); estadoAtual = estados.FASE11; } if ((teclado.IsKeyDown(Keys.Escape) && !(tecladoanterior.IsKeyDown(Keys.Escape))) || (controle.IsButtonDown(Buttons.Back) && !(controleanterior.IsButtonDown(Buttons.Back)))) { MediaPlayer.Stop(); estadoAtual = estados.MENU; } break; case estados.FASE13: fase13.Update(gameTime, teclado, tecladoanterior, controle, controleanterior); if ((teclado.IsKeyDown(Keys.F) && !(tecladoanterior.IsKeyDown(Keys.F))) || (controle.IsButtonDown(Buttons.RightShoulder) && !(controleanterior.IsButtonDown(Buttons.RightShoulder)))) { MediaPlayer.Stop(); estadoAtual = estados.FASE14; } if ((teclado.IsKeyDown(Keys.B) && !(tecladoanterior.IsKeyDown(Keys.B))) || (controle.IsButtonDown(Buttons.RightShoulder) && !(controleanterior.IsButtonDown(Buttons.RightShoulder)))) { MediaPlayer.Stop(); estadoAtual = estados.FASE12; } if ((teclado.IsKeyDown(Keys.Escape) && !(tecladoanterior.IsKeyDown(Keys.Escape))) || (controle.IsButtonDown(Buttons.Back) && !(controleanterior.IsButtonDown(Buttons.Back)))) { MediaPlayer.Stop(); estadoAtual = estados.MENU; } break; case estados.FASE14: fase14.Update(gameTime, teclado, tecladoanterior, controle, controleanterior); if ((teclado.IsKeyDown(Keys.F) && !(tecladoanterior.IsKeyDown(Keys.F))) || (controle.IsButtonDown(Buttons.RightShoulder) && !(controleanterior.IsButtonDown(Buttons.RightShoulder)))) { MediaPlayer.Stop(); estadoAtual = estados.FASE15; } if ((teclado.IsKeyDown(Keys.B) && !(tecladoanterior.IsKeyDown(Keys.B))) || (controle.IsButtonDown(Buttons.RightShoulder) && !(controleanterior.IsButtonDown(Buttons.RightShoulder)))) { MediaPlayer.Stop(); estadoAtual = estados.FASE13; } if ((teclado.IsKeyDown(Keys.Escape) && !(tecladoanterior.IsKeyDown(Keys.Escape))) || (controle.IsButtonDown(Buttons.Back) && !(controleanterior.IsButtonDown(Buttons.Back)))) { MediaPlayer.Stop(); estadoAtual = estados.MENU; } break; case estados.FASE15: fase15.Update(gameTime, teclado, tecladoanterior, controle, controleanterior); if ((teclado.IsKeyDown(Keys.F) && !(tecladoanterior.IsKeyDown(Keys.F))) || (controle.IsButtonDown(Buttons.RightShoulder) && !(controleanterior.IsButtonDown(Buttons.RightShoulder)))) { MediaPlayer.Stop(); estadoAtual = estados.FASE16; } if ((teclado.IsKeyDown(Keys.B) && !(tecladoanterior.IsKeyDown(Keys.B))) || (controle.IsButtonDown(Buttons.RightShoulder) && !(controleanterior.IsButtonDown(Buttons.RightShoulder)))) { MediaPlayer.Stop(); estadoAtual = estados.FASE14; } if ((teclado.IsKeyDown(Keys.Escape) && !(tecladoanterior.IsKeyDown(Keys.Escape))) || (controle.IsButtonDown(Buttons.Back) && !(controleanterior.IsButtonDown(Buttons.Back)))) { MediaPlayer.Stop(); estadoAtual = estados.MENU; } break; case estados.FASE16: fase16.Update(gameTime, teclado, tecladoanterior, controle, controleanterior); if ((teclado.IsKeyDown(Keys.F) && !(tecladoanterior.IsKeyDown(Keys.F))) || (controle.IsButtonDown(Buttons.RightShoulder) && !(controleanterior.IsButtonDown(Buttons.RightShoulder)))) { MediaPlayer.Stop(); estadoAtual = estados.GAME_OVER; Iniciar(); } if ((teclado.IsKeyDown(Keys.B) && !(tecladoanterior.IsKeyDown(Keys.B))) || (controle.IsButtonDown(Buttons.RightShoulder) && !(controleanterior.IsButtonDown(Buttons.RightShoulder)))) { MediaPlayer.Stop(); estadoAtual = estados.FASE15; } if ((teclado.IsKeyDown(Keys.Escape) && !(tecladoanterior.IsKeyDown(Keys.Escape))) || (controle.IsButtonDown(Buttons.Back) && !(controleanterior.IsButtonDown(Buttons.Back)))) { MediaPlayer.Stop(); estadoAtual = estados.MENU; } break; case estados.GAME_OVER: gameOver.Update(gameTime, teclado); Iniciar(); break; case estados.THE_END: theEnd.Update(gameTime, teclado); Iniciar(); break; } tecladoanterior = teclado; controleanterior = controle; base.Update(gameTime); }