//TODO //添加新卡牌的方法 void Start() { preWeaponSet = new WeaponDto[100]; preWeaponSet[0] = new WeaponDto(WeaponDto.Weapons.ATK, "仇闪", "额外造成当前背水值的伤害", 1); preWeaponSet[1] = new WeaponDto(WeaponDto.Weapons.Defence, "椰子树", "额外获得50cut", 2); }
/// <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); } }
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)); }
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)); }