import BezierEasing from "bezier-easing" import { config } from "../constants/config" export function Utility_ConvertSecondToString(seconds: number) { let last = seconds const hour = Math.floor(last / 3600) last = last - hour * 3600 const minite = Math.floor(last / 60) last = last - minite * 60 const second = Math.floor(last) function format(value: number) { return value >= 10 ? value.toString() : (`0${value}`) } return `${format(hour)}:${format(minite)}:${format(second)}` } // 计算积分 export function Utility_CalculateScore(difficulty: string, second: number): number { let score = 0 const currentTime = Math.min(120, second) if (difficulty === config.DIFFICULTY_TYPE.Easy) { score = 270 - currentTime } else if (difficulty === config.DIFFICULTY_TYPE.Medium) { score = 420 - currentTime * 2 } else if (difficulty === config.DIFFICULTY_TYPE.Hard) { score = 760 - currentTime * 3 } else if (difficulty === config.DIFFICULTY_TYPE.Expert) { score = 1120 - currentTime * 3 } else if (difficulty === config.DIFFICULTY_TYPE.Extreme) { score = 1320 - currentTime * 4 } // console.log("计算积分 >>>>>", difficulty, second, score) return score } const bezier_ease_out = BezierEasing(0.2, 0.8, 0.5, 1) export function Utility_EaseOut(t: number, b: number, c: number, d: number) { const p = bezier_ease_out(t / d) return c * p + b } const bezier_ease_out_2 = BezierEasing(0.25, 0.1, 0.3, 1) export function Utility_EaseOut_2(t: number, b: number, c: number, d: number) { const p = bezier_ease_out_2(t / d) return c * p + b }