This repository was archived by the owner on Mar 9, 2026. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path_history
More file actions
1 lines (1 loc) · 16 KB
/
_history
File metadata and controls
1 lines (1 loc) · 16 KB
1
{"entries":[{"timestamp":1773065112301,"editorVersion":"4.0.10","changes":[{"type":"edited","filename":"main.ts","patch":[{"start1":0,"length1":429,"diffs":[[1," "]]}]},{"type":"edited","filename":"pxt.json","patch":[{"start1":157,"length1":50,"diffs":[[1," \"assets.json\"\n"]]},{"start1":218,"length1":45,"diffs":[[1," \"languageRestriction\": \"javascript-only\",\n \"additionalFilePaths\": []\n"]]}]},{"type":"added","filename":"PlayerBuilder.ts","value":"class PlayerBuilder {\r\n _img: Image;\r\n _kind: number;\r\n _flags: SpriteFlag[];\r\n\r\n constructor(img: Image, kind: number, flags: SpriteFlag[]) {\r\n this._img = img;\r\n this._kind = kind;\r\n this._flags = flags;\r\n }\r\n\r\n get img(): Image {\r\n return this.img;\r\n }\r\n\r\n get kind(): number {\r\n return this.kind;\r\n }\r\n\r\n get flags(): SpriteFlag[] {\r\n return this.flags;\r\n }\r\n\r\n set img(input: Image) {\r\n this.img = input;\r\n }\r\n\r\n set kind(input: number) {\r\n this.kind = input;\r\n }\r\n\r\n set flags(input: SpriteFlag[]) {\r\n this.flags = input;\r\n }\r\n}"}]},{"timestamp":1773065717919,"editorVersion":"4.0.10","changes":[{"type":"edited","filename":"main.ts","patch":[{"start1":222,"length1":104,"diffs":[[1," export function buildPlayer(img:Image, kind:number, flags:SpriteFlag[]): PlayerBuilder {\r\n"]]}]}]},{"timestamp":1773065725993,"editorVersion":"4.0.10","changes":[{"type":"edited","filename":"main.ts","patch":[{"start1":108,"length1":269,"diffs":[[1," * TODO: describe your function here\r\n * @param value describe value here, eg: 5\r\n"]]},{"start1":222,"length1":264,"diffs":[[1," export function buildPlayer(\r\n img:Image, kind:number, flags:SpriteFlag[]): PlayerBuilder {\r\n const createdBuilder = new PlayerBuilder(img, kind, flags);\r\n"]]},{"start1":397,"length1":24,"diffs":[[1," return createdBuilder;\r\n"]]},{"start1":439,"length1":709,"diffs":[[1,""]]}]},{"type":"edited","filename":"PlayerBuilder.ts","patch":[{"start1":88,"length1":36,"diffs":[[1,""]]},{"start1":90,"length1":92,"diffs":[[1," constructor(img: Image, kind: number, flags: SpriteFlag[]) {\r\n"]]},{"start1":240,"length1":50,"diffs":[[1,""]]},{"start1":440,"length1":116,"diffs":[[1,""]]},{"start1":647,"length1":563,"diffs":[[1,"}"]]}]}]},{"timestamp":1773066318854,"editorVersion":"4.0.10","changes":[{"type":"edited","filename":"main.ts","patch":[{"start1":30,"length1":40,"diffs":[[1,""]]},{"start1":99,"length1":55,"diffs":[[1,""]]},{"start1":108,"length1":629,"diffs":[[1,""]]},{"start1":525,"length1":70,"diffs":[[1," const createdBuilder = new PlayerBuilder(img, kind, flags, xSpeed, ySpeed);\r\n const sprite:Sprite = createdBuilder.build();\r\n"]]},{"start1":667,"length1":272,"diffs":[[1," return sprite;\r\n"]]},{"start1":703,"length1":0,"diffs":[[1,"let flags:SpriteFlag[] = [];\r\n\r\n"]]},{"start1":1373,"length1":82,"diffs":[[1,"`, SpriteKind.Player, flags, 50, 50);"]]}]},{"type":"edited","filename":"pxt.json","patch":[{"start1":157,"length1":22,"diffs":[[1," \"assets.json\",\n \"PlayerBuilder.ts\"\n"]]}]},{"type":"removed","filename":"PlayerBuilder.ts","value":"class PlayerBuilder {\r\n _img: Image;\r\n _kind: number;\r\n _flags: SpriteFlag[];\r\n _xs: number;\r\n _ys: number;\r\n\r\n constructor(img: Image, kind: number, flags: SpriteFlag[], xs?: number, ys?: number) {\r\n this._img = img;\r\n this._kind = kind;\r\n this._flags = flags;\r\n\r\n this._xs = xs;\r\n this._ys = ys;\r\n }\r\n\r\n get img(): Image {\r\n return this.img;\r\n }\r\n\r\n get kind(): number {\r\n return this.kind;\r\n }\r\n\r\n get flags(): SpriteFlag[] {\r\n return this.flags;\r\n }\r\n\r\n get xs(): number {\r\n return this.xs;\r\n }\r\n\r\n get ys(): number {\r\n return this.ys;\r\n }\r\n\r\n set img(input: Image) {\r\n this.img = input;\r\n }\r\n\r\n set kind(input: number) {\r\n this.kind = input;\r\n }\r\n\r\n set flags(input: SpriteFlag[]) {\r\n this.flags = input;\r\n }\r\n\r\n set xs(input: number) {\r\n this.xs = input;\r\n }\r\n\r\n set ys(input: number) {\r\n this.ys = input;\r\n }\r\n\r\n build(builder: PlayerBuilder): Sprite {\r\n const spriteFromBuilder: Sprite = sprites.create(builder.img, builder.kind);\r\n\r\n for (let value of builder.flags) {\r\n spriteFromBuilder.setFlag(value, true);\r\n }\r\n\r\n forever(function movementController() {\r\n controller.moveSprite(spriteFromBuilder, builder.xs, builder.ys);\r\n });\r\n\r\n return spriteFromBuilder;\r\n }\r\n}\r\n\r\n"}]},{"timestamp":1773066912857,"editorVersion":"4.0.10","changes":[{"type":"edited","filename":"main.ts","patch":[{"start1":0,"length1":0,"diffs":[[1,"/**\r\n* Foundation blocks\r\n*/\r\n//% groups='[\"Builders\", \"Utilities\"]'\r\n//% weight=60 color=#fcba03 icon=\"\\uf0e3\"\r\nnamespace Foundation {\r\n\r\n export enum presets {\r\n DEFAULT\r\n }\r\n\r\n\r\n /**\r\n * Applies a preset flag list, in case you can't be asked to make your own.\r\n * @param preset The Flag preset.\r\n */\r\n //% block\r\n //% group=\"Utilities\"\r\n export function flagPresets(preset: presets): SpriteFlag[] {\r\n const builtFlags:SpriteFlag[] = [];\r\n Foundation.clearArray(builtFlags);\r\n\r\n if (preset == presets.DEFAULT) {\r\n builtFlags.push(SpriteFlag.StayInScreen);\r\n }\r\n\r\n return builtFlags;\r\n }\r\n\r\n export function clearArray(array: any[]) {\r\n for (let value of array) {\r\n array.removeElement(value);\r\n }\r\n }\r\n\r\n /**\r\n * Builds a Player from the given fields.\r\n * @param img The Sprite image.\r\n * @param kind The SpriteKind.\r\n * @param flags The SpriteFlags to apply to the player.\r\n * @param xSpeed The Sprite's X-Speed.\r\n * @param ySpeed The Sprite's Y-Speed.\r\n */\r\n //% block\r\n export function buildPlayer(img: Image, kind: number, flags: SpriteFlag[], xSpeed?: number, ySpeed?: number): Sprite {\r\n const spriteFromBuilder: Sprite = sprites.create(img, kind);\r\n\r\n for (let value of flags) {\r\n spriteFromBuilder.setFlag(value, true);\r\n }\r\n\r\n forever(function movementController() {\r\n controller.moveSprite(spriteFromBuilder, xSpeed, ySpeed);\r\n });\r\n\r\n return spriteFromBuilder;\r\n }\r\n}\r\n\r\nlet testSprite = Foundation.buildPlayer(img`\r\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\r\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\r\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\r\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\r\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\r\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\r\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\r\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\r\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\r\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\r\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\r\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\r\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\r\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\r\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\r\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\r\n`, SpriteKind.Player, Foundation.flagPresets(Foundation.presets.DEFAULT), 50, 50);"]]}]},{"type":"edited","filename":"pxt.json","patch":[{"start1":157,"length1":47,"diffs":[[1," \"assets.json\"\n"]]}]},{"type":"added","filename":"foundation.ts","value":"/**\n* Foundation blocks\n*/\n//% weight=60 color=#fcba03 icon=\"\\uf0e3\"\nnamespace Foundation {\n\n export enum presets {\n DEFAULT\n }\n\n /**\n * Applies a preset flag list, in case you can't be asked to make your own.\n * @param preset The Flag preset.\n */\n //% block\n export function flagPresets(preset: presets): SpriteFlag[] {\n const builtFlags: SpriteFlag[] = [];\n Foundation.clearArray(builtFlags);\n\n if (preset == presets.DEFAULT) {\n builtFlags.push(SpriteFlag.StayInScreen);\n }\n\n return builtFlags;\n }\n\n\n /**\n * Clears an array of every element it contains.\n * @param array The array to clear.\n */\n //% block\n export function clearArray(array: any[]) {\n for (let value of array) {\n array.removeElement(value);\n }\n }\n\n /**\n * Builds a Player from the given fields.\n * @param img The Sprite image.\n * @param kind The SpriteKind.\n * @param flags The SpriteFlags to apply to the player.\n * @param xSpeed The Sprite's X-Speed.\n * @param ySpeed The Sprite's Y-Speed.\n */\n //% block\n export function buildPlayer(img: Image, kind: number, flags: SpriteFlag[], xSpeed?: number, ySpeed?: number): Sprite {\n const spriteFromBuilder: Sprite = sprites.create(img, kind);\n for (let value of flags) {\n spriteFromBuilder.setFlag(value, true);\n }\n forever(function movementController() {\n controller.moveSprite(spriteFromBuilder, xSpeed, ySpeed);\n });\n return spriteFromBuilder;\n }\n\n\n /**\n * Builds an Enemy sprite from the given fields.\n * @param img The Sprite image.\n * @param kind The SpriteKind.\n * @param flags The SpriteFlags to apply to the player.\n * @param followTarget The target the Sprite follows.\n * @param followSpeed The Sprite's speed while following the target.\n * @param turnRate The rate of turning while following the target.\n */\n //% block\n export function buildEnemy(img: Image, kind: number, flags: SpriteFlag[], followTarget?: Sprite, followSpeed?: number, turnRate?: number): Sprite {\n const spriteFromBuilder: Sprite = sprites.create(img, kind);\n for (let value of flags) {\n spriteFromBuilder.setFlag(value, true);\n }\n\n spriteFromBuilder.follow(followTarget, followSpeed, turnRate);\n return spriteFromBuilder;\n }\n\n sprites.onCreated(SpriteKind.Placeholder, function placeHolders(sprite: Sprite) {\n \n });\n}\n\nnamespace SpriteKind {\n export let Particle = SpriteKind.create();\n export let MenuElement = SpriteKind.create();\n export let Placeholder = SpriteKind.create();\n}\n\nlet testSprite = Foundation.buildPlayer(img`\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\n`, SpriteKind.Player, Foundation.flagPresets(Foundation.presets.DEFAULT), 50, 50);"}]},{"timestamp":1773067510368,"editorVersion":"4.0.10","changes":[{"type":"edited","filename":"pxt.json","patch":[{"start1":28,"length1":54,"diffs":[[1," \"description\": \"\",\n"]]}]},{"type":"edited","filename":"foundation.ts","patch":[{"start1":92,"length1":0,"diffs":[[1,"\n"]]},{"start1":2448,"length1":329,"diffs":[[1," sprites.onCreated(SpriteKind.Placeholder, function placeHolders(sprite: Sprite) {\n \n"]]},{"start1":2724,"length1":1,"diffs":[[1,"}\n\nlet testSprite = Foundation.buildPlayer(img`\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\n`, SpriteKind.Player, Foundation.flagPresets(Foundation.presets.DEFAULT), 50, 50);"]]}]}]},{"timestamp":1773068259614,"editorVersion":"4.0.10","changes":[{"type":"edited","filename":"pxt.json","patch":[{"start1":242,"length1":44,"diffs":[[1,""]]}]},{"type":"added","filename":"test.ts","value":"// tests go here; this will not be compiled when this package is used as an extension.\n"},{"type":"added","filename":"main.blocks","value":"<xml xmlns=\"http://www.w3.org/1999/xhtml\">\n <variables></variables>\n <block type=\"pxt-on-start\" x=\"0\" y=\"0\"></block>\n</xml>"}]}],"snapshots":[{"timestamp":1773065112300,"editorVersion":"4.0.10","text":{"main.ts":" ","README.md":" ","assets.json":"","pxt.json":"{\n \"name\": \"Foundation\",\n \"description\": \"\",\n \"dependencies\": {\n \"device\": \"*\"\n },\n \"files\": [\n \"main.ts\",\n \"README.md\",\n \"assets.json\"\n ],\n \"preferredEditor\": \"tsprj\",\n \"languageRestriction\": \"javascript-only\",\n \"additionalFilePaths\": []\n}\n"}},{"timestamp":1773066912857,"editorVersion":"4.0.10","text":{"main.ts":"/**\r\n* Foundation blocks\r\n*/\r\n//% groups='[\"Builders\", \"Utilities\"]'\r\n//% weight=60 color=#fcba03 icon=\"\\uf0e3\"\r\nnamespace Foundation {\r\n\r\n export enum presets {\r\n DEFAULT\r\n }\r\n\r\n\r\n /**\r\n * Applies a preset flag list, in case you can't be asked to make your own.\r\n * @param preset The Flag preset.\r\n */\r\n //% block\r\n //% group=\"\"\r\n export function flagPresets(preset: presets): SpriteFlag[] {\r\n const builtFlags:SpriteFlag[] = [];\r\n Foundation.clearArray(builtFlags);\r\n\r\n if (preset == presets.DEFAULT) {\r\n builtFlags.push(SpriteFlag.StayInScreen);\r\n }\r\n\r\n return builtFlags;\r\n }\r\n\r\n export function clearArray(array: any[]) {\r\n for (let value of array) {\r\n array.removeElement(value);\r\n }\r\n }\r\n\r\n /**\r\n * Builds a Player from the given fields.\r\n * @param img The Sprite image.\r\n * @param kind The SpriteKind.\r\n * @param flags The SpriteFlags to apply to the player.\r\n * @param xSpeed The Sprite's X-Speed.\r\n * @param ySpeed The Sprite's Y-Speed.\r\n */\r\n //% block\r\n export function buildPlayer(img: Image, kind: number, flags: SpriteFlag[], xSpeed?: number, ySpeed?: number): Sprite {\r\n const spriteFromBuilder: Sprite = sprites.create(img, kind);\r\n\r\n for (let value of flags) {\r\n spriteFromBuilder.setFlag(value, true);\r\n }\r\n\r\n forever(function movementController() {\r\n controller.moveSprite(spriteFromBuilder, xSpeed, ySpeed);\r\n });\r\n\r\n return spriteFromBuilder;\r\n }\r\n}\r\n\r\nlet testSprite = Foundation.buildPlayer(img`\r\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\r\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\r\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\r\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\r\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\r\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\r\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\r\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\r\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\r\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\r\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\r\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\r\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\r\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\r\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\r\n 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\r\n`, SpriteKind.Player, Foundation.flagPresets(Foundation.presets.DEFAULT), 50, 50);","README.md":" ","assets.json":"","pxt.json":"{\n \"name\": \"Foundation\",\n \"description\": \"\",\n \"dependencies\": {\n \"device\": \"*\"\n },\n \"files\": [\n \"main.ts\",\n \"README.md\",\n \"assets.json\"\n ],\n \"preferredEditor\": \"tsprj\",\n \"languageRestriction\": \"javascript-only\"\n}\n"}}],"shares":[],"lastSaveTime":1773068259628}