From 765ba7bfe9eb7a49381cd59081d261b09ee5aa5f Mon Sep 17 00:00:00 2001 From: yangwen Date: Wed, 14 May 2025 20:05:17 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B4=E7=90=86=E6=8C=81=E4=B9=85=E5=8C=96?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/models/DOBlock.ts | 5 +++-- src/models/DOCandy.ts | 5 +++-- src/models/DOStage.ts | 17 ++++++++-------- src/models/StorageManager.ts | 38 ++++-------------------------------- src/types/global.ts | 26 ++++++++++++++++++++++++ src/types/global.ts.meta | 3 +++ 6 files changed, 48 insertions(+), 46 deletions(-) create mode 100644 src/types/global.ts create mode 100644 src/types/global.ts.meta diff --git a/src/models/DOBlock.ts b/src/models/DOBlock.ts index 931be75..03eea86 100644 --- a/src/models/DOBlock.ts +++ b/src/models/DOBlock.ts @@ -1,16 +1,17 @@ +import { DataBlock } from "../types/global"; import { StorageManager } from "./StorageManager" export class DOBlock { - private data: any + private data: DataBlock private preset: boolean = false//预设格子 private correct: number = 0; private checked: boolean = false//是否正确 - constructor(dataBlock: any, preset: boolean, correct: number) { + constructor(dataBlock: DataBlock, preset: boolean, correct: number) { this.data = dataBlock this.preset = preset this.correct = correct diff --git a/src/models/DOCandy.ts b/src/models/DOCandy.ts index c4521fc..8396c88 100644 --- a/src/models/DOCandy.ts +++ b/src/models/DOCandy.ts @@ -1,14 +1,15 @@ +import { DataCandy } from "../types/global" import { StorageManager } from "./StorageManager" export class DOCandy { - private data: any + private data: DataCandy private show: number - constructor(dataCandy: any, show: number) { + constructor(dataCandy: DataCandy, show: number) { this.data = dataCandy this.show = show } diff --git a/src/models/DOStage.ts b/src/models/DOStage.ts index 25600a2..9ca2229 100644 --- a/src/models/DOStage.ts +++ b/src/models/DOStage.ts @@ -3,18 +3,19 @@ import { StorageManager } from "./StorageManager" import { DOBlock } from "./DOBlock" import { DOCandy } from "./DOCandy" +import { DataBlock, DataStage } from "../types/global" export class DOStage { - private data: any + private data: DataStage private blocks: Array = new Array() private candys: Array = new Array() - private letterToNumber: any; - private numberToLetter: any; + private letterToNumber: Map; + private numberToLetter: Map; - constructor(dataStage: any, levelStr: string) { + constructor(dataStage: DataStage, levelStr: string) { this.data = dataStage this.letterToNumber = new Map(); @@ -39,7 +40,7 @@ export class DOStage { this.numberToLetter.set(8, "h"); this.numberToLetter.set(9, "i"); - var blockMap: Map = new Map() + var blockMap: Map = new Map() for (var i=0; i=new Array()): any {//格子 - var dataBlock = { - index: index, - show: show, - score: score, - notes: notes, - } - return dataBlock - } - - public static createDataCandy(left: number): any {//可选数字 - var dataCandy = { - left: left, - } - return dataCandy - } - - public static createDataStage(mistake: number, difficulty: number, duration: number=0, blocks: Array=new Array(), candys: Array=new Array()): any {//关卡数据 - var dataStage = { - mistake: mistake, - difficulty: difficulty, - duration: duration, - note_open: false, - blocks: blocks, - candys: candys, - } - return dataStage - } - - private changed = false private stageID: string = ""; - private stageMap: Map = new Map(); + private stageMap: Map = new Map(); public init(): void { this.changed = false @@ -54,7 +24,7 @@ export class StorageManager { public loadStage(stageID: string): DOStage { this.stageID = stageID - var dataStage + var dataStage: DataStage if (this.stageMap.has(stageID)) { dataStage = this.stageMap.get(stageID) } @@ -65,7 +35,7 @@ export class StorageManager { this.stageMap.set(stageID, dataStage) } else { - dataStage = StorageManager.createDataStage(0, config.DIFFICULTY_TYPE.Easy) + dataStage = {mistake: 0, difficulty: config.DIFFICULTY_TYPE.Easy, duration: 0, note_open: false, blocks: new Array(), candys: new Array()} this.stageMap.set(stageID, dataStage) } } diff --git a/src/types/global.ts b/src/types/global.ts new file mode 100644 index 0000000..65e2940 --- /dev/null +++ b/src/types/global.ts @@ -0,0 +1,26 @@ + + +//格子持久化数据结构 +export interface DataBlock { + index: number, + show: number, + score: number + notes: Array, +} + + +//可选数字 +export interface DataCandy { + left: number, +} + + +//关卡数据 +export interface DataStage { + mistake: number, + difficulty: number, + duration: number, + note_open: boolean, + blocks: Array, + candys: Array, +} diff --git a/src/types/global.ts.meta b/src/types/global.ts.meta new file mode 100644 index 0000000..ae677a2 --- /dev/null +++ b/src/types/global.ts.meta @@ -0,0 +1,3 @@ +{ + "uuid": "c76d8037-4918-4ac5-a920-02fe0f4d8df7" +} \ No newline at end of file