123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- import { ObjectValueType } from "./BattleEnum";
- export namespace BattleUtil {
-
- export const BagListSize = 15;
- export const AttackListSize = 10;
-
- export const FrameRate = 30;
- export const FrameTime = 1 / FrameRate;
- export const PI = 3.1415926;
- export const TurnMax = 10*60*FrameRate;
-
- export const TypeID_Init = -1;
- export const TypeID_Player = -2;
- export const PosID_Init = -1;
- export const IndexID_Init = -1;
-
- export class Vector2{
- x: number;
- y: number;
- constructor(x:number,y:number){
- this.x = x;
- this.y = y;
- }
- static Sub(vec:Vector2,vec2:Vector2){
- return new Vector2(vec.x - vec2.x,vec.y - vec2.y);
- }
- static Add(vec:Vector2,vec2:Vector2){
- return new Vector2(vec.x + vec2.x,vec.y + vec2.y);
- }
- static Multiply(vec:Vector2,number:number){
- return new Vector2(vec.x * number,vec.y * number);
- }
- static Divide(vec:Vector2,number:number){
- return new Vector2(vec.x / number,vec.y / number);
- }
- sub(vec:Vector2){
- this.x -= vec.x;
- this.y -= vec.y;
- }
- add(vec:Vector2){
- this.x += vec.x;
- this.y += vec.y;
- }
- multiply(number:number){
- this.x *= number;
- this.y *= number;
- }
- divide(number:number){
- this.x /= number;
- this.y /= number;
- }
- normalize(){
- let len = this.length();
- this.x /= len;
- this.y /= len;
- }
- length(){
- return Math.sqrt(this.x * this.x + this.y * this.y);
- }
- clone(){
- return new Vector2(this.x,this.y);
- }
- }
-
-
-
-
-
-
- export class Random {
- private seed: number;
- private a: number;
- private c: number;
- private m: number;
- constructor(seed: number) {
- this.seed = seed;
- this.a = 1664525;
- this.c = 1013904223;
- this.m = Math.pow(2, 32);
- }
- next(): number {
- this.seed = (this.a * this.seed + this.c) % this.m;
- return this.seed / this.m;
- }
- nextInt(min: number, max: number): number {
- return min + Math.floor(this.next() * (max - min + 1));
- }
- }
-
- export interface SpecialValue{
- attackType: ObjectValueType;
- value: number;
- }
-
- export interface HeroDataChange{
-
- heroID?: number;
- changeType: ObjectValueType;
- changeValueLlist: number[];
- };
-
- export class EnemyBornData{
-
- bornTime:number;
-
- positionID:number;
-
- typeID:number;
-
- level:number;
-
- roldID:number;
- }
-
- }
|