public override void Update(float deltatime) { // Retour au menu if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed) { Globals.intStarCount = 0; Globals.GameStateStack.Set(new MainMenu()); } // R�cup�ration de l'�tat de l'�cran tactile TouchCollection touchCollection = TouchPanel.GetState(); // On test si l'�cran est touch� ou non, si oui on r�cup�re les coordonn�e du premier point de contact if (touchCollection.Count >= 1) { _TouchPosition = (touchCollection[0].Position); } // On ajoute le temps de l'Update au temps total d'affichage du menu fltTotalTime += deltatime; if (_TouchPosition.Y > 425 && _TouchPosition.Y < 475) { // Test si dans la zone du bouton "Menu" if (_TouchPosition.X > 50 && _TouchPosition.X < 305) { Globals.intStarCount = 0; Globals.ScoreList.Add(str_UserName + ": " + strScore); SaveScore(); Globals.GameStateStack.Set(new MainMenu()); } // Sinon test si dans la zone du bouton Score else if (_TouchPosition.X > 610 && _TouchPosition.X < 745) { Globals.intStarCount = 0; Globals.ScoreList.Add(str_UserName + " - " + strScore); SaveScore(); Globals.GameStateStack.Set(new PlayGame()); } } // On compte le nombre d'�toile actuellement affich�e, si - de 4, on en rajoute if (Globals.intStarCount < 4) { DrawStar tmpDrawStar = new DrawStar(fltTotalTime); lstStars.Add(tmpDrawStar); Globals.intStarCount += 1; } // On met � jour l'affichage des �toiles foreach (DrawStar currentStar in lstStars) { currentStar.Update(deltatime, fltTotalTime); } }
public override void Update(float deltatime) { // Quitter le jeu if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed) { Globals.NyanGame.Exit(); } // R�cup�ration de l'�tat de l'�cran tactile TouchCollection touchCollection = TouchPanel.GetState(); // On test si l'�cran est touch� ou non, si oui on r�cup�re les coordonn�e du premier point de contact if (touchCollection.Count >= 1) { _TouchPosition = (touchCollection[0].Position); } // On ajoute le temps de l'Update au temps total d'affichage du menu fltTotalTime += deltatime; // On test si l'utilisateur appuie sur un des "boutons" (start game / score) // Test si dans la bonne zone en largeur if (_TouchPosition.X > 280 && _TouchPosition.X < 510) { // Test si dans la zone du bouton "Start Game" if (_TouchPosition.Y > 290 && _TouchPosition.Y < 340) { Globals.intStarCount = 0; Globals.GameStateStack.Set(new PlayGame()); } // Sinon test si dans la zone du bouton Score else if (_TouchPosition.Y > 340 && _TouchPosition.Y < 390) { Globals.intStarCount = 0; Globals.GameStateStack.Set(new ShowScores()); } } // On compte le nombre d'�toile actuellement affich�e, si - de 4, on en rajoute if (Globals.intStarCount < 4) { DrawStar tmpDrawStar = new DrawStar(fltTotalTime); lstStars.Add(tmpDrawStar); Globals.intStarCount += 1; } // On met � jour l'affichage des �toiles foreach (DrawStar currentStar in lstStars) { currentStar.Update(deltatime, fltTotalTime); } }
public override void Update(float deltatime) { // Retour au menu if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed) { Globals.intStarCount = 0; Globals.GameStateStack.Set(new MainMenu()); } // R�cup�ration de l'�tat de l'�cran tactile TouchCollection touchCollection = TouchPanel.GetState(); // On test si l'�cran est touch� ou non, si oui on r�cup�re les coordonn�e du premier point de contact if (touchCollection.Count >= 1) { _TouchPosition = (touchCollection[0].Position); } if (_TouchPosition.X > 650 && _TouchPosition.X < 710) { if (_TouchPosition.Y > 160 && _TouchPosition.Y < 290) { if (intCurrentScore >= 3) { intCurrentScore -= 3; } } else if (_TouchPosition.Y > 290 && _TouchPosition.Y < 425) { if (intCurrentScore < (intNbScore - 3)) { intCurrentScore += 3; } } } // On ajoute le temps de l'Update au temps total d'affichage du menu fltTotalTime += deltatime; // On compte le nombre d'�toile actuellement affich�e, si - de 4, on en rajoute if (Globals.intStarCount < 4) { DrawStar tmpDrawStar = new DrawStar(fltTotalTime); lstStars.Add(tmpDrawStar); Globals.intStarCount += 1; } // On met � jour l'affichage des �toiles foreach (DrawStar currentStar in lstStars) { currentStar.Update(deltatime, fltTotalTime); } }
public override void Update(float deltatime) { // Mettre le jeu en pause if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed) { Globals.intStarCount = 0; _soundNyan.Stop(); Globals.GameStateStack.Set(new MainMenu()); } // R�cup�ration de l'�tat de l'�cran tactile TouchCollection touchCollection = TouchPanel.GetState(); if (touchCollection.Count >= 1) { blnHasTouched = true; } if (!blnHasHit && blnHasTouched) { fltTotalTime += deltatime; intScore += (int)fltTotalTime; strScore = "" + intScore; vecScoreSize = Globals.ArialFont.MeasureString(strScore) * 2; vecScorePosition.X = 750 - vecScoreSize.X; vecScorePosition.Y = 50; // On test si l'�cran est touch� ou non, si oui le perso monte, sinon il descend if (touchCollection.Count >= 5) { Nyan.ChangeSkin(); } if (touchCollection.Count >= 1) { if ((Nyan._vec2_NyanPos.Y - 10) >= 0) { Nyan._vec2_NyanPos.Y -= 10; foreach (DrawCourse currentSky in lstSky) { blnHasHit = Nyan._rec_Destination.Intersects(currentSky._recDestination); if (blnHasHit) { Nyan._vec2_NyanPos.Y = currentSky.fltPosY + 151; break; } } } } else if ((Nyan._vec2_NyanPos.Y + 8) < (480 - Nyan._tex_NyanCat.Height)) { Nyan._vec2_NyanPos.Y += 8; foreach (DrawCourse currentGround in lstGround) { blnHasHit = Nyan._rec_Destination.Intersects(currentGround._recDestination); if (blnHasHit) { Nyan._vec2_NyanPos.Y = currentGround.fltPosY - 81; break; } } } Nyan.Update(); // On test le nombre d'�toiles actuellement affich�es if (Globals.intStarCount < 4) { DrawStar tmpDrawStar = new DrawStar(fltTotalTime); lstStars.Add(tmpDrawStar); Globals.intStarCount += 1; } // On actualise la position des bouts d'arc-en-ciels for (int x = 0; x < INT_NB_RAINBOW; x++) { if (lstRainbow[x] != lstRainbow[INT_NB_RAINBOW - 1]) { lstRainbow[x].Update(deltatime, lstRainbow[x + 1].intPubPosY); } } lstRainbow[INT_NB_RAINBOW - 1].Update(deltatime, (int)Nyan._vec2_NyanPos.Y); // On actualise les �toiles foreach (DrawStar currentStar in lstStars) { currentStar.Update(deltatime, fltTotalTime); } // On actualise les positions du sol for (int x = 0; x < INT_NB_GROUND; x++) { if (lstGround[x] != lstGround[INT_NB_GROUND - 1]) { lstGround[x].Update(deltatime, lstGround[x + 1].fltPosY); } } float fltTemp = rand.Next(-1, 1); if (fltTemp < 0 && vecGroundPosition.Y < 455) { vecGroundPosition.Y += 10; } else if (vecGroundPosition.Y > 350) { vecGroundPosition.Y -= 10; } lstGround[INT_NB_GROUND - 1].Update(deltatime, vecGroundPosition.Y); // On actualise les positions du ciel for (int x = 0; x < INT_NB_SKY; x++) { if (lstSky[x] != lstSky[INT_NB_SKY - 1]) { lstSky[x].Update(deltatime, lstSky[x + 1].fltPosY); } } float fltTempSky = rand.Next(-1, 1); if (fltTempSky < 0 && vecSkyPosition.Y < -10) { vecSkyPosition.Y += 10; } else if (vecSkyPosition.Y > -115) { vecSkyPosition.Y -= 10; } lstSky[INT_NB_SKY - 1].Update(deltatime, vecSkyPosition.Y); } else if (blnHasHit) { Globals.intStarCount = 0; _soundNyan.Stop(); Globals.intLastScore = intScore; Globals.GameStateStack.Set(new GameOver()); } }