public static void CollisionPersoDeplacement(Carte mapManager, Joueur perso) { perso.blocage_haut = false; perso.blocage_bas = false; perso.blocage_gauche = false; perso.blocage_droit = false; foreach (List<Rectangle> rectangleligne in mapManager.collision) { foreach (Rectangle rectangle in rectangleligne) { if (new Rectangle(rectangle.X, rectangle.Y, rectangle.Width, rectangle.Height).Intersects(perso.collisionhaut)) { perso.blocage_haut = true; } if (new Rectangle(rectangle.X, rectangle.Y, rectangle.Width, rectangle.Height).Intersects(perso.collisionbas)) { perso.blocage_bas = true; } if (new Rectangle(rectangle.X, rectangle.Y, rectangle.Width, rectangle.Height).Intersects(perso.collisiongauche)) { perso.blocage_gauche = true; } if (new Rectangle(rectangle.X, rectangle.Y, rectangle.Width, rectangle.Height).Intersects(perso.collisiondroite)) { perso.blocage_droit = true; } } } }
public void Update(GameManager gameManager, Menu menu, Carte map) { if (nouveaujeu == false && gameManager.Etat == GameManager.etat.NouveauJeuIntro) { sonmanager.Stop(); sonmanager = sons[5].CreateInstance(); sonmanager.IsLooped = true; sonmanager.Play(); nouveaujeu = true; } if (jeu == false && gameManager.Etat == GameManager.etat.InGame) { jeu = true; } if (!menu.pauseactive) { if (menu.sound == Menu.Son.On && sonmanager.State == SoundState.Paused) { sonmanager.Play(); } if (menu.sound == Menu.Son.Off && sonmanager.State == SoundState.Playing) { sonmanager.Pause(); } } if(menu.pauseactive) { if (sonmanager.State == SoundState.Playing) sonmanager.Pause(); } }
public void Teleportation(Joueur joueur, Carte carte, GameWindow window, GestionTeleportation gestion_teleportation, EcranChargement ecran_chargement) { if (!gestion_teleportation.Transition_active && Coordonnees.Intersects(new Rectangle((int)joueur.centre_joueur.X - 20, (int)joueur.centre_joueur.Y - 20, 40, 70))) { gestion_teleportation.Transition_active = true; ecran_chargement.transition = true; carte.Chargement(Destination); joueur.Positionnement(xdestination, ydestination); } }
public static void CollisionEnnemiDeplacement(Carte mapManager, Ennemi ennemi) { ennemi.blocage_haut = false; ennemi.blocage_bas = false; ennemi.blocage_gauche = false; ennemi.blocage_droit = false; foreach (List<Rectangle> rectangleligne in mapManager.collision) { foreach (Rectangle rectangle in rectangleligne) { if (new Rectangle(rectangle.X, rectangle.Y, rectangle.Width, rectangle.Height).Intersects(ennemi.collisionhaut)) { ennemi.blocage_haut = true; } if (new Rectangle(rectangle.X, rectangle.Y, rectangle.Width, rectangle.Height).Intersects(ennemi.collisionbas)) { ennemi.blocage_bas = true; } if (new Rectangle(rectangle.X, rectangle.Y, rectangle.Width, rectangle.Height).Intersects(ennemi.collisiongauche)) { ennemi.blocage_gauche = true; } if (new Rectangle(rectangle.X, rectangle.Y, rectangle.Width, rectangle.Height).Intersects(ennemi.collisiondroite)) { ennemi.blocage_droit = true; } } } foreach (List<Rectangle> rectangleligne in mapManager.murs.collision) { foreach (Rectangle rectangle in rectangleligne) { if (new Rectangle(rectangle.X, rectangle.Y, rectangle.Width, rectangle.Height).Intersects(ennemi.collisionhaut)) { ennemi.blocage_haut = true; } if (new Rectangle(rectangle.X, rectangle.Y, rectangle.Width, rectangle.Height).Intersects(ennemi.collisionbas)) { ennemi.blocage_bas = true; } if (new Rectangle(rectangle.X, rectangle.Y, rectangle.Width, rectangle.Height).Intersects(ennemi.collisiongauche)) { ennemi.blocage_gauche = true; } if (new Rectangle(rectangle.X, rectangle.Y, rectangle.Width, rectangle.Height).Intersects(ennemi.collisiondroite)) { ennemi.blocage_droit = true; } } } }
public void Affichage(Carte carte, Joueur joueur, SpriteBatch spriteBatch) { for (int i = y / 40; i < carte.carte.Count; i++) { for (int j = x / 40; j < carte.carte[i].Count && i < (largeur_ecran + 40) / 40; j++) { carte.AffichageCase(40 * j - x, 40 * i - y, spriteBatch, carte.carte[i][j]); } } if (affichage_collision) { foreach (List<Rectangle> rect_ligne in carte.collision) { foreach (Rectangle rect in rect_ligne) { spriteBatch.Draw(texture_collision, new Rectangle(rect.X - x, rect.Y - y, rect.Width, rect.Height), Color.White); } } } joueur.Draw(spriteBatch); }
public void Affichage(Carte carte, Joueur joueur, SpriteBatch spriteBatch, Environnement environnement, EcranChargement ecranChargement, GestionTeleportation gestion_transition, Histoire histoire, KeyboardState clavier) { if (ecranChargement.affichage_ecran) { for (int i = 0; i < carte.carte.Count; i++) { for (int j = 0; j < carte.carte[i].Count; j++) { carte.AffichageCase(40 * j - x, 40 * i - y, spriteBatch, carte.carte[i][j], environnement, joueur, new Vector2(j * 40, i * 40)); } } } carte.gestion_objet.Draw(spriteBatch, x, y, environnement); carte.murs.AffichageCase_Mur(x, y, spriteBatch, joueur, new Color(environnement.ambient, environnement.ambient, environnement.ambient)); carte.gestion_ennemis.Draw(spriteBatch, x, y, environnement); if (affichage_collision) { foreach (List<Rectangle> rect_ligne in carte.collision) { foreach (Rectangle rect in rect_ligne) { spriteBatch.Draw(texture_collision, new Rectangle(rect.X - x, rect.Y - y, rect.Width, rect.Height), Color.White); } } carte.gestionTeleportation.Draw(spriteBatch, x, y); } joueur.Draw(spriteBatch, environnement, 0, 0); carte.murs.AffichageMur_DevantJoueur(x, y, spriteBatch, joueur, new Color(environnement.ambient, environnement.ambient, environnement.ambient)); histoire.Draw(spriteBatch, x, y, clavier); }
public void TestTeleportation(Carte map, Joueur joueur, GameWindow window, EcranChargement ecran_chargement, Gestionnaire_son gestion_son) { if (compteur_optimisation == 0) { if (liste_teleporteur.Count > 0) { foreach (Teleporteur teleporteur in liste_teleporteur) { teleporteur.Teleportation(joueur, map, window, this, ecran_chargement, gestion_son); } } } compteur_optimisation++; compteur_optimisation %= 40; }
public void Update(Joueur joueur, Carte carte, KeyboardState clavier) { #region Affichage collision if (clavier.IsKeyDown(Keys.F4)) { touchecol = true; } if (clavier.IsKeyUp(Keys.F4) && touchecol) { touchecol = false; affichage_collision = !affichage_collision; } #endregion #region Affichage collision joueur if (clavier.IsKeyDown(Keys.F3)) { touchecol_joueur = true; } if (clavier.IsKeyUp(Keys.F3) && touchecol_joueur) { touchecol_joueur = false; affichage_collision_joueur = !affichage_collision_joueur; } #endregion if (!animationactive) { if (carte.largeur <= largeur_ecran) { x = -(largeur_ecran - carte.largeur) / 2; } else if (joueur.centre_joueur.X >= carte.largeur - largeur_ecran / 2 && joueur.centre_joueur.X <= carte.largeur) { x = carte.largeur - largeur_ecran; } else if (joueur.centre_joueur.X <= largeur_ecran / 2 && joueur.centre_joueur.X >= 0) { x = 0; } else { x = (int)(joueur.centre_joueur.X - largeur_ecran / 2); } if (carte.hauteur <= hauteur_ecran) { y = 0; } else if (joueur.centre_joueur.Y <= hauteur_ecran / 2 && joueur.centre_joueur.Y >= 0 || carte.hauteur <= hauteur_ecran) { y = 0; } else if (joueur.centre_joueur.Y >= carte.hauteur - hauteur_ecran / 2 && joueur.centre_joueur.Y <= carte.hauteur) { y = carte.hauteur - hauteur_ecran; } else { y = (int)(joueur.centre_joueur.Y - hauteur_ecran / 2); } } }
public void Update(int Xperso, int Yperso, ref bool combat,Carte carte, Joueur joueur) { compteur++; compteur %= 30; combat = false; for (int i = 0; i < ennemis.Count; i++) { ennemis[i].Update(Xperso, Yperso, ref combat, joueur); Gestionnaire_collision.CollisionEnnemiDeplacement(carte, ennemis[i]); for (int j = 0; j < ennemis[i].listeSorts.listeSorts.Count; j++) { if (ennemis[i].listeSorts.listeSorts[j].collision.Intersects(joueur.rectangle)) { joueur.vie -= ennemis[i].listeSorts.listeSorts[j].puissance; ennemis[i].listeSorts.listeSorts[j].sortLance = false; } } for (int k = 0; k < joueur.gestionSort.listeSorts.Count; k++) { if (joueur.gestionSort.listeSorts[k].collision.Intersects(ennemis[i].rect[0,0])) { ennemis[i].vie -= joueur.gestionSort.listeSorts[k].puissance; joueur.gestionSort.listeSorts[k].sortLance = false; } } if (compteur == 0 && ennemis[i].rect[0, 0].Intersects(joueur.rectangle)) joueur.vie -= ennemis[i].force; if (joueur.vie <= 0) joueur.vie = 0; if (ennemis[i].vie<=0) { ennemis.RemoveAt(i); } } }
public void Update(KeyboardState clavier, MouseState souris, Curseur curseur, GameManager gameManager, Game1 game1, Carte mapManager, Joueur joueur, GameWindow window, ContentManager content) { #region langue if (langue == Langue.Francais) { solo = "Solo"; multi = "Multijoueur"; option = "Options"; quitter = "Quitter"; son = "Son: "; language = "Langue: "; nomlangue = "Français"; nouvjeu = "Nouvelle partie"; charge = "Charger partie"; homme = "Homme"; fille = "Femme"; questionsexe = "Que voulez-vous être?"; reprendre = "Reprendre"; claviertype = "Type du clavier: "; player = "Nom du joueur: "; sauvegarder = "Sauvegarder"; emplacementlibre = "Emplacement libre"; progression_texte = "Progression: "; sauvegarde_succes = "Sauvegarde effectuée avec succès!"; #region Editeur de carte editeur = "Editeur de carte"; nouvellecarte = "Nouvelle carte"; modifiercarte = "Modifier carte"; questiontaillecarte = "Quel est la taille de la carte?"; largeurcarte = "Largeur: "; hauteurcarte = "Hauteur: "; creercarte = "Créer carte"; quellecarte = "Quelle carte voulez-vous modifier?"; #endregion } else { solo = "Solo"; multi = "Multiplayer"; option = "Settings"; quitter = "Exit"; son = "Sound: "; language = "Language: "; nomlangue = "English"; nouvjeu = "New game"; charge = "Load game"; homme = "Male"; fille = "Female"; questionsexe = "What do you want to be?"; reprendre = "Resume"; claviertype = "Keyboard configuration: "; player = "Player's name: "; sauvegarder = "Save"; emplacementlibre = "Empty slot"; progression_texte = "Progress: "; sauvegarde_succes = "Successfully saved!"; #region Editeur de carte editeur = "Map editor"; nouvellecarte = "New map"; modifiercarte = "Modify map"; questiontaillecarte = "What's the size of the map?"; largeurcarte = "Width: "; hauteurcarte = "Heigth: "; creercarte = "Create map"; quellecarte = "What map do want to modify?"; #endregion } plangue = language + nomlangue; #endregion #region Son if (sound == Son.On) sonetat = "On"; else sonetat = "Off"; pson = son + sonetat; #endregion #region menu if (mode == Mode.Menu) { #region positionchoix if (!clavierhaut) { if (clavier.IsKeyDown(Keys.Up) && !clavier.IsKeyDown(Keys.Down)) { clavierhaut = true; } } if (clavier.IsKeyUp(Keys.Up) && !clavier.IsKeyDown(Keys.Down) && clavierhaut) { choix--; clavierhaut = false; if (choix <= 0) choix = 5; } if (!clavierbas) { if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyDown(Keys.Down)) { clavierbas = true; } } if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyUp(Keys.Down) && clavierbas) { choix++; clavierbas = false; if (choix >= 6) choix = 1; } rectselecteur = new Rectangle(10, 20 + choix * 40, 40, 30); #endregion #region validation if (clavier.IsKeyDown(Keys.Enter)) { clavierentrer = true; } if (clavierentrer && clavier.IsKeyUp(Keys.Enter)) { if (choix == 1) { changement = true; rectselecteur = new Rectangle(10, 60, 40, 30); choix = 1; mode = Mode.Solo; } if (choix == 3) { choix = 1; rectselecteur = new Rectangle(10, 60, 40, 30); changement = true; mode = Mode.Choixediteurdemap; } if (choix == 4) { choix = 1; rectselecteur = new Rectangle(10, 60, 40, 30); changement = true; mode = Mode.Option; } if (choix == 5) game1.Exit(); clavierentrer = false; } #endregion } #endregion #region option if (mode == Mode.Option) { #region positionchoix if (!clavierhaut) { if (clavier.IsKeyDown(Keys.Up) && !clavier.IsKeyDown(Keys.Down)) { clavierhaut = true; } } if (clavier.IsKeyUp(Keys.Up) && !clavier.IsKeyDown(Keys.Down) && clavierhaut) { choix--; clavierhaut = false; if (choix <= 0) choix = 3; } if (!clavierbas) { if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyDown(Keys.Down)) { clavierbas = true; } } if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyUp(Keys.Down) && clavierbas) { choix++; clavierbas = false; if (choix >= 4) choix = 1; } rectselecteur = new Rectangle(10, 20 + choix * 40, 40, 30); #endregion #region Validation if (mode == Mode.Option) { if (clavier.IsKeyDown(Keys.Enter)) { clavierentrer = true; } if (clavier.IsKeyUp(Keys.Enter) && clavierentrer) { if (choix == 1 && !changement) { if (sound == Son.On) sound = Son.Off; else sound = Son.On; } if (choix == 2) { if (langue == Langue.Francais) langue = Langue.Anglais; else langue = Langue.Francais; } if (choix == 3) { if(clavierType == ClavierType.AZERTY) clavierType = ClavierType.QWERTY; else clavierType = ClavierType.AZERTY; } clavierentrer = false; } } #endregion if (clavier.IsKeyDown(Keys.Escape)) { if (gameManager.Etat == GameManager.etat.Menu) { mode = Mode.Menu; } if (gameManager.Etat == GameManager.etat.Pause) { mode = Mode.Pause; } rectselecteur = new Rectangle(10, 60, 40, 30); choix = 1; } if (clavier.IsKeyUp(Keys.Enter)) changement = false; } #endregion #region Solo if (mode == Mode.Solo) { #region positionchoix if (!clavierhaut) { if (clavier.IsKeyDown(Keys.Up) && !clavier.IsKeyDown(Keys.Down)) { clavierhaut = true; } } if (clavier.IsKeyUp(Keys.Up) && !clavier.IsKeyDown(Keys.Down) && clavierhaut) { choix--; clavierhaut = false; if (choix <= 0) choix = 2; } if (!clavierbas) { if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyDown(Keys.Down)) { clavierbas = true; } } if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyUp(Keys.Down) && clavierbas) { choix++; clavierbas = false; if (choix >= 3) choix = 1; } rectselecteur = new Rectangle(10, 20 + choix * 40, 40, 30); #endregion #region Validation if (mode == Mode.Solo) { if (clavier.IsKeyDown(Keys.Enter)) { clavierentrer = true; } if (clavier.IsKeyUp(Keys.Enter) && clavierentrer) { if (choix == 1 && !changement) { mode = Mode.NouveauJeu; changement = true; } if (choix == 2) { mode = Mode.ChargerPartie; changement = true; choix = 1; } clavierentrer = false; } } #endregion if (clavier.IsKeyDown(Keys.Escape) && !changement) { mode = Mode.Menu; rectselecteur = new Rectangle(10, 60, 40, 30); choix = 1; } if (clavier.IsKeyUp(Keys.Enter) && clavier.IsKeyUp(Keys.Escape)) changement = false; } #endregion #region NouveauJeu if (mode == Mode.NouveauJeu) { #region positionchoix #region Haut if (!clavierhaut) { if (clavier.IsKeyDown(Keys.Up) && !clavier.IsKeyDown(Keys.Down)) { clavierhaut = true; } } if (clavier.IsKeyUp(Keys.Up) && !clavier.IsKeyDown(Keys.Down) && clavierhaut) { chgmtsexe = false; choix--; clavierentrer = false; clavierhaut = false; if (choix <= 0) choix = 2; } #endregion #region Bas if (!clavierbas) { if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyDown(Keys.Down)) { clavierbas = true; } } if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyUp(Keys.Down) && clavierbas) { chgmtsexe = false; choix++; clavierbas = false; clavierentrer = false; if (choix >= 3) choix = 1; } #endregion rectselecteur = new Rectangle(10, 20 + choix * 40, 40, 30); #endregion if(choix == 1) nomjoueur.Update(Keyboard.GetState()); #region validation if (clavier.IsKeyDown(Keys.Enter) && !changement) { clavierentrer = true; } if (clavier.IsKeyDown(Keys.Left) || clavier.IsKeyDown(Keys.Right)) chgmtsexe = true; if (choix == 2 && chgmtsexe && (clavier.IsKeyUp(Keys.Left) && clavier.IsKeyUp(Keys.Right))) { if (joueur.sexe == Joueur.Sexe.homme) { joueur.sexe = Joueur.Sexe.femme; choixsexeee = Joueur.Sexe.femme; } else { joueur.sexe = Joueur.Sexe.homme; choixsexeee = Joueur.Sexe.homme; } chgmtsexe = false; } if (clavierentrer && clavier.IsKeyUp(Keys.Enter)) { joueur.nomdujoueur = nomjoueur.texte; joueur.LoadContent(content); GestionJeu.NouveauJeu(mapManager, joueur, window); gameManager.Etat = GameManager.etat.NouveauJeuIntro; clavierentrer = false; } #endregion if (clavier.IsKeyDown(Keys.Escape) && !changement) { mode = Mode.Solo; rectselecteur = new Rectangle(10, 60, 40, 30); choix = 1; changement = true; } if (clavier.IsKeyUp(Keys.Enter) && clavier.IsKeyUp(Keys.Escape)) changement = false; } #endregion #region Choix Partie if (mode == Mode.ChargerPartie) { #region positionchoix #region Haut if (!clavierhaut) { if (clavier.IsKeyDown(Keys.Up) && !clavier.IsKeyDown(Keys.Down)) { clavierhaut = true; } } if (clavier.IsKeyUp(Keys.Up) && !clavier.IsKeyDown(Keys.Down) && clavierhaut) { choix--; clavierentrer = false; clavierhaut = false; if (choix <= 0) choix = 3; } #endregion #region Bas if (!clavierbas) { if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyDown(Keys.Down)) { clavierbas = true; } } if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyUp(Keys.Down) && clavierbas) { choix++; clavierbas = false; clavierentrer = false; if (choix >= 4) choix = 1; } #endregion rectselecteur = new Rectangle(10, 20 + choix * 80 - 40, 40, 30); #endregion #region validation if (clavier.IsKeyDown(Keys.Enter) && !changement) { clavierentrer = true; } if (clavierentrer && clavier.IsKeyUp(Keys.Enter)) { if (choix == 1 && sauvegardes.sauvegardes[0].etat == GestionSauvegarde.TypeSauvegarde.PartieSauvegarde) { joueur.nomdujoueur = sauvegardes.sauvegardes[0].nomdujoueur; joueur.sexe = sauvegardes.sauvegardes[0].sexe; for (int i = 0; i < joueur.inventaire.inventaire.GetLength(0); i++) { for (int j = 0; j < joueur.inventaire.inventaire.GetLength(1); j++) { switch (sauvegardes.sauvegardes[0].id_objet[i, j]) { case 1: joueur.inventaire.inventaire[i, j] = new Item("Potion de vie", Item.type_objet.Potion_de_vie); break; case 2: joueur.inventaire.inventaire[i, j] = new Item("Potion de mana", Item.type_objet.Potion_de_mana); break; case 3: joueur.inventaire.inventaire[i, j] = new Item("Larme de dragon", Item.type_objet.Larme_de_dragon); break; default: break; } joueur.inventaire.quantitesObjets[i, j] = sauvegardes.sauvegardes[0].quantite_objet[i, j]; } } joueur.LoadContent(content); GestionJeu.ChargerJeu(mapManager, sauvegardes.sauvegardes[0].carte.ToString(), sauvegardes.sauvegardes[0].x - 20, sauvegardes.sauvegardes[0].y + 50, joueur, window); gameManager.Etat = GameManager.etat.InGame; clavierentrer = false; } if (choix == 2 && sauvegardes.sauvegardes[1].etat == GestionSauvegarde.TypeSauvegarde.PartieSauvegarde) { joueur.nomdujoueur = sauvegardes.sauvegardes[1].nomdujoueur; joueur.sexe = sauvegardes.sauvegardes[1].sexe; for (int i = 0; i < joueur.inventaire.inventaire.GetLength(0); i++) { for (int j = 0; j < joueur.inventaire.inventaire.GetLength(1); j++) { switch (sauvegardes.sauvegardes[1].id_objet[i, j]) { case 1: joueur.inventaire.inventaire[i, j] = new Item("Potion de vie", Item.type_objet.Potion_de_vie); break; case 2: joueur.inventaire.inventaire[i, j] = new Item("Potion de mana", Item.type_objet.Potion_de_mana); break; case 3: joueur.inventaire.inventaire[i, j] = new Item("Larme de dragon", Item.type_objet.Larme_de_dragon); break; default: break; } joueur.inventaire.quantitesObjets[i, j] = sauvegardes.sauvegardes[1].quantite_objet[i, j]; } } joueur.LoadContent(content); GestionJeu.ChargerJeu(mapManager, sauvegardes.sauvegardes[1].carte.ToString(), sauvegardes.sauvegardes[1].x - 20, sauvegardes.sauvegardes[1].y + 50, joueur, window); gameManager.Etat = GameManager.etat.InGame; clavierentrer = false; } if (choix == 3 && sauvegardes.sauvegardes[2].etat == GestionSauvegarde.TypeSauvegarde.PartieSauvegarde) { joueur.nomdujoueur = sauvegardes.sauvegardes[2].nomdujoueur; joueur.sexe = sauvegardes.sauvegardes[2].sexe; for (int i = 0; i < joueur.inventaire.inventaire.GetLength(0); i++) { for (int j = 0; j < joueur.inventaire.inventaire.GetLength(1); j++) { switch (sauvegardes.sauvegardes[2].id_objet[i, j]) { case 1: joueur.inventaire.inventaire[i, j] = new Item("Potion de vie", Item.type_objet.Potion_de_vie); break; case 2: joueur.inventaire.inventaire[i, j] = new Item("Potion de mana", Item.type_objet.Potion_de_mana); break; case 3: joueur.inventaire.inventaire[i, j] = new Item("Larme de dragon", Item.type_objet.Larme_de_dragon); break; default: break; } joueur.inventaire.quantitesObjets[i, j] = sauvegardes.sauvegardes[2].quantite_objet[i, j]; } } joueur.LoadContent(content); GestionJeu.ChargerJeu(mapManager, sauvegardes.sauvegardes[2].carte.ToString(), sauvegardes.sauvegardes[2].x - 20, sauvegardes.sauvegardes[2].y + 50, joueur, window); gameManager.Etat = GameManager.etat.InGame; clavierentrer = false; } clavierentrer = false; } #endregion if (clavier.IsKeyDown(Keys.Escape) && !changement) { mode = Mode.Solo; rectselecteur = new Rectangle(10, 60, 40, 30); choix = 1; changement = true; } if (clavier.IsKeyUp(Keys.Enter) && clavier.IsKeyUp(Keys.Escape)) changement = false; } #endregion #region Sauvegarde if (mode == Mode.Sauvegarde) { #region positionchoix #region Haut if (!clavierhaut) { if (clavier.IsKeyDown(Keys.Up) && !clavier.IsKeyDown(Keys.Down)) { clavierhaut = true; } } if (clavier.IsKeyUp(Keys.Up) && !clavier.IsKeyDown(Keys.Down) && clavierhaut) { choix--; clavierentrer = false; clavierhaut = false; if (choix <= 0) choix = 3; } #endregion #region Bas if (!clavierbas) { if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyDown(Keys.Down)) { clavierbas = true; } } if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyUp(Keys.Down) && clavierbas) { choix++; clavierbas = false; clavierentrer = false; if (choix >= 4) choix = 1; } #endregion rectselecteur = new Rectangle(10, 20 + choix * 80 - 40, 40, 30); #endregion #region validation if (clavier.IsKeyDown(Keys.Enter) && !changement) { clavierentrer = true; } if (clavierentrer && clavier.IsKeyUp(Keys.Enter)) { sauvegarde_en_cours = true; if (choix == 1) { #region Sauvegarde1 string[] ligne_inv = new string[3]; int[,] id_objet = new int[3, 5]; for (int i = 0; i < ligne_inv.Length; i++) { ligne_inv[i] = ""; } for (int i = 0; i < joueur.inventaire.inventaire.GetLength(0); i++) { for (int j = 0; j < joueur.inventaire.inventaire.GetLength(1); j++) { if (joueur.inventaire.inventaire[i, j] != null) { switch (joueur.inventaire.inventaire[i, j].type_de_l_objet) { case Item.type_objet.Potion_de_vie: ligne_inv[i] += "1"; id_objet[i, j] = 1; break; case Item.type_objet.Potion_de_mana: ligne_inv[i] += "2"; id_objet[i, j] = 2; break; case Item.type_objet.Larme_de_dragon: ligne_inv[i] += "3"; id_objet[i, j] = 3; break; default: ligne_inv[i] += "0"; id_objet[i, j] = 0; break; } ligne_inv[i] += "/"; ligne_inv[i] += joueur.inventaire.quantitesObjets[i, j].ToString(); } else { ligne_inv[i] += "0/0"; } if (j != joueur.inventaire.inventaire.GetLength(1) - 1) ligne_inv[i] += "*"; } } string sexe = "homme"; if (joueur.sexe == Joueur.Sexe.femme) { sexe = "femme"; } sauvegardes.sauvegardes[0] = new GestionSauvegarde.Sauvegarde(true, joueur.nomdujoueur, 0, Convert.ToInt32(Carte.carte_actuelle), (int)joueur.centre_joueur.X, (int)joueur.centre_joueur.Y, sexe,id_objet, joueur.inventaire.quantitesObjets); ////////////////////////////////////////////////////////////////////////// StreamWriter sw = new StreamWriter("DATA\\1.SAV"); sw.WriteLine("Saved"); sw.WriteLine(joueur.nomdujoueur); sw.WriteLine(sexe); sw.WriteLine(sauvegardes.sauvegardes[0].avancementdujeu); sw.WriteLine(Carte.carte_actuelle); sw.WriteLine(joueur.centre_joueur.X); sw.WriteLine(joueur.centre_joueur.Y); for (int i = 0; i < ligne_inv.Length; i++) { sw.WriteLine(ligne_inv[i]); } sw.WriteLine("Obj/i,j*Spell/id*V*V*V*V"); sw.Close(); #endregion } if (choix == 2) { #region Sauvegarde2 string[] ligne_inv = new string[3]; int[,] id_objet = new int[3, 5]; for (int i = 0; i < ligne_inv.Length; i++) { ligne_inv[i] = ""; } for (int i = 0; i < joueur.inventaire.inventaire.GetLength(0); i++) { for (int j = 0; j < joueur.inventaire.inventaire.GetLength(1); j++) { if (joueur.inventaire.inventaire[i, j] != null) { switch (joueur.inventaire.inventaire[i, j].type_de_l_objet) { case Item.type_objet.Potion_de_vie: ligne_inv[i] += "1"; id_objet[i, j] = 1; break; case Item.type_objet.Potion_de_mana: ligne_inv[i] += "2"; id_objet[i, j] = 2; break; case Item.type_objet.Larme_de_dragon: ligne_inv[i] += "3"; id_objet[i, j] = 3; break; default: ligne_inv[i] += "0"; id_objet[i, j] = 0; break; } ligne_inv[i] += "/"; ligne_inv[i] += joueur.inventaire.quantitesObjets[i, j].ToString(); } else { ligne_inv[i] += "0/0"; } if (j != joueur.inventaire.inventaire.GetLength(1) - 1) ligne_inv[i] += "*"; } } string sexe = "homme"; if (joueur.sexe == Joueur.Sexe.femme) { sexe = "femme"; } sauvegardes.sauvegardes[1] = new GestionSauvegarde.Sauvegarde(true, joueur.nomdujoueur, 0, Convert.ToInt32(Carte.carte_actuelle), (int)joueur.centre_joueur.X, (int)joueur.centre_joueur.Y, sexe, id_objet, joueur.inventaire.quantitesObjets); ////////////////////////////////////////////////////////////////////////// StreamWriter sw = new StreamWriter("DATA\\2.SAV"); sw.WriteLine("Saved"); sw.WriteLine(joueur.nomdujoueur); sw.WriteLine(sexe); sw.WriteLine(sauvegardes.sauvegardes[1].avancementdujeu); sw.WriteLine(Carte.carte_actuelle); sw.WriteLine(joueur.centre_joueur.X); sw.WriteLine(joueur.centre_joueur.Y); for (int i = 0; i < ligne_inv.Length; i++) { sw.WriteLine(ligne_inv[i]); } sw.WriteLine("Obj/i,j*Spell/id*V*V*V*V"); sw.Close(); #endregion } if (choix == 3) { #region Sauvegarde3 string[] ligne_inv = new string[3]; int[,] id_objet = new int[3, 5]; for (int i = 0; i < ligne_inv.Length; i++) { ligne_inv[i] = ""; } for (int i = 0; i < joueur.inventaire.inventaire.GetLength(0); i++) { for (int j = 0; j < joueur.inventaire.inventaire.GetLength(1); j++) { if (joueur.inventaire.inventaire[i, j] != null) { switch (joueur.inventaire.inventaire[i, j].type_de_l_objet) { case Item.type_objet.Potion_de_vie: ligne_inv[i] += "1"; id_objet[i, j] = 1; break; case Item.type_objet.Potion_de_mana: ligne_inv[i] += "2"; id_objet[i, j] = 2; break; case Item.type_objet.Larme_de_dragon: ligne_inv[i] += "3"; id_objet[i, j] = 3; break; default: ligne_inv[i] += "0"; id_objet[i, j] = 0; break; } ligne_inv[i] += "/"; ligne_inv[i] += joueur.inventaire.quantitesObjets[i, j].ToString(); } else { ligne_inv[i] += "0/0"; } if (j != joueur.inventaire.inventaire.GetLength(1) - 1) ligne_inv[i] += "*"; } } string sexe = "homme"; if (joueur.sexe == Joueur.Sexe.femme) { sexe = "femme"; } sauvegardes.sauvegardes[2] = new GestionSauvegarde.Sauvegarde(true, joueur.nomdujoueur, 0, Convert.ToInt32(Carte.carte_actuelle), (int)joueur.centre_joueur.X, (int)joueur.centre_joueur.Y, sexe, id_objet, joueur.inventaire.quantitesObjets); ////////////////////////////////////////////////////////////////////////// StreamWriter sw = new StreamWriter("DATA\\3.SAV"); sw.WriteLine("Saved"); sw.WriteLine(joueur.nomdujoueur); sw.WriteLine(sexe); sw.WriteLine(sauvegardes.sauvegardes[2].avancementdujeu); sw.WriteLine(Carte.carte_actuelle); sw.WriteLine(joueur.centre_joueur.X); sw.WriteLine(joueur.centre_joueur.Y); for (int i = 0; i < ligne_inv.Length; i++) { sw.WriteLine(ligne_inv[i]); } sw.WriteLine("Obj/i,j*Spell/id*V*V*V*V"); sw.Close(); #endregion QZ } clavierentrer = false; message.AfficheMessage(sauvegarde_succes); } #endregion if (clavier.IsKeyDown(Keys.Escape) && !changement) { mode = Mode.Pause; rectselecteur = new Rectangle(10, 60, 40, 30); choix = 1; changement = true; } if (clavier.IsKeyUp(Keys.Enter) && clavier.IsKeyUp(Keys.Escape)) changement = false; } #endregion #region Pause if (mode == Mode.Pause) { if (!pauseactive) pauseactive = true; #region positionchoix if (!clavierhaut) { if (clavier.IsKeyDown(Keys.Up) && !clavier.IsKeyDown(Keys.Down)) { clavierhaut = true; } } if (clavier.IsKeyUp(Keys.Up) && !clavier.IsKeyDown(Keys.Down) && clavierhaut) { choix--; clavierhaut = false; if (choix <= 0) choix = 4; } if (!clavierbas) { if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyDown(Keys.Down)) { clavierbas = true; } } if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyUp(Keys.Down) && clavierbas) { choix++; clavierbas = false; if (choix >= 5) choix = 1; } rectselecteur = new Rectangle(10, 20 + choix * 40, 40, 30); #endregion #region validation if (clavier.IsKeyDown(Keys.Enter)) { clavierentrer = true; } if (clavierentrer && clavier.IsKeyUp(Keys.Enter)) { if (choix == 1) { gameManager.Etat = GameManager.etat.InGame; mode = Mode.Pause; pauseactive = false; Environnement.gestionnaire_son_environnement.Resume(); } if (choix == 2) { choix = 1; rectselecteur = new Rectangle(10, 60, 40, 30); changement = true; mode = Mode.Option; } if (choix == 3) { choix = 1; changement = true; mode = Mode.Sauvegarde; } if (choix == 4) game1.Exit(); clavierentrer = false; } #endregion } #endregion #region ChoixEditeurDeMap if (mode == Mode.Choixediteurdemap) { #region positionchoix if (!clavierhaut) { if (clavier.IsKeyDown(Keys.Up) && !clavier.IsKeyDown(Keys.Down)) { clavierhaut = true; } } if (clavier.IsKeyUp(Keys.Up) && !clavier.IsKeyDown(Keys.Down) && clavierhaut) { choix--; clavierhaut = false; if (choix <= 0) choix = 2; } if (!clavierbas) { if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyDown(Keys.Down)) { clavierbas = true; } } if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyUp(Keys.Down) && clavierbas) { choix++; clavierbas = false; if (choix >= 3) choix = 1; } rectselecteur = new Rectangle(10, 20 + choix * 40, 40, 30); #endregion #region Validation if (mode == Mode.Choixediteurdemap) { if (clavier.IsKeyDown(Keys.Enter)) { clavierentrer = true; } if (clavier.IsKeyUp(Keys.Enter) && clavierentrer) { if (choix == 1 && !changement) { mode = Mode.NouvelleCarte; changement = true; } if (choix == 2) { mode = Mode.ModifierCarte; changement = true; } clavierentrer = false; } } #endregion if (clavier.IsKeyDown(Keys.Escape) && !changement) { mode = Mode.Menu; rectselecteur = new Rectangle(10, 60, 40, 30); choix = 1; } if (clavier.IsKeyUp(Keys.Enter) && clavier.IsKeyUp(Keys.Escape)) changement = false; } #endregion #region NouvelleCarte if (mode == Mode.NouvelleCarte) { #region positionchoix if (!clavierhaut) { if (clavier.IsKeyDown(Keys.Up) && !clavier.IsKeyDown(Keys.Down)) { clavierhaut = true; } } if (clavier.IsKeyUp(Keys.Up) && !clavier.IsKeyDown(Keys.Down) && clavierhaut) { choix--; clavierhaut = false; if (choix <= 0) choix = 3; } if (!clavierbas) { if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyDown(Keys.Down)) { clavierbas = true; } } if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyUp(Keys.Down) && clavierbas) { choix++; clavierbas = false; if (choix >= 4) choix = 1; } rectselecteur = new Rectangle(10, 20 + choix * 40, 40, 30); #endregion #region Validation if (mode == Mode.NouvelleCarte) { if (clavier.IsKeyDown(Keys.Enter)) { clavierentrer = true; } if ((clavier.IsKeyDown(Keys.Left) && clavier.IsKeyUp(Keys.Right)) && !flechedroite) flechegauche = true; if((clavier.IsKeyUp(Keys.Left) && clavier.IsKeyDown(Keys.Right)) && !flechegauche) flechedroite = true; if (choix == 1 && !changement) { if (clavier.IsKeyUp(Keys.Left) && flechegauche) { if(carte_largeur > 5) carte_largeur--; flechegauche = false; } if (clavier.IsKeyUp(Keys.Right) && flechedroite) { carte_largeur++; flechedroite = false; } } if (choix == 2 && !changement) { if (clavier.IsKeyUp(Keys.Left) && flechegauche) { if (carte_hauteur > 5) carte_hauteur--; flechegauche = false; } if (clavier.IsKeyUp(Keys.Right) && flechedroite) { carte_hauteur++; flechedroite = false; } } if (clavier.IsKeyUp(Keys.Enter) && clavierentrer) { if (choix == 3 && !changement) { mode = Mode.EditeurDeCarte; editeurdecarte = new EditeurDeCarte(window, carte_largeur, carte_hauteur); editeurdecarte.LoadContent(content); } clavierentrer = false; } } #endregion if (clavier.IsKeyDown(Keys.Escape) && !changement) { mode = Mode.Choixediteurdemap; rectselecteur = new Rectangle(10, 60, 40, 30); choix = 1; changement = true; } if (clavier.IsKeyUp(Keys.Enter) && clavier.IsKeyUp(Keys.Escape)) changement = false; } #endregion #region ModifierCarte if (mode == Mode.ModifierCarte) { StreamReader sr = new StreamReader("Data\\NOMBRE_CARTE"); int maxcarte = Convert.ToInt32(sr.ReadLine()); sr.Close(); #region positionchoix if (!clavierhaut) { if (clavier.IsKeyDown(Keys.Up) && !clavier.IsKeyDown(Keys.Down)) { clavierhaut = true; } } if (clavier.IsKeyUp(Keys.Up) && !clavier.IsKeyDown(Keys.Down) && clavierhaut) { choix--; clavierhaut = false; if (choix <= 0) choix = 2; } if (!clavierbas) { if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyDown(Keys.Down)) { clavierbas = true; } } if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyUp(Keys.Down) && clavierbas) { choix++; clavierbas = false; if (choix >= 3) choix = 1; } rectselecteur = new Rectangle(10, 20 + choix * 40, 40, 30); #endregion #region Validation if (mode == Mode.ModifierCarte) { if (clavier.IsKeyDown(Keys.Enter)) { clavierentrer = true; } if ((clavier.IsKeyDown(Keys.Left) && clavier.IsKeyUp(Keys.Right)) && !flechedroite) flechegauche = true; if ((clavier.IsKeyUp(Keys.Left) && clavier.IsKeyDown(Keys.Right)) && !flechegauche) flechedroite = true; if (choix == 1 && !changement) { if (clavier.IsKeyUp(Keys.Left) && flechegauche) { if (numerocarte > 0) numerocarte--; flechegauche = false; } if (clavier.IsKeyUp(Keys.Right) && flechedroite) { if(numerocarte < maxcarte - 1) numerocarte++; flechedroite = false; } } if (clavier.IsKeyUp(Keys.Enter) && clavierentrer) { if (choix == 2 && !changement) { mode = Mode.EditeurDeCarte; editeurdecarte = new EditeurDeCarte(window, numerocarte + ""); editeurdecarte.LoadContent(content); } clavierentrer = false; } } #endregion if (clavier.IsKeyDown(Keys.Escape) && !changement) { mode = Mode.Choixediteurdemap; rectselecteur = new Rectangle(10, 60, 40, 30); choix = 1; changement = true; } if (clavier.IsKeyUp(Keys.Enter) && clavier.IsKeyUp(Keys.Escape)) changement = false; } #endregion #region EditeurDeCarte if (mode == Mode.EditeurDeCarte) { editeurdecarte.Update(clavier, souris, langue == Langue.Francais); if (clavier.IsKeyDown(Keys.Escape) && !changement) { editeurdecarte.Enregistrement(); mode = Mode.Choixediteurdemap; rectselecteur = new Rectangle(10, 60, 40, 30); choix = 1; changement = true; } if (clavier.IsKeyUp(Keys.Enter) && clavier.IsKeyUp(Keys.Escape)) changement = false; } #endregion }
public static void NouveauJeu(Carte map, Joueur joueur, GameWindow window) { map.Chargement("000"); }
public void Update_Deplacement(KeyboardState clavier, Carte carte, EcranChargement ecran_chargement, Menu menu) { courseactive = clavier.IsKeyDown(Keys.LeftShift); #region Valeur de deplacement int deplacement; if (courseactive) { deplacement = 4; } else { deplacement = 2; } #endregion if(menu.clavierType == Menu.ClavierType.AZERTY) { fleche_haut = clavier.IsKeyDown(Keys.Z); fleche_bas = clavier.IsKeyDown(Keys.S); fleche_gauche = clavier.IsKeyDown(Keys.Q); fleche_droite = clavier.IsKeyDown(Keys.D); } else { fleche_haut = clavier.IsKeyDown(Keys.W); fleche_bas = clavier.IsKeyDown(Keys.S); fleche_gauche = clavier.IsKeyDown(Keys.A); fleche_droite = clavier.IsKeyDown(Keys.D); } if (!ecran_chargement.transition) { if (!blocage_gauche && fleche_gauche && centre_joueur.X - 20 > 0) centre_joueur.X -= deplacement; if (!blocage_droit && fleche_droite && centre_joueur.X + 20 < carte.largeur) centre_joueur.X += deplacement; if (!blocage_haut && fleche_haut && centre_joueur.Y - 50 > 0) centre_joueur.Y -= deplacement; if (!blocage_bas && fleche_bas && centre_joueur.Y + 50 < carte.hauteur) centre_joueur.Y += deplacement; } }
protected override void Initialize() { graphics.ToggleFullScreen(); #region Gestionnaire gameManager = new GameManager(); carte = new Carte(); gestionnaire_son = new Gestionnaire_son(); environnement = new Environnement(Window); #endregion #region Interface lancement = new Lancement(); menu = new Menu(Window); camera = new Camera(Window); curseur = new Curseur(Content.Load<Texture2D>("Curseur")); jauge = new Jauge(); barreAction = new BarreAction(Window); #endregion joueur = new Joueur(Window, Joueur.Sexe.homme); gestion_transition = new GestionTeleportation(); ecran_chargement = new EcranChargement(Window); base.Initialize(); }
public static void NouveauJeu(Carte map, Joueur joueur, GameWindow window) { map.Chargement("4"); joueur.Positionnement(353, 107); }
protected override void Initialize() { graphics.ToggleFullScreen(); #region Gestionnaire gameManager = new GameManager(); carte = new Carte(); gestionnaire_son = new Gestionnaire_son(); environnement = new Environnement(Window); #endregion #region Interface lancement = new Lancement(); menu = new Menu(Window); camera = new Camera(Window); curseur = new Curseur(Content.Load<Texture2D>("Curseur")); jauge = new Jauge(); barreAction = new BarreAction(Window); #endregion bruitages = new Bruitages(); joueur = new Joueur(Window, Joueur.Sexe.homme); gestion_transition = new GestionTeleportation(); ecran_chargement = new EcranChargement(Window); joueur.inventaire = new Inventaire(Window); histoire = new Histoire(Window); intro = new IntroNouveauJeu(Window); base.Initialize(); //Guide.ShowSignIn(1, false); }
public static void ChargerJeu(Carte map, string carte, int x, int y, Joueur joueur, GameWindow window) { map.Chargement(carte); }
public void Update(KeyboardState clavier, Carte carte, Camera camera, EcranChargement ecran_chargement) { rectangle = new Rectangle((int)(centre_joueur.X) - 20 - camera.x, (int)centre_joueur.Y - 50 - camera.y, 40, 100); rectangle_femme = new Rectangle(rectangle.X, rectangle.Y, rectangle.Width * 3 / 2, rectangle.Height); rectangle_femme_face = new Rectangle(rectangle.X, rectangle.Y, rectangle.Width * 28 / 20, rectangle.Height); collisionhaut = new Rectangle((int)centre_joueur.X - 15, (int)centre_joueur.Y + 22, 30, 8); collisionbas = new Rectangle((int)centre_joueur.X - 15, (int)centre_joueur.Y + 50, 30, 8); collisiongauche = new Rectangle((int)centre_joueur.X - 21, (int)centre_joueur.Y + 30, 6, 20); collisiondroite = new Rectangle((int)centre_joueur.X + 15, (int)centre_joueur.Y + 30, 8, 20); UpdateDirection(clavier); Update_Deplacement(clavier, carte, ecran_chargement); }
public void Update(KeyboardState clavier, GameManager gameManager, Game1 game1, Carte mapManager, Joueur joueur, GameWindow window, ContentManager content) { #region langue if (langue == Langue.Francais) { solo = "Solo"; multi = "Multijoueur"; option = "Options"; quitter = "Quitter"; son = "Son: "; language = "Langue: "; nomlangue = "Français"; nouvjeu = "Nouvelle partie"; charge = "Charger partie"; homme = "Homme"; fille = "Femme"; questionsexe = "Que voulez-vous être?"; reprendre = "Reprendre"; #region Editeur de carte editeur = "Editeur de carte"; nouvellecarte = "Nouvelle carte"; modifiercarte = "Modifier carte"; questiontaillecarte = "Quel est la taille de la carte?"; largeurcarte = "Largeur: "; hauteurcarte = "Hauteur: "; #endregion } else { solo = "Solo"; multi = "Multiplayer"; option = "Settings"; quitter = "Exit"; son = "Sound: "; language = "Language: "; nomlangue = "English"; nouvjeu = "New game"; charge = "Load game"; homme = "Male"; fille = "Female"; questionsexe = "What do you want to be?"; reprendre = "Resume"; /* #region Editeur de carte editeur = "Map editor"; nouvellecarte = "New map"; modifiercarte = "Modify map"; questiontaillecarte = "What's the size of the map?"; largeurcarte = "Width: "; hauteurcarte = "Heigth: "; #endregion */ } plangue = language + nomlangue; #endregion #region Son if (sound == Son.On) sonetat = "On"; else sonetat = "Off"; pson = son + sonetat; #endregion #region menu if (mode == Mode.Menu) { #region positionchoix if (!clavierhaut) { if (clavier.IsKeyDown(Keys.Up) && !clavier.IsKeyDown(Keys.Down)) { clavierhaut = true; } } if (clavier.IsKeyUp(Keys.Up) && !clavier.IsKeyDown(Keys.Down) && clavierhaut) { choix--; clavierentrer = false; clavierhaut = false; if (choix <= 0) choix = 4; } if (!clavierbas) { if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyDown(Keys.Down)) { clavierbas = true; } } if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyUp(Keys.Down) && clavierbas) { choix++; clavierbas = false; clavierentrer = false; if (choix >= 5) choix = 1; } rectselecteur = new Rectangle(10, 20 + choix * 40, 40, 30); #endregion /* #region positionchoix if (!clavierhaut) { if (clavier.IsKeyDown(Keys.Up) && !clavier.IsKeyDown(Keys.Down)) { clavierhaut = true; } } if (clavier.IsKeyUp(Keys.Up) && !clavier.IsKeyDown(Keys.Down) && clavierhaut) { choix--; clavierhaut = false; if (choix <= 0) choix = 5; } if (!clavierbas) { if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyDown(Keys.Down)) { clavierbas = true; } } if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyUp(Keys.Down) && clavierbas) { choix++; clavierbas = false; if (choix >= 6) choix = 1; } rectselecteur = new Rectangle(10, 20 + choix * 40, 40, 30); #endregion */ #region validation if (clavier.IsKeyDown(Keys.Enter)) { clavierentrer = true; } if (clavierentrer && clavier.IsKeyUp(Keys.Enter)) { if (choix == 1) { changement = true; rectselecteur = new Rectangle(10, 60, 40, 30); choix = 1; mode = Mode.Solo; } /* if (choix == 3) { choix = 1; rectselecteur = new Rectangle(10, 60, 40, 30); changement = true; mode = Mode.Choixediteurdemap; } if (choix == 4) { choix = 1; rectselecteur = new Rectangle(10, 60, 40, 30); changement = true; mode = Mode.Option; } if (choix == 5) game1.Exit(); */ if (choix == 3) { choix = 1; rectselecteur = new Rectangle(10, 60, 40, 30); changement = true; mode = Mode.Option; } if (choix == 4) { game1.Exit(); } } #endregion } #endregion #region option if (mode == Mode.Option) { #region positionchoix if (!clavierhaut) { if (clavier.IsKeyDown(Keys.Up) && !clavier.IsKeyDown(Keys.Down)) { clavierhaut = true; } } if (clavier.IsKeyUp(Keys.Up) && !clavier.IsKeyDown(Keys.Down) && clavierhaut) { choix--; clavierhaut = false; if (choix <= 0) choix = 2; } if (!clavierbas) { if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyDown(Keys.Down)) { clavierbas = true; } } if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyUp(Keys.Down) && clavierbas) { choix++; clavierbas = false; if (choix >= 3) choix = 1; } rectselecteur = new Rectangle(10, 20 + choix * 40, 40, 30); #endregion #region Validation if (mode == Mode.Option) { if (clavier.IsKeyDown(Keys.Enter)) { clavierentrer = true; } if (clavier.IsKeyUp(Keys.Enter) && clavierentrer) { if (choix == 1 && !changement) { if (sound == Son.On) sound = Son.Off; else sound = Son.On; } if (choix == 2) { if (langue == Langue.Francais) langue = Langue.Anglais; else langue = Langue.Francais; } clavierentrer = false; } } #endregion if (clavier.IsKeyDown(Keys.Escape)) { if (gameManager.Etat == GameManager.etat.Menu) { mode = Mode.Menu; } if (gameManager.Etat == GameManager.etat.Pause) { mode = Mode.Pause; } rectselecteur = new Rectangle(10, 60, 40, 30); choix = 1; } if (clavier.IsKeyUp(Keys.Enter)) changement = false; } #endregion #region Solo if (mode == Mode.Solo) { #region positionchoix if (!clavierhaut) { if (clavier.IsKeyDown(Keys.Up) && !clavier.IsKeyDown(Keys.Down)) { clavierhaut = true; } } if (clavier.IsKeyUp(Keys.Up) && !clavier.IsKeyDown(Keys.Down) && clavierhaut) { choix--; clavierhaut = false; if (choix <= 0) choix = 2; } if (!clavierbas) { if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyDown(Keys.Down)) { clavierbas = true; } } if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyUp(Keys.Down) && clavierbas) { choix++; clavierbas = false; if (choix >= 3) choix = 1; } rectselecteur = new Rectangle(10, 20 + choix * 40, 40, 30); #endregion #region Validation if (mode == Mode.Solo) { if (clavier.IsKeyDown(Keys.Enter)) { clavierentrer = true; } if (clavier.IsKeyUp(Keys.Enter) && clavierentrer) { if (choix == 1 && !changement) { mode = Mode.ChoixSexe; changement = true; } if (choix == 2) { } clavierentrer = false; } } #endregion if (clavier.IsKeyDown(Keys.Escape) && !changement) { mode = Mode.Menu; rectselecteur = new Rectangle(10, 60, 40, 30); choix = 1; } if (clavier.IsKeyUp(Keys.Enter) && clavier.IsKeyUp(Keys.Escape)) changement = false; } #endregion #region Choix Sexe if (mode == Mode.ChoixSexe) { #region positionchoix #region Haut if (!clavierhaut) { if (clavier.IsKeyDown(Keys.Up) && !clavier.IsKeyDown(Keys.Down)) { clavierhaut = true; } } if (clavier.IsKeyUp(Keys.Up) && !clavier.IsKeyDown(Keys.Down) && clavierhaut) { choix--; clavierentrer = false; clavierhaut = false; if (choix <= 0) choix = 2; } #endregion #region Bas if (!clavierbas) { if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyDown(Keys.Down)) { clavierbas = true; } } if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyUp(Keys.Down) && clavierbas) { choix++; clavierbas = false; clavierentrer = false; if (choix >= 3) choix = 1; } #endregion rectselecteur = new Rectangle(10, 20 + choix * 40, 40, 30); #endregion #region validation if (clavier.IsKeyDown(Keys.Enter) && !changement) { clavierentrer = true; } if (clavierentrer && clavier.IsKeyUp(Keys.Enter)) { if (choix == 1) { joueur.sexe = Joueur.Sexe.homme; } if (choix == 2) { joueur.sexe = Joueur.Sexe.femme; } joueur.LoadContent(content); GestionJeu.NouveauJeu(mapManager, joueur, window); gameManager.Etat = GameManager.etat.InGame; clavierentrer = false; } #endregion if (clavier.IsKeyDown(Keys.Escape) && !changement) { mode = Mode.Solo; rectselecteur = new Rectangle(10, 60, 40, 30); choix = 1; changement = true; } if (clavier.IsKeyUp(Keys.Enter) && clavier.IsKeyUp(Keys.Escape)) changement = false; } #endregion #region Pause if (mode == Mode.Pause) { if (!pauseactive) pauseactive = true; #region positionchoix if (!clavierhaut) { if (clavier.IsKeyDown(Keys.Up) && !clavier.IsKeyDown(Keys.Down)) { clavierhaut = true; } } if (clavier.IsKeyUp(Keys.Up) && !clavier.IsKeyDown(Keys.Down) && clavierhaut) { choix--; clavierhaut = false; if (choix <= 0) choix = 3; } if (!clavierbas) { if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyDown(Keys.Down)) { clavierbas = true; } } if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyUp(Keys.Down) && clavierbas) { choix++; clavierbas = false; if (choix >= 4) choix = 1; } rectselecteur = new Rectangle(10, 20 + choix * 40, 40, 30); #endregion #region validation if (clavier.IsKeyDown(Keys.Enter)) { clavierentrer = true; } if (clavierentrer && clavier.IsKeyUp(Keys.Enter)) { if (choix == 1) { gameManager.Etat = GameManager.etat.InGame; mode = Mode.Pause; pauseactive = false; } if (choix == 2) { choix = 1; rectselecteur = new Rectangle(10, 60, 40, 30); changement = true; mode = Mode.Option; } if (choix == 3) game1.Exit(); clavierentrer = false; } #endregion } #endregion #region ChoixEditeurDeMap if (mode == Mode.Choixediteurdemap) { #region positionchoix if (!clavierhaut) { if (clavier.IsKeyDown(Keys.Up) && !clavier.IsKeyDown(Keys.Down)) { clavierhaut = true; } } if (clavier.IsKeyUp(Keys.Up) && !clavier.IsKeyDown(Keys.Down) && clavierhaut) { choix--; clavierhaut = false; if (choix <= 0) choix = 2; } if (!clavierbas) { if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyDown(Keys.Down)) { clavierbas = true; } } if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyUp(Keys.Down) && clavierbas) { choix++; clavierbas = false; if (choix >= 3) choix = 1; } rectselecteur = new Rectangle(10, 20 + choix * 40, 40, 30); #endregion #region Validation if (mode == Mode.Option) { if (clavier.IsKeyDown(Keys.Enter)) { clavierentrer = true; } if (clavier.IsKeyUp(Keys.Enter) && clavierentrer) { if (choix == 1 && !changement) { mode = Mode.EditMap; } if (choix == 2) { mode = Mode.EditMap; } clavierentrer = false; } } #endregion if (clavier.IsKeyDown(Keys.Escape)) { if (gameManager.Etat == GameManager.etat.Menu) { mode = Mode.Menu; } rectselecteur = new Rectangle(10, 60, 40, 30); choix = 1; } if (clavier.IsKeyUp(Keys.Enter)) changement = false; } #endregion }
public void Update_Deplacement(KeyboardState clavier, Carte carte, EcranChargement ecran_chargement) { courseactive = clavier.IsKeyDown(Keys.LeftShift); #region Valeur de deplacement int deplacement; if (courseactive) { deplacement = 4; } else { deplacement = 2; } #endregion if (!ecran_chargement.transition) { if (!blocage_gauche && clavier.IsKeyDown(Keys.Q) && centre_joueur.X - 20 > 0) centre_joueur.X -= deplacement; if (!blocage_droit && clavier.IsKeyDown(Keys.D) && centre_joueur.X + 20 < carte.largeur) centre_joueur.X += deplacement; if (!blocage_haut && clavier.IsKeyDown(Keys.Z) && centre_joueur.Y - 50 > 0) centre_joueur.Y -= deplacement; if (!blocage_bas && clavier.IsKeyDown(Keys.S) && centre_joueur.Y + 50 < carte.hauteur) centre_joueur.Y += deplacement; } }