sb-edit-custom 0.20.113 → 0.20.115
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -11,7 +11,7 @@ export declare const GAME_STAGE_JS = "\nimport { Stage as StageBase, Trigger, Wa
|
|
|
11
11
|
export declare const WRAP_SPRITE_CLASS_JS = "\nimport { GameSprite } from \"./GameSprite.js\"\nimport { copyPrototypeToInstance, setConstructingTarget, clearConstructingTarget } from \"./helpers.js\"\n\nexport function wrapSpriteClass(UserClass) {\n if (UserClass.prototype?.hasOwnProperty(\"constructor\")) {\n const userCtor = UserClass.prototype.constructor\n if (userCtor && userCtor !== UserClass) {\n throw new Error(`${UserClass.name}: Please use init() instead of constructor()`)\n }\n }\n\n var spriteId = UserClass.name;\n\n return class WrappedSprite extends GameSprite {\n constructor(...args) {\n var opts = args[0] ?? {}\n args[0] = { ...opts, spriteId: spriteId }\n super(...args)\n\n copyPrototypeToInstance(this, UserClass.prototype)\n\n setConstructingTarget(this)\n try {\n if (typeof this.init === \"function\") this.init()\n } finally {\n clearConstructingTarget()\n }\n\n this._finalizeTriggers()\n }\n }\n}\n";
|
|
12
12
|
export declare const WRAP_STAGE_CLASS_JS = "\nimport { GameStage } from \"./GameStage.js\"\nimport { copyPrototypeToInstance, setConstructingTarget, clearConstructingTarget } from \"./helpers.js\"\n\nexport function wrapStageClass(UserClass) {\n return class WrappedStage extends GameStage {\n constructor(...args) {\n super(...args)\n\n copyPrototypeToInstance(this, UserClass.prototype)\n\n setConstructingTarget(this)\n try {\n if (typeof this.init === \"function\") this.init(...args)\n } finally {\n clearConstructingTarget()\n }\n\n this._finalizeTriggers()\n }\n }\n}\n";
|
|
13
13
|
export declare const getUserApiJS: (_leopardJSURL?: string) => string;
|
|
14
|
-
export declare const SPRITE_FUNCS_JS = "\n// spriteFuncs.js - Free functions that delegate to the current sprite\n// These allow cleaner code: wait(1) instead of this.wait(1)\n// Works both during init() (via constructing target) and at runtime (via context.target)\n\nimport { context } from \"./userApi.js\";\nimport { getConstructingTarget } from \"./helpers.js\";\n\nfunction self() {\n return getConstructingTarget() || context.target;\n}\n\n// Control\nexport function wait(seconds) {\n return self().wait(seconds);\n}\n\nexport function broadcast(message) {\n return self().broadcast(message);\n}\n\nexport function broadcastAndWait(message) {\n return self().broadcastAndWait(message);\n}\n\nexport function createClone() {\n self().createClone();\n}\n\nexport function deleteThisClone() {\n self().deleteThisClone();\n}\n\nexport function stop(option) {\n self().stop(option);\n}\n\nexport function stopAllSounds() {\n self().stopAllSounds();\n}\n\n// Looks\nexport function say(message) {\n self().say(message);\n}\n\nexport function sayAndWait(message, seconds) {\n return self().sayAndWait(message, seconds);\n}\n\nexport function think(message) {\n self().think(message);\n}\n\nexport function thinkAndWait(message, seconds) {\n return self().thinkAndWait(message, seconds);\n}\n\n// Motion\nexport function move(steps) {\n self().move(steps);\n}\n\nexport function goto(x, y) {\n self().goto(x, y);\n}\n\nexport function glide(seconds, x, y) {\n return self().glide(seconds, x, y);\n}\n\nexport function setDirection(direction) {\n self().direction = direction;\n}\n\nexport function changeX(amount) {\n self().x += amount;\n}\n\nexport function setX(x) {\n self().x = x;\n}\n\nexport function changeY(amount) {\n self().y += amount;\n}\n\nexport function setY(y) {\n self().y = y;\n}\n\nexport function ifOnEdgeBounce() {\n self().ifOnEdgeBounce();\n}\n\n// Pen\nexport function stamp() {\n self().stamp();\n}\n\nexport function penDown() {\n self().penDown = true;\n}\n\nexport function penUp() {\n self().penDown = false;\n}\n\nexport function setPenColor(color) {\n self().penColor = color;\n}\n\nexport function setPenSize(size) {\n self().penSize = size;\n}\n\nexport function changePenSize(amount) {\n self().penSize += amount;\n}\n\nexport function clearPen() {\n self().clearPen();\n}\n\n// Sound\nexport function playSoundUntilDone(sound) {\n return self().playSoundUntilDone(sound);\n}\n\nexport function startSound(sound) {\n return self().startSound(sound);\n}\n\n// Sensing\nexport function touching(target) {\n return self().touching(target);\n}\n\nexport function colorTouching(color, target) {\n return self().colorTouching(color, target);\n}\n\nexport function keyPressed(key) {\n return self().keyPressed(key);\n}\n\nexport function isMouseDown() {\n return self().mouse.down;\n}\n\nexport function getMouseX() {\n return self().mouse.x;\n}\n\nexport function getMouseY() {\n return self().mouse.y;\n}\n\nexport function askAndWait(question) {\n return self().askAndWait(question);\n}\n\nexport function getAnswer() {\n return self().answer;\n}\n\nexport function getTimer() {\n return self().timer;\n}\n\nexport function restartTimer() {\n self().restartTimer();\n}\n\n// Visibility\nexport function show() {\n self().visible = true;\n}\n\nexport function hide() {\n self().visible = false;\n}\n\n// Size\nexport function setSize(percent) {\n self().size = percent;\n}\n\nexport function changeSize(amount) {\n self().size += amount;\n}\n\n// Effects\nexport function setEffect(effect, value) {\n self().effects[effect] = value;\n}\n\nexport function changeEffect(effect, amount) {\n self().effects[effect] += amount;\n}\n\nexport function clearEffects() {\n self().effects.clear();\n}\n\n// Costume\nexport function setCostume(costume) {\n self().costume = costume;\n}\n\nexport function nextCostume() {\n self().costumeNumber++;\n}\n\n// Layer\nexport function goToFront() {\n self().moveAhead();\n}\n\nexport function goToBack() {\n self().moveBehind();\n}\n\nexport function goForwardLayers(layers) {\n self().moveAhead(layers);\n}\n\nexport function goBackwardLayers(layers) {\n self().moveBehind(layers);\n}\n\n// Rotation style\nexport function setRotationStyle(style) {\n self().rotationStyle = style;\n}\n\n// Variables / Watchers\nexport function showVar(name, options) {\n self().showVar(name, options);\n}\n\nexport function hideVar(name) {\n self().hideVar(name);\n}\n\n// Event handlers\nexport function whenGreenFlag(method) {\n self().whenGreenFlag(method);\n}\n\nexport function whenKeyPressed(keyOrOptions, method) {\n self().whenKeyPressed(keyOrOptions, method);\n}\n\nexport function whenBroadcast(nameOrOptions, method) {\n self().whenBroadcast(nameOrOptions, method);\n}\n\nexport function whenClicked(method) {\n self().whenClicked(method);\n}\n\nexport function whenTouchStart(method) {\n self().whenTouchStart(method);\n}\n\nexport function whenTouchEnd(method) {\n self().whenTouchEnd(method);\n}\n\nexport function whenTouchMove(method) {\n self().whenTouchMove(method);\n}\n\nexport function whenCloneStart(method) {\n self().whenCloneStart(method);\n}\n\nexport function whenBackdropChanged(method) {\n self().whenBackdropChanged(method);\n}\n\n// Loop helpers\nexport function repeat(times, body) {\n for (var i = 0; i < times; i++) {\n body();\n }\n}\n\nexport function forever(body) {\n while (true) {\n body();\n }\n}\n\nexport function untilLoop(condition, body) {\n while (!condition()) {\n body();\n }\n}\n";
|
|
14
|
+
export declare const SPRITE_FUNCS_JS = "\n// spriteFuncs.js - Free functions that delegate to the current sprite\n// These allow cleaner code: wait(1) instead of this.wait(1)\n// Works both during init() (via constructing target) and at runtime (via context.target)\n\nimport { context } from \"./userApi.js\";\nimport { getConstructingTarget } from \"./helpers.js\";\n\nfunction self() {\n return getConstructingTarget() || context.target;\n}\n\n// Control\nexport function wait(seconds) {\n return self().wait(seconds);\n}\n\nexport function broadcast(message) {\n return self().broadcast(message);\n}\n\nexport function broadcastAndWait(message) {\n return self().broadcastAndWait(message);\n}\n\nexport function createClone() {\n self().createClone();\n}\n\nexport function deleteThisClone() {\n self().deleteThisClone();\n}\n\nexport function stop(option) {\n self().stop(option);\n}\n\nexport function stopAllSounds() {\n self().stopAllSounds();\n}\n\n// Looks\nexport function say(message) {\n self().say(message);\n}\n\nexport function sayAndWait(message, seconds) {\n return self().sayAndWait(message, seconds);\n}\n\nexport function think(message) {\n self().think(message);\n}\n\nexport function thinkAndWait(message, seconds) {\n return self().thinkAndWait(message, seconds);\n}\n\n// Motion\nexport function move(steps) {\n self().move(steps);\n}\n\nexport function goto(x, y) {\n self().goto(x, y);\n}\n\nexport function glide(seconds, x, y) {\n return self().glide(seconds, x, y);\n}\n\nexport function setDirection(direction) {\n self().direction = direction;\n}\n\nexport function changeDirection(amount) {\n self().direction += amount;\n}\n\nexport function pointTowards(target) {\n var s = self();\n var x, y;\n if (typeof target === \"string\" && target === \"mouse\") {\n x = s.mouse.x;\n y = s.mouse.y;\n } else {\n x = target.x;\n y = target.y;\n }\n s.direction = s.radToScratch(Math.atan2(y - s.y, x - s.x));\n}\n\nexport function changeX(amount) {\n self().x += amount;\n}\n\nexport function setX(x) {\n self().x = x;\n}\n\nexport function changeY(amount) {\n self().y += amount;\n}\n\nexport function setY(y) {\n self().y = y;\n}\n\nexport function ifOnEdgeBounce() {\n self().ifOnEdgeBounce();\n}\n\n// Pen\nexport function stamp() {\n self().stamp();\n}\n\nexport function penDown() {\n self().penDown = true;\n}\n\nexport function penUp() {\n self().penDown = false;\n}\n\nexport function setPenColor(color) {\n self().penColor = color;\n}\n\nexport function setPenSize(size) {\n self().penSize = size;\n}\n\nexport function changePenSize(amount) {\n self().penSize += amount;\n}\n\nexport function clearPen() {\n self().clearPen();\n}\n\n// Sound\nexport function playSoundUntilDone(sound) {\n return self().playSoundUntilDone(sound);\n}\n\nexport function startSound(sound) {\n return self().startSound(sound);\n}\n\n// Sensing\nexport function touching(target) {\n return self().touching(target);\n}\n\nexport function colorTouching(color, target) {\n return self().colorTouching(color, target);\n}\n\nexport function keyPressed(key) {\n return self().keyPressed(key);\n}\n\nexport function isMouseDown() {\n return self().mouse.down;\n}\n\nexport function getMouseX() {\n return self().mouse.x;\n}\n\nexport function getMouseY() {\n return self().mouse.y;\n}\n\nexport function askAndWait(question) {\n return self().askAndWait(question);\n}\n\nexport function getAnswer() {\n return self().answer;\n}\n\nexport function getTimer() {\n return self().timer;\n}\n\nexport function restartTimer() {\n self().restartTimer();\n}\n\n// Visibility\nexport function show() {\n self().visible = true;\n}\n\nexport function hide() {\n self().visible = false;\n}\n\n// Size\nexport function setSize(percent) {\n self().size = percent;\n}\n\nexport function changeSize(amount) {\n self().size += amount;\n}\n\n// Effects\nexport function setEffect(effect, value) {\n self().effects[effect] = value;\n}\n\nexport function changeEffect(effect, amount) {\n self().effects[effect] += amount;\n}\n\nexport function clearEffects() {\n self().effects.clear();\n}\n\n// Costume\nexport function setCostume(costume) {\n self().costume = costume;\n}\n\nexport function nextCostume() {\n self().costumeNumber++;\n}\n\n// Layer\nexport function goToFront() {\n self().moveAhead();\n}\n\nexport function goToBack() {\n self().moveBehind();\n}\n\nexport function goForwardLayers(layers) {\n self().moveAhead(layers);\n}\n\nexport function goBackwardLayers(layers) {\n self().moveBehind(layers);\n}\n\n// Rotation style\nexport function setRotationStyle(style) {\n self().rotationStyle = style;\n}\n\n// Variables / Watchers\nexport function showVar(name, options) {\n self().showVar(name, options);\n}\n\nexport function hideVar(name) {\n self().hideVar(name);\n}\n\n// Event handlers\nexport function whenGreenFlag(method) {\n self().whenGreenFlag(method);\n}\n\nexport function whenKeyPressed(keyOrOptions, method) {\n self().whenKeyPressed(keyOrOptions, method);\n}\n\nexport function whenBroadcast(nameOrOptions, method) {\n self().whenBroadcast(nameOrOptions, method);\n}\n\nexport function whenClicked(method) {\n self().whenClicked(method);\n}\n\nexport function whenTouchStart(method) {\n self().whenTouchStart(method);\n}\n\nexport function whenTouchEnd(method) {\n self().whenTouchEnd(method);\n}\n\nexport function whenTouchMove(method) {\n self().whenTouchMove(method);\n}\n\nexport function whenCloneStart(method) {\n self().whenCloneStart(method);\n}\n\nexport function whenBackdropChanged(method) {\n self().whenBackdropChanged(method);\n}\n\n// Sound (additional)\nexport function stopAllOfMySounds() {\n self().stopAllOfMySounds();\n}\n\nexport function getSound(soundName) {\n return self().getSound(soundName);\n}\n\n// Motion (additional getters/setters)\nexport function getX() {\n return self().x;\n}\n\nexport function getY() {\n return self().y;\n}\n\nexport function getDirection() {\n return self().direction;\n}\n\nexport function positionInFence() {\n self().positionInFence();\n}\n\nexport function moveAhead(value) {\n self().moveAhead(value);\n}\n\nexport function moveBehind(value) {\n self().moveBehind(value);\n}\n\n// Looks (additional getters)\nexport function getCostumeNumber() {\n return self().costumeNumber;\n}\n\nexport function setCostumeNumber(number) {\n self().costumeNumber = number;\n}\n\nexport function prevCostume() {\n self().costumeNumber--;\n}\n\nexport function getCostume() {\n return self().costume;\n}\n\nexport function getSize() {\n return self().size;\n}\n\nexport function getVisible() {\n return self().visible;\n}\n\n// Sensing (additional)\nexport function getLoudness() {\n return self().loudness;\n}\n\nexport function nearestEdge() {\n return self().nearestEdge();\n}\n\nexport function getStage() {\n return self().stage;\n}\n\nexport function getSprites() {\n return self().sprites;\n}\n\n// Pen (additional getters)\nexport function getPenDown() {\n return self().penDown;\n}\n\nexport function getPenColor() {\n return self().penColor;\n}\n\nexport function getPenSize() {\n return self().penSize;\n}\n\n// Clone\nexport function andClones() {\n return self().andClones();\n}\n\n// Math utilities\nexport function degToRad(deg) {\n return self().degToRad(deg);\n}\n\nexport function radToDeg(rad) {\n return self().radToDeg(rad);\n}\n\nexport function degToScratch(deg) {\n return self().degToScratch(deg);\n}\n\nexport function scratchToDeg(scratchDir) {\n return self().scratchToDeg(scratchDir);\n}\n\nexport function radToScratch(rad) {\n return self().radToScratch(rad);\n}\n\nexport function scratchToRad(scratchDir) {\n return self().scratchToRad(scratchDir);\n}\n\nexport function scratchTan(angle) {\n return self().scratchTan(angle);\n}\n\nexport function normalizeDeg(deg) {\n return self().normalizeDeg(deg);\n}\n\nexport function wrapClamp(n, min, max) {\n return self().wrapClamp(n, min, max);\n}\n\nexport function random(a, b) {\n return self().random(a, b);\n}\n\n// Type conversion\nexport function toNumber(value) {\n return self().toNumber(value);\n}\n\nexport function toBoolean(value) {\n return self().toBoolean(value);\n}\n\nexport function toStr(value) {\n return self().toString(value);\n}\n\n// String / Array utilities\nexport function stringIncludes(string, substring) {\n return self().stringIncludes(string, substring);\n}\n\nexport function arrayIncludes(array, value) {\n return self().arrayIncludes(array, value);\n}\n\nexport function letterOf(string, index) {\n return self().letterOf(string, index);\n}\n\nexport function itemOf(array, index) {\n return self().itemOf(array, index);\n}\n\nexport function indexInArray(array, value) {\n return self().indexInArray(array, value);\n}\n\nexport function compare(v1, v2) {\n return self().compare(v1, v2);\n}\n\n// Control (additional)\nexport function warp(procedure) {\n return self().warp(procedure);\n}\n\n// Loop helpers\nexport function repeat(times, body) {\n for (var i = 0; i < times; i++) {\n body();\n }\n}\n\nexport function forever(body) {\n while (true) {\n body();\n }\n}\n\nexport function untilLoop(condition, body) {\n while (!condition()) {\n body();\n }\n}\n";
|
|
15
15
|
export declare const getInfrastructureFiles: (options?: InfrastructureOptions) => {
|
|
16
16
|
"userApi.js": string;
|
|
17
17
|
"helpers.js": string;
|
|
@@ -13,7 +13,7 @@ exports.WRAP_SPRITE_CLASS_JS = "\nimport { GameSprite } from \"./GameSprite.js\"
|
|
|
13
13
|
exports.WRAP_STAGE_CLASS_JS = "\nimport { GameStage } from \"./GameStage.js\"\nimport { copyPrototypeToInstance, setConstructingTarget, clearConstructingTarget } from \"./helpers.js\"\n\nexport function wrapStageClass(UserClass) {\n return class WrappedStage extends GameStage {\n constructor(...args) {\n super(...args)\n\n copyPrototypeToInstance(this, UserClass.prototype)\n\n setConstructingTarget(this)\n try {\n if (typeof this.init === \"function\") this.init(...args)\n } finally {\n clearConstructingTarget()\n }\n\n this._finalizeTriggers()\n }\n }\n}\n";
|
|
14
14
|
var getUserApiJS = function (_leopardJSURL) { return "\n// userApi.js - Leopard class re-exports for sprite files\n// In bundled mode, this file is empty - Leopard classes come from window globals.\n// In ES module mode, sprite files import directly from the Leopard library URL.\n"; };
|
|
15
15
|
exports.getUserApiJS = getUserApiJS;
|
|
16
|
-
exports.SPRITE_FUNCS_JS = "\n// spriteFuncs.js - Free functions that delegate to the current sprite\n// These allow cleaner code: wait(1) instead of this.wait(1)\n// Works both during init() (via constructing target) and at runtime (via context.target)\n\nimport { context } from \"./userApi.js\";\nimport { getConstructingTarget } from \"./helpers.js\";\n\nfunction self() {\n return getConstructingTarget() || context.target;\n}\n\n// Control\nexport function wait(seconds) {\n return self().wait(seconds);\n}\n\nexport function broadcast(message) {\n return self().broadcast(message);\n}\n\nexport function broadcastAndWait(message) {\n return self().broadcastAndWait(message);\n}\n\nexport function createClone() {\n self().createClone();\n}\n\nexport function deleteThisClone() {\n self().deleteThisClone();\n}\n\nexport function stop(option) {\n self().stop(option);\n}\n\nexport function stopAllSounds() {\n self().stopAllSounds();\n}\n\n// Looks\nexport function say(message) {\n self().say(message);\n}\n\nexport function sayAndWait(message, seconds) {\n return self().sayAndWait(message, seconds);\n}\n\nexport function think(message) {\n self().think(message);\n}\n\nexport function thinkAndWait(message, seconds) {\n return self().thinkAndWait(message, seconds);\n}\n\n// Motion\nexport function move(steps) {\n self().move(steps);\n}\n\nexport function goto(x, y) {\n self().goto(x, y);\n}\n\nexport function glide(seconds, x, y) {\n return self().glide(seconds, x, y);\n}\n\nexport function setDirection(direction) {\n self().direction = direction;\n}\n\nexport function changeX(amount) {\n self().x += amount;\n}\n\nexport function setX(x) {\n self().x = x;\n}\n\nexport function changeY(amount) {\n self().y += amount;\n}\n\nexport function setY(y) {\n self().y = y;\n}\n\nexport function ifOnEdgeBounce() {\n self().ifOnEdgeBounce();\n}\n\n// Pen\nexport function stamp() {\n self().stamp();\n}\n\nexport function penDown() {\n self().penDown = true;\n}\n\nexport function penUp() {\n self().penDown = false;\n}\n\nexport function setPenColor(color) {\n self().penColor = color;\n}\n\nexport function setPenSize(size) {\n self().penSize = size;\n}\n\nexport function changePenSize(amount) {\n self().penSize += amount;\n}\n\nexport function clearPen() {\n self().clearPen();\n}\n\n// Sound\nexport function playSoundUntilDone(sound) {\n return self().playSoundUntilDone(sound);\n}\n\nexport function startSound(sound) {\n return self().startSound(sound);\n}\n\n// Sensing\nexport function touching(target) {\n return self().touching(target);\n}\n\nexport function colorTouching(color, target) {\n return self().colorTouching(color, target);\n}\n\nexport function keyPressed(key) {\n return self().keyPressed(key);\n}\n\nexport function isMouseDown() {\n return self().mouse.down;\n}\n\nexport function getMouseX() {\n return self().mouse.x;\n}\n\nexport function getMouseY() {\n return self().mouse.y;\n}\n\nexport function askAndWait(question) {\n return self().askAndWait(question);\n}\n\nexport function getAnswer() {\n return self().answer;\n}\n\nexport function getTimer() {\n return self().timer;\n}\n\nexport function restartTimer() {\n self().restartTimer();\n}\n\n// Visibility\nexport function show() {\n self().visible = true;\n}\n\nexport function hide() {\n self().visible = false;\n}\n\n// Size\nexport function setSize(percent) {\n self().size = percent;\n}\n\nexport function changeSize(amount) {\n self().size += amount;\n}\n\n// Effects\nexport function setEffect(effect, value) {\n self().effects[effect] = value;\n}\n\nexport function changeEffect(effect, amount) {\n self().effects[effect] += amount;\n}\n\nexport function clearEffects() {\n self().effects.clear();\n}\n\n// Costume\nexport function setCostume(costume) {\n self().costume = costume;\n}\n\nexport function nextCostume() {\n self().costumeNumber++;\n}\n\n// Layer\nexport function goToFront() {\n self().moveAhead();\n}\n\nexport function goToBack() {\n self().moveBehind();\n}\n\nexport function goForwardLayers(layers) {\n self().moveAhead(layers);\n}\n\nexport function goBackwardLayers(layers) {\n self().moveBehind(layers);\n}\n\n// Rotation style\nexport function setRotationStyle(style) {\n self().rotationStyle = style;\n}\n\n// Variables / Watchers\nexport function showVar(name, options) {\n self().showVar(name, options);\n}\n\nexport function hideVar(name) {\n self().hideVar(name);\n}\n\n// Event handlers\nexport function whenGreenFlag(method) {\n self().whenGreenFlag(method);\n}\n\nexport function whenKeyPressed(keyOrOptions, method) {\n self().whenKeyPressed(keyOrOptions, method);\n}\n\nexport function whenBroadcast(nameOrOptions, method) {\n self().whenBroadcast(nameOrOptions, method);\n}\n\nexport function whenClicked(method) {\n self().whenClicked(method);\n}\n\nexport function whenTouchStart(method) {\n self().whenTouchStart(method);\n}\n\nexport function whenTouchEnd(method) {\n self().whenTouchEnd(method);\n}\n\nexport function whenTouchMove(method) {\n self().whenTouchMove(method);\n}\n\nexport function whenCloneStart(method) {\n self().whenCloneStart(method);\n}\n\nexport function whenBackdropChanged(method) {\n self().whenBackdropChanged(method);\n}\n\n// Loop helpers\nexport function repeat(times, body) {\n for (var i = 0; i < times; i++) {\n body();\n }\n}\n\nexport function forever(body) {\n while (true) {\n body();\n }\n}\n\nexport function untilLoop(condition, body) {\n while (!condition()) {\n body();\n }\n}\n";
|
|
16
|
+
exports.SPRITE_FUNCS_JS = "\n// spriteFuncs.js - Free functions that delegate to the current sprite\n// These allow cleaner code: wait(1) instead of this.wait(1)\n// Works both during init() (via constructing target) and at runtime (via context.target)\n\nimport { context } from \"./userApi.js\";\nimport { getConstructingTarget } from \"./helpers.js\";\n\nfunction self() {\n return getConstructingTarget() || context.target;\n}\n\n// Control\nexport function wait(seconds) {\n return self().wait(seconds);\n}\n\nexport function broadcast(message) {\n return self().broadcast(message);\n}\n\nexport function broadcastAndWait(message) {\n return self().broadcastAndWait(message);\n}\n\nexport function createClone() {\n self().createClone();\n}\n\nexport function deleteThisClone() {\n self().deleteThisClone();\n}\n\nexport function stop(option) {\n self().stop(option);\n}\n\nexport function stopAllSounds() {\n self().stopAllSounds();\n}\n\n// Looks\nexport function say(message) {\n self().say(message);\n}\n\nexport function sayAndWait(message, seconds) {\n return self().sayAndWait(message, seconds);\n}\n\nexport function think(message) {\n self().think(message);\n}\n\nexport function thinkAndWait(message, seconds) {\n return self().thinkAndWait(message, seconds);\n}\n\n// Motion\nexport function move(steps) {\n self().move(steps);\n}\n\nexport function goto(x, y) {\n self().goto(x, y);\n}\n\nexport function glide(seconds, x, y) {\n return self().glide(seconds, x, y);\n}\n\nexport function setDirection(direction) {\n self().direction = direction;\n}\n\nexport function changeDirection(amount) {\n self().direction += amount;\n}\n\nexport function pointTowards(target) {\n var s = self();\n var x, y;\n if (typeof target === \"string\" && target === \"mouse\") {\n x = s.mouse.x;\n y = s.mouse.y;\n } else {\n x = target.x;\n y = target.y;\n }\n s.direction = s.radToScratch(Math.atan2(y - s.y, x - s.x));\n}\n\nexport function changeX(amount) {\n self().x += amount;\n}\n\nexport function setX(x) {\n self().x = x;\n}\n\nexport function changeY(amount) {\n self().y += amount;\n}\n\nexport function setY(y) {\n self().y = y;\n}\n\nexport function ifOnEdgeBounce() {\n self().ifOnEdgeBounce();\n}\n\n// Pen\nexport function stamp() {\n self().stamp();\n}\n\nexport function penDown() {\n self().penDown = true;\n}\n\nexport function penUp() {\n self().penDown = false;\n}\n\nexport function setPenColor(color) {\n self().penColor = color;\n}\n\nexport function setPenSize(size) {\n self().penSize = size;\n}\n\nexport function changePenSize(amount) {\n self().penSize += amount;\n}\n\nexport function clearPen() {\n self().clearPen();\n}\n\n// Sound\nexport function playSoundUntilDone(sound) {\n return self().playSoundUntilDone(sound);\n}\n\nexport function startSound(sound) {\n return self().startSound(sound);\n}\n\n// Sensing\nexport function touching(target) {\n return self().touching(target);\n}\n\nexport function colorTouching(color, target) {\n return self().colorTouching(color, target);\n}\n\nexport function keyPressed(key) {\n return self().keyPressed(key);\n}\n\nexport function isMouseDown() {\n return self().mouse.down;\n}\n\nexport function getMouseX() {\n return self().mouse.x;\n}\n\nexport function getMouseY() {\n return self().mouse.y;\n}\n\nexport function askAndWait(question) {\n return self().askAndWait(question);\n}\n\nexport function getAnswer() {\n return self().answer;\n}\n\nexport function getTimer() {\n return self().timer;\n}\n\nexport function restartTimer() {\n self().restartTimer();\n}\n\n// Visibility\nexport function show() {\n self().visible = true;\n}\n\nexport function hide() {\n self().visible = false;\n}\n\n// Size\nexport function setSize(percent) {\n self().size = percent;\n}\n\nexport function changeSize(amount) {\n self().size += amount;\n}\n\n// Effects\nexport function setEffect(effect, value) {\n self().effects[effect] = value;\n}\n\nexport function changeEffect(effect, amount) {\n self().effects[effect] += amount;\n}\n\nexport function clearEffects() {\n self().effects.clear();\n}\n\n// Costume\nexport function setCostume(costume) {\n self().costume = costume;\n}\n\nexport function nextCostume() {\n self().costumeNumber++;\n}\n\n// Layer\nexport function goToFront() {\n self().moveAhead();\n}\n\nexport function goToBack() {\n self().moveBehind();\n}\n\nexport function goForwardLayers(layers) {\n self().moveAhead(layers);\n}\n\nexport function goBackwardLayers(layers) {\n self().moveBehind(layers);\n}\n\n// Rotation style\nexport function setRotationStyle(style) {\n self().rotationStyle = style;\n}\n\n// Variables / Watchers\nexport function showVar(name, options) {\n self().showVar(name, options);\n}\n\nexport function hideVar(name) {\n self().hideVar(name);\n}\n\n// Event handlers\nexport function whenGreenFlag(method) {\n self().whenGreenFlag(method);\n}\n\nexport function whenKeyPressed(keyOrOptions, method) {\n self().whenKeyPressed(keyOrOptions, method);\n}\n\nexport function whenBroadcast(nameOrOptions, method) {\n self().whenBroadcast(nameOrOptions, method);\n}\n\nexport function whenClicked(method) {\n self().whenClicked(method);\n}\n\nexport function whenTouchStart(method) {\n self().whenTouchStart(method);\n}\n\nexport function whenTouchEnd(method) {\n self().whenTouchEnd(method);\n}\n\nexport function whenTouchMove(method) {\n self().whenTouchMove(method);\n}\n\nexport function whenCloneStart(method) {\n self().whenCloneStart(method);\n}\n\nexport function whenBackdropChanged(method) {\n self().whenBackdropChanged(method);\n}\n\n// Sound (additional)\nexport function stopAllOfMySounds() {\n self().stopAllOfMySounds();\n}\n\nexport function getSound(soundName) {\n return self().getSound(soundName);\n}\n\n// Motion (additional getters/setters)\nexport function getX() {\n return self().x;\n}\n\nexport function getY() {\n return self().y;\n}\n\nexport function getDirection() {\n return self().direction;\n}\n\nexport function positionInFence() {\n self().positionInFence();\n}\n\nexport function moveAhead(value) {\n self().moveAhead(value);\n}\n\nexport function moveBehind(value) {\n self().moveBehind(value);\n}\n\n// Looks (additional getters)\nexport function getCostumeNumber() {\n return self().costumeNumber;\n}\n\nexport function setCostumeNumber(number) {\n self().costumeNumber = number;\n}\n\nexport function prevCostume() {\n self().costumeNumber--;\n}\n\nexport function getCostume() {\n return self().costume;\n}\n\nexport function getSize() {\n return self().size;\n}\n\nexport function getVisible() {\n return self().visible;\n}\n\n// Sensing (additional)\nexport function getLoudness() {\n return self().loudness;\n}\n\nexport function nearestEdge() {\n return self().nearestEdge();\n}\n\nexport function getStage() {\n return self().stage;\n}\n\nexport function getSprites() {\n return self().sprites;\n}\n\n// Pen (additional getters)\nexport function getPenDown() {\n return self().penDown;\n}\n\nexport function getPenColor() {\n return self().penColor;\n}\n\nexport function getPenSize() {\n return self().penSize;\n}\n\n// Clone\nexport function andClones() {\n return self().andClones();\n}\n\n// Math utilities\nexport function degToRad(deg) {\n return self().degToRad(deg);\n}\n\nexport function radToDeg(rad) {\n return self().radToDeg(rad);\n}\n\nexport function degToScratch(deg) {\n return self().degToScratch(deg);\n}\n\nexport function scratchToDeg(scratchDir) {\n return self().scratchToDeg(scratchDir);\n}\n\nexport function radToScratch(rad) {\n return self().radToScratch(rad);\n}\n\nexport function scratchToRad(scratchDir) {\n return self().scratchToRad(scratchDir);\n}\n\nexport function scratchTan(angle) {\n return self().scratchTan(angle);\n}\n\nexport function normalizeDeg(deg) {\n return self().normalizeDeg(deg);\n}\n\nexport function wrapClamp(n, min, max) {\n return self().wrapClamp(n, min, max);\n}\n\nexport function random(a, b) {\n return self().random(a, b);\n}\n\n// Type conversion\nexport function toNumber(value) {\n return self().toNumber(value);\n}\n\nexport function toBoolean(value) {\n return self().toBoolean(value);\n}\n\nexport function toStr(value) {\n return self().toString(value);\n}\n\n// String / Array utilities\nexport function stringIncludes(string, substring) {\n return self().stringIncludes(string, substring);\n}\n\nexport function arrayIncludes(array, value) {\n return self().arrayIncludes(array, value);\n}\n\nexport function letterOf(string, index) {\n return self().letterOf(string, index);\n}\n\nexport function itemOf(array, index) {\n return self().itemOf(array, index);\n}\n\nexport function indexInArray(array, value) {\n return self().indexInArray(array, value);\n}\n\nexport function compare(v1, v2) {\n return self().compare(v1, v2);\n}\n\n// Control (additional)\nexport function warp(procedure) {\n return self().warp(procedure);\n}\n\n// Loop helpers\nexport function repeat(times, body) {\n for (var i = 0; i < times; i++) {\n body();\n }\n}\n\nexport function forever(body) {\n while (true) {\n body();\n }\n}\n\nexport function untilLoop(condition, body) {\n while (!condition()) {\n body();\n }\n}\n";
|
|
17
17
|
var getInfrastructureFiles = function (options) {
|
|
18
18
|
if (options === void 0) { options = {}; }
|
|
19
19
|
return ({
|
|
@@ -27,4 +27,4 @@ var getInfrastructureFiles = function (options) {
|
|
|
27
27
|
});
|
|
28
28
|
};
|
|
29
29
|
exports.getInfrastructureFiles = getInfrastructureFiles;
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mcmFzdHJ1Y3R1cmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW8vbGVvcGFyZC9pbmZyYXN0cnVjdHVyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7OztHQUdHOzs7QUFNSCxJQUFNLHNCQUFzQixHQUFHLGtGQUFrRixDQUFDO0FBRXJHLFFBQUEsVUFBVSxHQUFHLHFzQkF3QnpCLENBQUM7QUFFVyxRQUFBLGNBQWMsR0FBRyxndUdBMEY3QixDQUFDO0FBRVcsUUFBQSxhQUFhLEdBQUcsdTlFQXlGNUIsQ0FBQztBQUVXLFFBQUEsb0JBQW9CLEdBQUcsNDhCQWlDbkMsQ0FBQztBQUVXLFFBQUEsbUJBQW1CLEdBQUcsK2tCQXNCbEMsQ0FBQztBQUVLLElBQU0sWUFBWSxHQUFHLFVBQUMsYUFBc0IsSUFBSyxPQUFBLHFPQUl2RCxFQUp1RCxDQUl2RCxDQUFDO0FBSlcsUUFBQSxZQUFZLGdCQUl2QjtBQUVXLFFBQUEsZUFBZSxHQUFHLDBoU0ErZTlCLENBQUM7QUFFSyxJQUFNLHNCQUFzQixHQUFHLFVBQUMsT0FBbUM7SUFBbkMsd0JBQUEsRUFBQSxZQUFtQztJQUFLLE9BQUEsQ0FBQztRQUM5RSxZQUFZLEVBQUUsSUFBQSxvQkFBWSxFQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUM7UUFDaEQsWUFBWSxFQUFFLGtCQUFVO1FBQ3hCLGdCQUFnQixFQUFFLHVCQUFlO1FBQ2pDLGVBQWUsRUFBRSxzQkFBYztRQUMvQixjQUFjLEVBQUUscUJBQWE7UUFDN0Isb0JBQW9CLEVBQUUsNEJBQW9CO1FBQzFDLG1CQUFtQixFQUFFLDJCQUFtQjtLQUN6QyxDQUFDO0FBUjZFLENBUTdFLENBQUM7QUFSVSxRQUFBLHNCQUFzQiwwQkFRaEMifQ==
|
|
@@ -609,7 +609,7 @@ function toLeopard(project, inOptions, prettierConfig) {
|
|
|
609
609
|
return n;
|
|
610
610
|
}
|
|
611
611
|
function spriteInputToJS(input) {
|
|
612
|
-
return "
|
|
612
|
+
return "getSprites()[".concat(JSON.stringify(targetNameMap[input.value]), "]");
|
|
613
613
|
}
|
|
614
614
|
function colorInputToJS(input) {
|
|
615
615
|
if (input.type === "color") {
|
|
@@ -669,11 +669,11 @@ function toLeopard(project, inOptions, prettierConfig) {
|
|
|
669
669
|
selectedWatcherSource = "this.watchers.".concat(newName);
|
|
670
670
|
}
|
|
671
671
|
else {
|
|
672
|
-
selectedVarSource = "
|
|
673
|
-
selectedWatcherSource = "
|
|
672
|
+
selectedVarSource = "getStage().vars.".concat(newName);
|
|
673
|
+
selectedWatcherSource = "getStage().watchers.".concat(newName);
|
|
674
674
|
}
|
|
675
675
|
}
|
|
676
|
-
var stage =
|
|
676
|
+
var stage = target.isStage ? "this" : "getStage()";
|
|
677
677
|
var satisfiesInputShape;
|
|
678
678
|
var blockSource;
|
|
679
679
|
makeBlockSource: switch (block.opcode) {
|
|
@@ -685,12 +685,14 @@ function toLeopard(project, inOptions, prettierConfig) {
|
|
|
685
685
|
}
|
|
686
686
|
case OpCode_1.OpCode.motion_turnright: {
|
|
687
687
|
satisfiesInputShape = InputShape.Stack;
|
|
688
|
-
|
|
688
|
+
var degrees = inputToJS(block.inputs.DEGREES, InputShape.Number);
|
|
689
|
+
blockSource = "changeDirection(".concat(degrees, ")");
|
|
689
690
|
break;
|
|
690
691
|
}
|
|
691
692
|
case OpCode_1.OpCode.motion_turnleft: {
|
|
692
693
|
satisfiesInputShape = InputShape.Stack;
|
|
693
|
-
|
|
694
|
+
var degrees = inputToJS(block.inputs.DEGREES, InputShape.Number);
|
|
695
|
+
blockSource = "changeDirection(-".concat(degrees, ")");
|
|
694
696
|
break;
|
|
695
697
|
}
|
|
696
698
|
case OpCode_1.OpCode.motion_goto: {
|
|
@@ -699,8 +701,8 @@ function toLeopard(project, inOptions, prettierConfig) {
|
|
|
699
701
|
var y = void 0;
|
|
700
702
|
switch (block.inputs.TO.value) {
|
|
701
703
|
case "_random_": {
|
|
702
|
-
x = "
|
|
703
|
-
y = "
|
|
704
|
+
x = "random(-240, 240)";
|
|
705
|
+
y = "random(-180, 180)";
|
|
704
706
|
break;
|
|
705
707
|
}
|
|
706
708
|
case "_mouse_": {
|
|
@@ -732,8 +734,8 @@ function toLeopard(project, inOptions, prettierConfig) {
|
|
|
732
734
|
var y = void 0;
|
|
733
735
|
switch (block.inputs.TO.value) {
|
|
734
736
|
case "_random_": {
|
|
735
|
-
x = "
|
|
736
|
-
y = "
|
|
737
|
+
x = "random(-240, 240)";
|
|
738
|
+
y = "random(-180, 180)";
|
|
737
739
|
break;
|
|
738
740
|
}
|
|
739
741
|
case "_mouse_": {
|
|
@@ -767,22 +769,17 @@ function toLeopard(project, inOptions, prettierConfig) {
|
|
|
767
769
|
}
|
|
768
770
|
case OpCode_1.OpCode.motion_pointtowards: {
|
|
769
771
|
satisfiesInputShape = InputShape.Stack;
|
|
770
|
-
var x = void 0;
|
|
771
|
-
var y = void 0;
|
|
772
772
|
switch (block.inputs.TOWARDS.value) {
|
|
773
773
|
case "_mouse_": {
|
|
774
|
-
|
|
775
|
-
y = "getMouseY()";
|
|
774
|
+
blockSource = "pointTowards(\"mouse\")";
|
|
776
775
|
break;
|
|
777
776
|
}
|
|
778
777
|
default: {
|
|
779
778
|
var sprite = spriteInputToJS(block.inputs.TOWARDS);
|
|
780
|
-
|
|
781
|
-
y = "".concat(sprite, ".y");
|
|
779
|
+
blockSource = "pointTowards(".concat(sprite, ")");
|
|
782
780
|
break;
|
|
783
781
|
}
|
|
784
782
|
}
|
|
785
|
-
blockSource = "setDirection(this.radToScratch(Math.atan2(".concat(y, " - this.y, ").concat(x, " - this.x)))");
|
|
786
783
|
break;
|
|
787
784
|
}
|
|
788
785
|
case OpCode_1.OpCode.motion_changexby: {
|
|
@@ -836,17 +833,17 @@ function toLeopard(project, inOptions, prettierConfig) {
|
|
|
836
833
|
}
|
|
837
834
|
case OpCode_1.OpCode.motion_xposition: {
|
|
838
835
|
satisfiesInputShape = InputShape.Number;
|
|
839
|
-
blockSource = "
|
|
836
|
+
blockSource = "getX()";
|
|
840
837
|
break;
|
|
841
838
|
}
|
|
842
839
|
case OpCode_1.OpCode.motion_yposition: {
|
|
843
840
|
satisfiesInputShape = InputShape.Number;
|
|
844
|
-
blockSource = "
|
|
841
|
+
blockSource = "getY()";
|
|
845
842
|
break;
|
|
846
843
|
}
|
|
847
844
|
case OpCode_1.OpCode.motion_direction: {
|
|
848
845
|
satisfiesInputShape = InputShape.Number;
|
|
849
|
-
blockSource = "
|
|
846
|
+
blockSource = "getDirection()";
|
|
850
847
|
break;
|
|
851
848
|
}
|
|
852
849
|
// Obsolete no-op blocks:
|
|
@@ -903,12 +900,22 @@ function toLeopard(project, inOptions, prettierConfig) {
|
|
|
903
900
|
case OpCode_1.OpCode.looks_switchbackdropto: {
|
|
904
901
|
satisfiesInputShape = InputShape.Stack;
|
|
905
902
|
var backdrop = inputToJS(block.inputs.BACKDROP, InputShape.Any);
|
|
906
|
-
|
|
903
|
+
if (target.isStage) {
|
|
904
|
+
blockSource = "setCostume(".concat(backdrop, ")");
|
|
905
|
+
}
|
|
906
|
+
else {
|
|
907
|
+
blockSource = "getStage().costume = ".concat(backdrop);
|
|
908
|
+
}
|
|
907
909
|
break;
|
|
908
910
|
}
|
|
909
911
|
case OpCode_1.OpCode.looks_nextbackdrop: {
|
|
910
912
|
satisfiesInputShape = InputShape.Stack;
|
|
911
|
-
|
|
913
|
+
if (target.isStage) {
|
|
914
|
+
blockSource = "nextCostume()";
|
|
915
|
+
}
|
|
916
|
+
else {
|
|
917
|
+
blockSource = "getStage().costumeNumber++";
|
|
918
|
+
}
|
|
912
919
|
break;
|
|
913
920
|
}
|
|
914
921
|
case OpCode_1.OpCode.looks_changesizeby: {
|
|
@@ -995,13 +1002,13 @@ function toLeopard(project, inOptions, prettierConfig) {
|
|
|
995
1002
|
switch (block.inputs.NUMBER_NAME.value) {
|
|
996
1003
|
case "name": {
|
|
997
1004
|
satisfiesInputShape = InputShape.String;
|
|
998
|
-
blockSource = "
|
|
1005
|
+
blockSource = "getCostume().name";
|
|
999
1006
|
break;
|
|
1000
1007
|
}
|
|
1001
1008
|
case "number":
|
|
1002
1009
|
default: {
|
|
1003
1010
|
satisfiesInputShape = InputShape.Number;
|
|
1004
|
-
blockSource = "
|
|
1011
|
+
blockSource = "getCostumeNumber()";
|
|
1005
1012
|
break;
|
|
1006
1013
|
}
|
|
1007
1014
|
}
|
|
@@ -1011,13 +1018,23 @@ function toLeopard(project, inOptions, prettierConfig) {
|
|
|
1011
1018
|
switch (block.inputs.NUMBER_NAME.value) {
|
|
1012
1019
|
case "name": {
|
|
1013
1020
|
satisfiesInputShape = InputShape.String;
|
|
1014
|
-
|
|
1021
|
+
if (target.isStage) {
|
|
1022
|
+
blockSource = "getCostume().name";
|
|
1023
|
+
}
|
|
1024
|
+
else {
|
|
1025
|
+
blockSource = "".concat(stage, ".costume.name");
|
|
1026
|
+
}
|
|
1015
1027
|
break;
|
|
1016
1028
|
}
|
|
1017
1029
|
case "number":
|
|
1018
1030
|
default: {
|
|
1019
1031
|
satisfiesInputShape = InputShape.Number;
|
|
1020
|
-
|
|
1032
|
+
if (target.isStage) {
|
|
1033
|
+
blockSource = "getCostumeNumber()";
|
|
1034
|
+
}
|
|
1035
|
+
else {
|
|
1036
|
+
blockSource = "".concat(stage, ".costumeNumber");
|
|
1037
|
+
}
|
|
1021
1038
|
break;
|
|
1022
1039
|
}
|
|
1023
1040
|
}
|
|
@@ -1025,7 +1042,7 @@ function toLeopard(project, inOptions, prettierConfig) {
|
|
|
1025
1042
|
}
|
|
1026
1043
|
case OpCode_1.OpCode.looks_size: {
|
|
1027
1044
|
satisfiesInputShape = InputShape.Number;
|
|
1028
|
-
blockSource = "
|
|
1045
|
+
blockSource = "getSize()";
|
|
1029
1046
|
break;
|
|
1030
1047
|
}
|
|
1031
1048
|
case OpCode_1.OpCode.sound_playuntildone: {
|
|
@@ -1279,7 +1296,7 @@ function toLeopard(project, inOptions, prettierConfig) {
|
|
|
1279
1296
|
break;
|
|
1280
1297
|
}
|
|
1281
1298
|
}
|
|
1282
|
-
blockSource = "Math.hypot(".concat(x, " -
|
|
1299
|
+
blockSource = "Math.hypot(".concat(x, " - getX(), ").concat(y, " - getY())");
|
|
1283
1300
|
break;
|
|
1284
1301
|
}
|
|
1285
1302
|
case OpCode_1.OpCode.sensing_askandwait: {
|
|
@@ -1316,7 +1333,7 @@ function toLeopard(project, inOptions, prettierConfig) {
|
|
|
1316
1333
|
}
|
|
1317
1334
|
case OpCode_1.OpCode.sensing_loudness: {
|
|
1318
1335
|
satisfiesInputShape = InputShape.Number;
|
|
1319
|
-
blockSource = "
|
|
1336
|
+
blockSource = "getLoudness()";
|
|
1320
1337
|
break;
|
|
1321
1338
|
}
|
|
1322
1339
|
case OpCode_1.OpCode.sensing_timer: {
|
|
@@ -1395,7 +1412,7 @@ function toLeopard(project, inOptions, prettierConfig) {
|
|
|
1395
1412
|
}
|
|
1396
1413
|
var targetObj = void 0;
|
|
1397
1414
|
if (block.inputs.OBJECT.value === "_stage_") {
|
|
1398
|
-
targetObj = "
|
|
1415
|
+
targetObj = "getStage()";
|
|
1399
1416
|
}
|
|
1400
1417
|
else {
|
|
1401
1418
|
targetObj = spriteInputToJS(block.inputs.OBJECT);
|
|
@@ -1524,21 +1541,21 @@ function toLeopard(project, inOptions, prettierConfig) {
|
|
|
1524
1541
|
satisfiesInputShape = InputShape.Number;
|
|
1525
1542
|
var from = inputToJS(block.inputs.FROM, InputShape.Number);
|
|
1526
1543
|
var to = inputToJS(block.inputs.TO, InputShape.Number);
|
|
1527
|
-
blockSource = "
|
|
1544
|
+
blockSource = "random(".concat(from, ", ").concat(to, ")");
|
|
1528
1545
|
break;
|
|
1529
1546
|
}
|
|
1530
1547
|
case OpCode_1.OpCode.operator_gt: {
|
|
1531
1548
|
satisfiesInputShape = InputShape.Boolean;
|
|
1532
1549
|
var operand1 = inputToJS(block.inputs.OPERAND1, InputShape.Any);
|
|
1533
1550
|
var operand2 = inputToJS(block.inputs.OPERAND2, InputShape.Any);
|
|
1534
|
-
blockSource = "
|
|
1551
|
+
blockSource = "compare(".concat(operand1, ", ").concat(operand2, ") > 0");
|
|
1535
1552
|
break;
|
|
1536
1553
|
}
|
|
1537
1554
|
case OpCode_1.OpCode.operator_lt: {
|
|
1538
1555
|
satisfiesInputShape = InputShape.Boolean;
|
|
1539
1556
|
var operand1 = inputToJS(block.inputs.OPERAND1, InputShape.Any);
|
|
1540
1557
|
var operand2 = inputToJS(block.inputs.OPERAND2, InputShape.Any);
|
|
1541
|
-
blockSource = "
|
|
1558
|
+
blockSource = "compare(".concat(operand1, ", ").concat(operand2, ") < 0");
|
|
1542
1559
|
break;
|
|
1543
1560
|
}
|
|
1544
1561
|
case OpCode_1.OpCode.operator_equals: {
|
|
@@ -1553,7 +1570,7 @@ function toLeopard(project, inOptions, prettierConfig) {
|
|
|
1553
1570
|
block.inputs.OPERAND2.type === "block") {
|
|
1554
1571
|
var operand1_1 = inputToJS(block.inputs.OPERAND1, InputShape.Any);
|
|
1555
1572
|
var operand2_1 = inputToJS(block.inputs.OPERAND2, InputShape.Any);
|
|
1556
|
-
blockSource = "
|
|
1573
|
+
blockSource = "compare(".concat(operand1_1, ", ").concat(operand2_1, ") === 0");
|
|
1557
1574
|
break;
|
|
1558
1575
|
}
|
|
1559
1576
|
// From this point on, either the left- or right-hand side is definitely a
|
|
@@ -1609,7 +1626,7 @@ function toLeopard(project, inOptions, prettierConfig) {
|
|
|
1609
1626
|
satisfiesInputShape = InputShape.String;
|
|
1610
1627
|
var string = inputToJS(block.inputs.STRING, InputShape.Any);
|
|
1611
1628
|
var letter = inputToJS(block.inputs.LETTER, InputShape.Index);
|
|
1612
|
-
blockSource = "
|
|
1629
|
+
blockSource = "letterOf(".concat(string, ", ").concat(letter, ")");
|
|
1613
1630
|
break;
|
|
1614
1631
|
}
|
|
1615
1632
|
case OpCode_1.OpCode.operator_length: {
|
|
@@ -1622,7 +1639,7 @@ function toLeopard(project, inOptions, prettierConfig) {
|
|
|
1622
1639
|
satisfiesInputShape = InputShape.Boolean;
|
|
1623
1640
|
var string1 = inputToJS(block.inputs.STRING1, InputShape.String);
|
|
1624
1641
|
var string2 = inputToJS(block.inputs.STRING2, InputShape.String);
|
|
1625
|
-
blockSource = "
|
|
1642
|
+
blockSource = "stringIncludes(".concat(string1, ", ").concat(string2, ")");
|
|
1626
1643
|
break;
|
|
1627
1644
|
}
|
|
1628
1645
|
case OpCode_1.OpCode.operator_mod: {
|
|
@@ -1660,27 +1677,27 @@ function toLeopard(project, inOptions, prettierConfig) {
|
|
|
1660
1677
|
break;
|
|
1661
1678
|
}
|
|
1662
1679
|
case "sin": {
|
|
1663
|
-
blockSource = "Math.sin(
|
|
1680
|
+
blockSource = "Math.sin(degToRad(".concat(num, "))");
|
|
1664
1681
|
break;
|
|
1665
1682
|
}
|
|
1666
1683
|
case "cos": {
|
|
1667
|
-
blockSource = "Math.cos(
|
|
1684
|
+
blockSource = "Math.cos(degToRad(".concat(num, "))");
|
|
1668
1685
|
break;
|
|
1669
1686
|
}
|
|
1670
1687
|
case "tan": {
|
|
1671
|
-
blockSource = "
|
|
1688
|
+
blockSource = "scratchTan(".concat(num, ")");
|
|
1672
1689
|
break;
|
|
1673
1690
|
}
|
|
1674
1691
|
case "asin": {
|
|
1675
|
-
blockSource = "
|
|
1692
|
+
blockSource = "radToDeg(Math.asin(".concat(num, "))");
|
|
1676
1693
|
break;
|
|
1677
1694
|
}
|
|
1678
1695
|
case "acos": {
|
|
1679
|
-
blockSource = "
|
|
1696
|
+
blockSource = "radToDeg(Math.acos(".concat(num, "))");
|
|
1680
1697
|
break;
|
|
1681
1698
|
}
|
|
1682
1699
|
case "atan": {
|
|
1683
|
-
blockSource = "
|
|
1700
|
+
blockSource = "radToDeg(Math.atan(".concat(num, "))");
|
|
1684
1701
|
break;
|
|
1685
1702
|
}
|
|
1686
1703
|
case "ln": {
|
|
@@ -1725,7 +1742,7 @@ function toLeopard(project, inOptions, prettierConfig) {
|
|
|
1725
1742
|
var isOwnVar = (target === project.stage || !stageVariables.has(varInputId));
|
|
1726
1743
|
blockSource = isOwnVar
|
|
1727
1744
|
? "showVar(".concat(JSON.stringify(varName), ")")
|
|
1728
|
-
: "
|
|
1745
|
+
: "getStage().showVar(".concat(JSON.stringify(varName), ")");
|
|
1729
1746
|
break;
|
|
1730
1747
|
}
|
|
1731
1748
|
case OpCode_1.OpCode.data_hidevariable: {
|
|
@@ -1734,7 +1751,7 @@ function toLeopard(project, inOptions, prettierConfig) {
|
|
|
1734
1751
|
var isOwnVar = (target === project.stage || !stageVariables.has(varInputId));
|
|
1735
1752
|
blockSource = isOwnVar
|
|
1736
1753
|
? "hideVar(".concat(JSON.stringify(varName), ")")
|
|
1737
|
-
: "
|
|
1754
|
+
: "getStage().hideVar(".concat(JSON.stringify(varName), ")");
|
|
1738
1755
|
break;
|
|
1739
1756
|
}
|
|
1740
1757
|
case OpCode_1.OpCode.data_listcontents: {
|
|
@@ -1791,12 +1808,12 @@ function toLeopard(project, inOptions, prettierConfig) {
|
|
|
1791
1808
|
satisfiesInputShape = InputShape.Any;
|
|
1792
1809
|
switch (block.inputs.INDEX.value) {
|
|
1793
1810
|
case "last": {
|
|
1794
|
-
blockSource = "
|
|
1811
|
+
blockSource = "itemOf(".concat(selectedVarSource, ", ").concat(selectedVarSource, ".length - 1)");
|
|
1795
1812
|
break;
|
|
1796
1813
|
}
|
|
1797
1814
|
default: {
|
|
1798
1815
|
var index = inputToJS(block.inputs.INDEX, InputShape.Index);
|
|
1799
|
-
blockSource = "
|
|
1816
|
+
blockSource = "itemOf(".concat(selectedVarSource, ", ").concat(index, ")");
|
|
1800
1817
|
break;
|
|
1801
1818
|
}
|
|
1802
1819
|
}
|
|
@@ -1806,11 +1823,11 @@ function toLeopard(project, inOptions, prettierConfig) {
|
|
|
1806
1823
|
var item = inputToJS(block.inputs.ITEM, InputShape.Any);
|
|
1807
1824
|
if (desiredInputShape === InputShape.Index) {
|
|
1808
1825
|
satisfiesInputShape = InputShape.Index;
|
|
1809
|
-
blockSource = "
|
|
1826
|
+
blockSource = "indexInArray(".concat(selectedVarSource, ", ").concat(item, ")");
|
|
1810
1827
|
}
|
|
1811
1828
|
else {
|
|
1812
1829
|
satisfiesInputShape = InputShape.Number;
|
|
1813
|
-
blockSource = "
|
|
1830
|
+
blockSource = "indexInArray(".concat(selectedVarSource, ", ").concat(item, ") + 1");
|
|
1814
1831
|
}
|
|
1815
1832
|
break;
|
|
1816
1833
|
}
|
|
@@ -1822,7 +1839,7 @@ function toLeopard(project, inOptions, prettierConfig) {
|
|
|
1822
1839
|
case OpCode_1.OpCode.data_listcontainsitem: {
|
|
1823
1840
|
satisfiesInputShape = InputShape.Boolean;
|
|
1824
1841
|
var item = inputToJS(block.inputs.ITEM, InputShape.Any);
|
|
1825
|
-
blockSource = "
|
|
1842
|
+
blockSource = "arrayIncludes(".concat(selectedVarSource, ", ").concat(item, ")");
|
|
1826
1843
|
break;
|
|
1827
1844
|
}
|
|
1828
1845
|
case OpCode_1.OpCode.data_showlist: {
|
|
@@ -1831,7 +1848,7 @@ function toLeopard(project, inOptions, prettierConfig) {
|
|
|
1831
1848
|
var isOwnVar = (target === project.stage || !stageVariables.has(varInputId));
|
|
1832
1849
|
blockSource = isOwnVar
|
|
1833
1850
|
? "showVar(".concat(JSON.stringify(varName), ")")
|
|
1834
|
-
: "
|
|
1851
|
+
: "getStage().showVar(".concat(JSON.stringify(varName), ")");
|
|
1835
1852
|
break;
|
|
1836
1853
|
}
|
|
1837
1854
|
case OpCode_1.OpCode.data_hidelist: {
|
|
@@ -1840,7 +1857,7 @@ function toLeopard(project, inOptions, prettierConfig) {
|
|
|
1840
1857
|
var isOwnVar = (target === project.stage || !stageVariables.has(varInputId));
|
|
1841
1858
|
blockSource = isOwnVar
|
|
1842
1859
|
? "hideVar(".concat(JSON.stringify(varName), ")")
|
|
1843
|
-
: "
|
|
1860
|
+
: "getStage().hideVar(".concat(JSON.stringify(varName), ")");
|
|
1844
1861
|
break;
|
|
1845
1862
|
}
|
|
1846
1863
|
case OpCode_1.OpCode.procedures_call: {
|
|
@@ -1857,7 +1874,7 @@ function toLeopard(project, inOptions, prettierConfig) {
|
|
|
1857
1874
|
var procArgs = block.inputs.INPUTS.value.map(function (input) { return inputToJS(input, InputShape.Any); }).join(", ");
|
|
1858
1875
|
// Warp-mode procedures execute all child procedures in warp mode as well
|
|
1859
1876
|
if (warp) {
|
|
1860
|
-
blockSource = "
|
|
1877
|
+
blockSource = "warp(this.".concat(procName, ")(").concat(procArgs, ")");
|
|
1861
1878
|
}
|
|
1862
1879
|
else {
|
|
1863
1880
|
blockSource = "this.".concat(procName, "(").concat(procArgs, ")");
|
|
@@ -1919,20 +1936,20 @@ function toLeopard(project, inOptions, prettierConfig) {
|
|
|
1919
1936
|
satisfiesInputShape = InputShape.Stack;
|
|
1920
1937
|
switch (block.inputs.COLOR_PARAM.value) {
|
|
1921
1938
|
case "color": {
|
|
1922
|
-
blockSource = increase("
|
|
1939
|
+
blockSource = increase("getPenColor().h", block.inputs.VALUE, false);
|
|
1923
1940
|
break;
|
|
1924
1941
|
}
|
|
1925
1942
|
case "saturation": {
|
|
1926
|
-
blockSource = increase("
|
|
1943
|
+
blockSource = increase("getPenColor().s", block.inputs.VALUE, false);
|
|
1927
1944
|
break;
|
|
1928
1945
|
}
|
|
1929
1946
|
case "brightness": {
|
|
1930
|
-
blockSource = increase("
|
|
1947
|
+
blockSource = increase("getPenColor().v", block.inputs.VALUE, false);
|
|
1931
1948
|
break;
|
|
1932
1949
|
}
|
|
1933
1950
|
case "transparency": {
|
|
1934
1951
|
var value = inputToJS(block.inputs.VALUE, InputShape.Number);
|
|
1935
|
-
blockSource = "
|
|
1952
|
+
blockSource = "getPenColor().a -= ".concat(value, " / 100");
|
|
1936
1953
|
break;
|
|
1937
1954
|
}
|
|
1938
1955
|
}
|
|
@@ -1943,19 +1960,19 @@ function toLeopard(project, inOptions, prettierConfig) {
|
|
|
1943
1960
|
var value = inputToJS(block.inputs.VALUE, InputShape.Number);
|
|
1944
1961
|
switch (block.inputs.COLOR_PARAM.value) {
|
|
1945
1962
|
case "color": {
|
|
1946
|
-
blockSource = "
|
|
1963
|
+
blockSource = "getPenColor().h = ".concat(value);
|
|
1947
1964
|
break;
|
|
1948
1965
|
}
|
|
1949
1966
|
case "saturation": {
|
|
1950
|
-
blockSource = "
|
|
1967
|
+
blockSource = "getPenColor().s = ".concat(value);
|
|
1951
1968
|
break;
|
|
1952
1969
|
}
|
|
1953
1970
|
case "brightness": {
|
|
1954
|
-
blockSource = "
|
|
1971
|
+
blockSource = "getPenColor().v = ".concat(value);
|
|
1955
1972
|
break;
|
|
1956
1973
|
}
|
|
1957
1974
|
case "transparency": {
|
|
1958
|
-
blockSource = "
|
|
1975
|
+
blockSource = "getPenColor().a = 1 - (".concat(value, " / 100)");
|
|
1959
1976
|
break;
|
|
1960
1977
|
}
|
|
1961
1978
|
}
|
|
@@ -1984,16 +2001,16 @@ function toLeopard(project, inOptions, prettierConfig) {
|
|
|
1984
2001
|
return blockSource;
|
|
1985
2002
|
}
|
|
1986
2003
|
case InputShape.Number: {
|
|
1987
|
-
return "
|
|
2004
|
+
return "toNumber(".concat(blockSource, ")");
|
|
1988
2005
|
}
|
|
1989
2006
|
case InputShape.Index: {
|
|
1990
2007
|
return "(".concat(blockSource, ") - 1");
|
|
1991
2008
|
}
|
|
1992
2009
|
case InputShape.Boolean: {
|
|
1993
|
-
return "
|
|
2010
|
+
return "toBoolean(".concat(blockSource, ")");
|
|
1994
2011
|
}
|
|
1995
2012
|
case InputShape.String: {
|
|
1996
|
-
return "
|
|
2013
|
+
return "toStr(".concat(blockSource, ")");
|
|
1997
2014
|
}
|
|
1998
2015
|
default: {
|
|
1999
2016
|
return blockSource;
|
|
@@ -2222,4 +2239,4 @@ function toLeopard(project, inOptions, prettierConfig) {
|
|
|
2222
2239
|
});
|
|
2223
2240
|
}
|
|
2224
2241
|
exports.default = toLeopard;
|
|
2225
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9MZW9wYXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2lvL2xlb3BhcmQvdG9MZW9wYXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFJQSx1Q0FBc0M7QUFFdEMsaURBQXFDO0FBRXJDLG1DQUE0QztBQUM1QywwQ0FBK0c7QUFHL0csOENBQWlGO0FBQ2pGLG1EQUF5STtBQUV6STs7Ozs7Ozs7O0dBU0c7QUFDSCxJQUFNLGlCQUFpQixHQUFHO0lBQ3hCLFdBQVc7SUFDWCxPQUFPO0lBQ1AsT0FBTztJQUNQLE1BQU07SUFDTixPQUFPO0lBQ1AsT0FBTztJQUNQLE9BQU87SUFDUCxVQUFVO0lBQ1YsVUFBVTtJQUNWLFNBQVM7SUFDVCxRQUFRO0lBQ1IsSUFBSTtJQUNKLE1BQU07SUFDTixNQUFNO0lBQ04sTUFBTTtJQUNOLFFBQVE7SUFDUixTQUFTO0lBQ1QsT0FBTztJQUNQLFNBQVM7SUFDVCxLQUFLO0lBQ0wsVUFBVTtJQUNWLElBQUk7SUFDSixZQUFZO0lBQ1osUUFBUTtJQUNSLElBQUk7SUFDSixZQUFZO0lBQ1osV0FBVztJQUNYLEtBQUs7SUFDTCxLQUFLO0lBQ0wsTUFBTTtJQUNOLFNBQVM7SUFDVCxTQUFTO0lBQ1QsV0FBVztJQUNYLFFBQVE7SUFDUixRQUFRO0lBQ1IsUUFBUTtJQUNSLE9BQU87SUFDUCxRQUFRO0lBQ1IsTUFBTTtJQUNOLE9BQU87SUFDUCxNQUFNO0lBQ04sS0FBSztJQUNMLFFBQVE7SUFDUixPQUFPO0lBQ1AsS0FBSztJQUNMLE1BQU07SUFDTixPQUFPO0lBQ1AsTUFBTTtDQUNQLENBQUM7QUFFRjs7Ozs7Ozs7Ozs7OztHQWFHO0FBQ0gsSUFBTSw2QkFBNkIsR0FBRztJQUNwQyx5QkFBeUI7SUFDekIsVUFBVTtJQUNWLEtBQUs7SUFFTCwr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
|
|
2242
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9MZW9wYXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2lvL2xlb3BhcmQvdG9MZW9wYXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFJQSx1Q0FBc0M7QUFFdEMsaURBQXFDO0FBRXJDLG1DQUE0QztBQUM1QywwQ0FBK0c7QUFHL0csOENBQWlGO0FBQ2pGLG1EQUF5STtBQUV6STs7Ozs7Ozs7O0dBU0c7QUFDSCxJQUFNLGlCQUFpQixHQUFHO0lBQ3hCLFdBQVc7SUFDWCxPQUFPO0lBQ1AsT0FBTztJQUNQLE1BQU07SUFDTixPQUFPO0lBQ1AsT0FBTztJQUNQLE9BQU87SUFDUCxVQUFVO0lBQ1YsVUFBVTtJQUNWLFNBQVM7SUFDVCxRQUFRO0lBQ1IsSUFBSTtJQUNKLE1BQU07SUFDTixNQUFNO0lBQ04sTUFBTTtJQUNOLFFBQVE7SUFDUixTQUFTO0lBQ1QsT0FBTztJQUNQLFNBQVM7SUFDVCxLQUFLO0lBQ0wsVUFBVTtJQUNWLElBQUk7SUFDSixZQUFZO0lBQ1osUUFBUTtJQUNSLElBQUk7SUFDSixZQUFZO0lBQ1osV0FBVztJQUNYLEtBQUs7SUFDTCxLQUFLO0lBQ0wsTUFBTTtJQUNOLFNBQVM7SUFDVCxTQUFTO0lBQ1QsV0FBVztJQUNYLFFBQVE7SUFDUixRQUFRO0lBQ1IsUUFBUTtJQUNSLE9BQU87SUFDUCxRQUFRO0lBQ1IsTUFBTTtJQUNOLE9BQU87SUFDUCxNQUFNO0lBQ04sS0FBSztJQUNMLFFBQVE7SUFDUixPQUFPO0lBQ1AsS0FBSztJQUNMLE1BQU07SUFDTixPQUFPO0lBQ1AsTUFBTTtDQUNQLENBQUM7QUFFRjs7Ozs7Ozs7Ozs7OztHQWFHO0FBQ0gsSUFBTSw2QkFBNkIsR0FBRztJQUNwQyx5QkFBeUI7SUFDekIsVUFBVTtJQUNWLEtBQUs7SUFFTCwr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QU0sQ0FBQzt3QkFFeEMsSUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQzt3QkFDN0QsSUFBTSxFQUFFLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQzt3QkFDekQsV0FBVyxHQUFHLGlCQUFVLElBQUksZUFBSyxFQUFFLE1BQUcsQ0FBQzt3QkFFdkMsTUFBTTtxQkFDUDtvQkFFRCxLQUFLLGVBQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQzt3QkFDdkIsbUJBQW1CLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQzt3QkFFekMsSUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQzt3QkFDbEUsSUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQzt3QkFDbEUsV0FBVyxHQUFHLGtCQUFXLFFBQVEsZUFBSyxRQUFRLFVBQU8sQ0FBQzt3QkFFdEQsTUFBTTtxQkFDUDtvQkFFRCxLQUFLLGVBQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQzt3QkFDdkIsbUJBQW1CLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQzt3QkFFekMsSUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQzt3QkFDbEUsSUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQzt3QkFDbEUsV0FBVyxHQUFHLGtCQUFXLFFBQVEsZUFBSyxRQUFRLFVBQU8sQ0FBQzt3QkFFdEQsTUFBTTtxQkFDUDtvQkFFRCxLQUFLLGVBQU0sQ0FBQyxl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
|