Exemplo n.º 1
0
    //TODO
    //添加新卡牌的方法
    void Start()
    {
        preWeaponSet    = new WeaponDto[100];
        preWeaponSet[0] = new WeaponDto(WeaponDto.Weapons.ATK, "仇闪", "额外造成当前背水值的伤害", 1);

        preWeaponSet[1] = new WeaponDto(WeaponDto.Weapons.Defence, "椰子树", "额外获得50cut", 2);
    }
Exemplo n.º 2
0
        /// <summary>
        /// Attack a monster
        /// </summary>
        /// <param name="weapon"></param>
        /// <param name="target"></param>
        /// <returns>true if the attack kill, false if not </returns>
        private bool Attack(WeaponDto weapon, FighterDto target)
        {
            if (weapon == null || target == null)
            {
                return(false);
            }

            //Attaque réussi si entre MissRate et 100
            var attackRandom = new Random().Next(100);

            if (attackRandom < weapon.MissRate)
            {
                Console.WriteLine("Oh non ! Tu as raté ton attaque !");
                return(false);
            }

            var dmg = (weapon.Damage + Globals.Player.Power - target.Defense) > 0 ? weapon.Damage + Globals.Player.Power - target.Defense : 0;

            target.HP -= dmg;
            Console.WriteLine($"Tu attaques avec {weapon.Name} et infliges {dmg} dégats au monstre !");
            if (target.HP > 0)
            {
                Console.WriteLine($"Il lui reste {Monster.HP} !");
                return(false);
            }
            else
            {
                return(true);
            }
        }
Exemplo n.º 3
0
        public async Task treasure()
        {
            if (this.player.Cell.objectGet == true)
            {
                Random rnd = new Random();

                int random = rnd.Next(0, 100);

                if (60 > random)
                {
                    //Generation d'un objet consommable !

                    ObjectTypeDto objectTypeDto = this.ObjectTypeDtos[new Random().Next(0, this.ObjectTypeDtos.Count())];
                    Console.WriteLine("##############################################");
                    Console.WriteLine("Vous avez trouvé un trésor !");
                    Console.WriteLine($"                 {objectTypeDto.Name}                   ");
                    Console.WriteLine("##############################################");
                    this.player = await this.zorkService.PlayerServices.addObjectPlayer(objectTypeDto);
                }
                else
                {
                    //Generation d'une arme !

                    WeaponDto weaponDto = this.WeaponDtos[new Random().Next(0, this.WeaponDtos.Count())];
                    Console.WriteLine("##############################################");
                    Console.WriteLine("You found a weapon !");
                    Console.WriteLine($"   {weaponDto.Name} => Puissance : {weaponDto.AttackPower} ; " +
                                      $"Attaque Pourcentage : {weaponDto.AttackPower} ; Pourcentage de rater une attaque : {weaponDto.MissRate} ;            ");
                    Console.WriteLine("Voulez-vous cette arme? (o pour oui)");
                    if (this.player.Weapon != null)
                    {
                        Console.WriteLine($"  Arme actuel => {this.player.Weapon.Name} => Puissance : {this.player.Weapon.AttackPower} ; " +
                                          $"Attaque Pourcentage : {this.player.Weapon.AttackPower} ; Pourcentage de rater une attaque : {this.player.Weapon.MissRate} ;            ");
                    }
                    else
                    {
                        Console.WriteLine("Vous n'avez d'arme !");
                    }

                    Console.Write("Choix de l'arme (o pour oui) > ");
                    var ch = Console.ReadLine();

                    if (ch == "o" || ch == "oui")
                    {
                        this.player = await this.zorkService.PlayerServices.weaponPlayer(weaponDto);
                    }
                    else
                    {
                        Console.WriteLine("Vous n'avez pas choisi l'arme !");
                    }
                }
            }
        }
        public async Task <ActionResult> Update(WeaponDto weaponDto)
        {
            if (await _unitOfWork.WeaponRepository.GetById(weaponDto.Id) == null)
            {
                return(BadRequest($"There is not Weapon with the id: {weaponDto.Id}"));
            }
            var weapon = _mapper.Map <Weapon>(weaponDto);

            _unitOfWork.WeaponRepository.Update(weapon);
            await _unitOfWork.SaveChangesAsync();

            return(Ok(weaponDto));
        }
Exemplo n.º 5
0
        public async Task <IActionResult> Weapon(WeaponDto weaponDto)
        {
            var weaponToCreate = new Weapon
            {
                Id        = weaponDto.Id,
                Name      = weaponDto.Name,
                Seria     = weaponDto.Seria,
                SoldierId = weaponDto.SoldierId
            };

            await _repo.Weapon(weaponToCreate);

            return(StatusCode(201));
        }