예제 #1
0
        //Constructeur
        public Combat(int idPlayer, Cell cell)
        {
            PlayerM = new PlayerManager(idPlayer);
            MonsterM = new MonsterManager(PlayerM.Player, cell);
            MonsterAttackRate = MonsterM.Monster.AttackRate;
            PlayerAttackRate = 0;

            PlayerBonusAttaque = 0;
            PlayerBonusDefense = 0;
            MonsterBonusAttaque = 0;
            MonsterBonusDefense = 0;
        }
예제 #2
0
        //Générateur d'item, crée l'itemType si besoin, sinon il le charge, puis redirige vers les autres méthodes
        /* Types d'items :
         *  0 - Health Potion
         *  1 - Attack Potion
         *  2 - Defense Potion
         */
        public ItemManager(int level, PlayerManager playerM, int type =-1)
        {
            var rand = Program.Random;
            PlayerM = playerM;
            Level = level;

            if (type == -1)
            {
                type = rand.Next(3);
            }

            switch (type)
            {
                case 0:
                    GenerateHealthPotion(level);
                    break;
                case 1:
                    GenerateAttackPotion(level);
                    break;
                case 2:
                    GenerateDefensePotion(level);
                    break;
            }
        }
예제 #3
0
 //Procédure de chargement d'un player
 public PlayerManager LoadGame()
 {
     using (var db = new Project2NetContext())
     {
         var players = from player in db.Players select player;
         PlayerManager selected;
         do
         {
             int gameId;
             do
             {
                 Console.Clear();
                 Console.ForegroundColor = ConsoleColor.White;
                 Console.WriteLine("Selectionnez l'ID de la partie que vous voulez jouer :");
                 foreach (var player in players)
                 {
                     Console.WriteLine("ID {0} - Nom : {1} - HP : {2} - Level : {3}", player.Id,
                                                     player.Name, player.Hp, (int)Math.Floor((double) player.Xp/100));
                 }
                 Console.ResetColor();
             } while (!int.TryParse(Console.ReadLine(), out gameId));
             
             selected = new PlayerManager(gameId);
         } while (selected.Player == null);
         Console.Clear();
         selected.ShowPlayerInfos();
         return selected;
     }
 }
예제 #4
0
        //Procédure de nouveau player
        public PlayerManager NewGame()
        {
            using (var db = new Project2NetContext())
            {
                //Création du joueur
                PlayerManager selected;
                do
                {
                    String name = "";
                    do
                    {
                        Console.Clear();
                        Console.WriteLine("Choisissez un nom pour votre personnage (1-15 caractéres)");
                        name = Console.ReadLine();
                    } while (name.Length >= 15 || name.Length < 1);
                    selected = new PlayerManager(name);
                } while (selected.Player == null);
                ShowPlot();
                Console.Clear();
                selected.ShowPlayerInfos();
                Console.WriteLine("Aprés avoir marché pendant quelques heures,");

                Console.WriteLine();
                return selected;
            }
        }
예제 #5
0
        //Interpreteur de commandes
        //Permet d'effectuer les actions en fonction de la commande utilisée
        public bool CheckCommand(string command, PlayerManager activePlayerM)
        {
            Console.Clear();
            activePlayerM.ShowPlayerInfos();
            command = command.ToLower();
            var returnVal = true;

            switch (command)
            {
                //Inventaire
                case "afficher l'inventaire":
                    activePlayerM.ShowInventory();
                    break;
                case "jeter un objet":
                    activePlayerM.DropItem();
                    break;
                case "utiliser un objet":
                    activePlayerM.UseItem();
                    break;
                case "afficher les armes":
                    activePlayerM.ShowWeapons();
                    break;
                case "jeter une arme":
                    activePlayerM.DropWeapon();
                    break;
                case "fouiller la zone":
                    activePlayerM.SearchCellForItems();
                    break;

                //Déplacements
                case "aller au nord":
                    Console.WriteLine("Vous vous déplacez vers le nord");
                    Console.WriteLine();
                    activePlayerM.Move("nord");
                    break;
                case "aller au sud":
                    Console.WriteLine("Vous vous déplacez vers le sud");
                    Console.WriteLine();
                    activePlayerM.Move("sud");
                    break;
                case "aller a l'ouest":
                    Console.WriteLine("Vous vous déplacez vers l'ouest");
                    Console.WriteLine();
                    activePlayerM.Move("ouest");
                    break;
                case "aller a l'est":
                    Console.WriteLine("Vous vous déplacez vers l'est");
                    Console.WriteLine();
                    activePlayerM.Move("nord");
                    break;
                case "ou suis-je":
                    Console.WriteLine(activePlayerM.GetCellManager().Cell.Description);
                    break;

                //Options systéme
                case "quitter":
                    returnVal = false;
                    Console.ForegroundColor = ConsoleColor.Black;
                    Console.BackgroundColor = ConsoleColor.Red;
                    Console.WriteLine("Arrêt du programme !");
                    break;
                case "aide":
                    GetAvailableCommands();
                    break;
                    /*
                     * Les easter eggs sont cachés un peu de partout, ainsi que les fonctionnalités ajoutées, ici se trouvent
                     * deux petits cheats amusants
                     */
                //CHEATS
                case "all your base are belong to us":
                    using (var db = new Project2NetContext())
                    {
                        var player = (from p in db.Players
                                      where p.Id == activePlayerM.Player.Id
                                      select p).FirstOrDefault();
                        if (player != null)
                        {
                            player.MaxHp = 150 + 150*1000000;
                            player.Hp = player.MaxHp;
                            player.Xp = 100000000;
                            var weaponM = new WeaponManager("2");
                            player.WeaponInventory.Add(weaponM.Weapon);
                        }
                        activePlayerM.Player = player;
                        db.SaveChanges();
                        Console.WriteLine("Tel l'alpha et l'omega, vous devenez grand et puissant.");
                    }
                    break;
                case "mac rules the world":
                    using (var db = new Project2NetContext())
                    {
                        var player = (from p in db.Players
                                      where p.Id == activePlayerM.Player.Id
                                      select p).FirstOrDefault();
                        if (player != null)
                        {
                            var weaponM = new WeaponManager("1");
                            player.WeaponInventory.Add(weaponM.Weapon);
                        }
                        activePlayerM.Player = player;
                        db.SaveChanges();
                        Console.WriteLine("Mais, qu'est ce que c'est que cette grosse chose dans votre fourreau ?");
                    }
                    break;

                default:
                    Console.ForegroundColor = ConsoleColor.Black;
                    Console.BackgroundColor = ConsoleColor.Red;
                    Console.WriteLine("Vous ne pouvez pas faire ceci !");
                    break;
            }
            Console.ResetColor();
            return returnVal;
        }