You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
1.3 KiB
31 lines
1.3 KiB
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
public class GameSettlement
|
|
{
|
|
static public int DamageSettlement(Weapon weapon, Character self, Character enemy) //角色攻击
|
|
{
|
|
int settlement = weapon.basicDamage;
|
|
settlement += (int)(weapon.dexAddtion*self.dex + weapon.strAddition*self.str);
|
|
settlement = (int)(settlement * self.GetAttackCoffcient());
|
|
settlement -= (int)(enemy.def * enemy.GetDefenceCofficient());
|
|
if(enemy.GetCurrentPoise() == 0)
|
|
settlement = (int)(settlement * 1.5 + 0.5);
|
|
return -settlement;
|
|
}
|
|
static public int AIAttackSettlement(Character self, Character enemy) //AI攻击
|
|
{
|
|
int settlement = self.str * 2 + (int)(self.dex * 1.5);
|
|
settlement = (int)(settlement * self.GetAttackCoffcient());
|
|
settlement -= (int)(enemy.def * enemy.GetDefenceCofficient());
|
|
if(enemy.GetCurrentPoise() == 0)
|
|
settlement = (int)(settlement * 1.5 + 0.5);
|
|
return -settlement;
|
|
}
|
|
static public int Manhattan(Vector2 position1, Vector2 position2) //计算曼哈顿距离
|
|
{
|
|
return (int)(Math.Abs(position1.x - position2.x) + Math.Abs(position1.y - position2.y));
|
|
}
|
|
} |