Пример #1
0
 public bool checkIfCharDead(GameData.Models.Character character)
 {
     if (character.Health <= 0)
     {
         return(true);
     }
     return(false);
 }
Пример #2
0
 public GameData.Models.Character calcOnDeadMoney(GameData.Models.Character character)
 {
     character.gold = character.gold - (int)(character.gold * 0.10);
     if (character.gold <= 0)
     {
         character.gold = 0;
     }
     return(character);
 }
Пример #3
0
 public bool checkifUserExists()
 {
     GameData.Models.Character Charater = _context.Characters.SingleOrDefault(m => m.UserID == _user);
     if (Charater == null)
     {
         return(false);
     }
     return(true);
 }
Пример #4
0
        public void checkcalcOnDeadMoney()
        {
            RobesAndArmorGit.Logic.CharacterDeadCalc characterDeadCalc = new RobesAndArmorGit.Logic.CharacterDeadCalc();

            GameData.Models.Character character = new GameData.Models.Character();
            character.gold = 500;

            Assert.Equal(450, characterDeadCalc.calcOnDeadMoney(character).gold);
        }
Пример #5
0
        public void checkIfCharDead()
        {
            GameData.Models.Character character = new GameData.Models.Character();
            character.Health = 0;


            RobesAndArmorGit.Logic.DamageCalc damageCalc = new RobesAndArmorGit.Logic.DamageCalc();

            Assert.True(damageCalc.checkIfCharDead(character));
        }
Пример #6
0
        private GameData.Models.Battle newBattle(GameData.Models.Character character)
        {
            GameData.Models.Battle battle = new GameData.Models.Battle();
            battle.characterID = character.Id;
            GameData.Models.Enemy enemy = randomEnemy(character.Level);
            battle.enemyId     = enemy.Id;
            battle.enemyHealth = enemy.Health;
            _context.Add(battle);
            _context.SaveChanges();

            return(battle);
        }
Пример #7
0
        public async Task <IActionResult> shop()
        {
            ApplicationUser user = await GetCurrentUserAsync();

            var character = _context.Characters.SingleOrDefault(m => m.UserID == user.UserName);

            GameData.Models.Character myChar = character;
            var Items = _context.Items.ToList().Where(m => m.Level <= character.Level);


            return(View(Items));
        }
Пример #8
0
        public Models.ViewModels.Damage calcDamage(GameData.Models.Character character, GameData.Models.Enemy enemy)
        {
            //dammage calcs
            Models.ViewModels.Damage damage = new Models.ViewModels.Damage();
            character.Health = character.Health - enemy.Atk;
            enemy.Health     = enemy.Health - character.str;

            damage.character = character;
            damage.enemy     = enemy;

            return(damage);
        }
Пример #9
0
 private bool checkForExistingBattle(GameData.Models.Character character)
 {
     //checks if there is an already started battle in the database
     GameData.Models.Battle battle = _context.battles.SingleOrDefault(m => m.characterID == character.Id);
     if (battle == null)
     {
         return(false);
     }
     else
     {
         return(true);
     }
 }
Пример #10
0
        public void testCharacterDamage()
        {
            RobesAndArmorGit.Logic.DamageCalc damageCalc = new RobesAndArmorGit.Logic.DamageCalc();
            GameData.Models.Character         character  = new GameData.Models.Character();
            character.str    = 50;
            character.Health = 200;

            GameData.Models.Enemy enemy = new GameData.Models.Enemy();
            enemy.Atk    = 50;
            enemy.Health = 100;

            RobesAndArmorGit.Models.ViewModels.Damage damageView = damageCalc.calcDamage(character, enemy);

            Assert.Equal(50, damageView.enemy.Health);
        }
Пример #11
0
        public async Task <IActionResult> damage(int?id)
        {
            //return the view with the new damage
            GameData.Models.Battle battle = _context.battles.SingleOrDefault(m => m.Id == id);

            Logic.DamageCalc          calcdam   = new Logic.DamageCalc();
            GameData.Models.Character character = _context.Characters.FirstOrDefault(m => m.Id == battle.characterID);



            Models.ViewModels.Damage damage = calcdam.calcDamage(_context.Characters.FirstOrDefault(m => m.Id == battle.characterID), _context.Enemies.FirstOrDefault(m => m.Id == battle.enemyId));
            battle.enemyHealth = damage.enemy.Health;

            if (calcdam.checkIfCharDead(damage.character))
            {
                //character is dead

                deadCharacter();
            }
            else if (calcdam.checkIfEnemyDead(battle))
            {
                //enemy is dead

                deadEnemy();
            }
            else
            {
                //battle goes on as nobody is dead
                _context.Update(battle);
                await _context.SaveChangesAsync();

                character.Health = damage.character.Health;
                _context.Update(character);
                await _context.SaveChangesAsync();

                return(RedirectToAction("battle", "Battle"));
            }



            return(RedirectToAction("battle", "Battle"));



            //return View("~/Views/Characters/Battle.cshtml", battle);
        }
Пример #12
0
        private async void deadCharacter()
        {
            //character is dead delete 10% of his money and update health to full
            Logic.CharacterDeadCalc characterDeadCalc = new Logic.CharacterDeadCalc();
            ApplicationUser         usr = await GetCurrentUserAsync();

            GameData.Models.Character character = await _context.Characters.SingleOrDefaultAsync(m => m.UserID == usr.UserName);

            character        = characterDeadCalc.calcOnDeadMoney(character);
            character.Health = 500;

            GameData.Models.Battle battle = _context.battles.SingleOrDefault(m => m.characterID == character.Id);

            _context.Update(character);
            await _context.SaveChangesAsync();

            _context.battles.Remove(battle);
            await _context.SaveChangesAsync();
        }
Пример #13
0
        public async Task <IActionResult> battle()
        {
            ApplicationUser usr = await GetCurrentUserAsync();

            GameData.Models.Character character = _context.Characters.SingleOrDefault(m => m.UserID == usr.UserName);
            Models.ViewModels.Battle  battle    = new Models.ViewModels.Battle();

            if (checkForExistingBattle(character) == false)
            {
                battle.battle = newBattle(character);
            }
            else
            {
                battle.battle = _context.battles.SingleOrDefault(m => m.characterID == character.Id);
            }
            battle.enemy     = _context.Enemies.SingleOrDefault(m => m.Id == battle.battle.enemyId);
            battle.character = character;

            return(View(battle));
        }