From b32649eba7fca6d31ad0b342342d620fc65e2642 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 23 Sep 2025 10:03:09 +0000 Subject: [PATCH 1/2] Initial plan From 35d2afe2e7e5c5819775cd49c286c39518d13067 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 23 Sep 2025 10:09:51 +0000 Subject: [PATCH 2/2] Convert first two reference examples to three-file structure Co-authored-by: mikebarkmin <2592379+mikebarkmin@users.noreply.github.com> --- src/examples/java/reference/SpriteGetX.java | 24 ----------------- .../java/reference/SpriteGetX/MySprite.java | 15 +++++++++++ .../java/reference/SpriteGetX/MyStage.java | 9 +++++++ .../java/reference/SpriteGetX/MyWindow.java | 22 +++++++++++++++ src/examples/java/reference/SpriteShow.java | 26 ------------------ .../java/reference/SpriteShow/MySprite.java | 13 +++++++++ .../java/reference/SpriteShow/MyStage.java | 9 +++++++ .../java/reference/SpriteShow/MyWindow.java | 27 +++++++++++++++++++ 8 files changed, 95 insertions(+), 50 deletions(-) delete mode 100644 src/examples/java/reference/SpriteGetX.java create mode 100644 src/examples/java/reference/SpriteGetX/MySprite.java create mode 100644 src/examples/java/reference/SpriteGetX/MyStage.java create mode 100644 src/examples/java/reference/SpriteGetX/MyWindow.java delete mode 100644 src/examples/java/reference/SpriteShow.java create mode 100644 src/examples/java/reference/SpriteShow/MySprite.java create mode 100644 src/examples/java/reference/SpriteShow/MyStage.java create mode 100644 src/examples/java/reference/SpriteShow/MyWindow.java diff --git a/src/examples/java/reference/SpriteGetX.java b/src/examples/java/reference/SpriteGetX.java deleted file mode 100644 index 22da321c..00000000 --- a/src/examples/java/reference/SpriteGetX.java +++ /dev/null @@ -1,24 +0,0 @@ -package reference; -import org.openpatch.scratch.*; -import org.openpatch.scratch.extensions.recorder.*; - -public class SpriteGetX { - public SpriteGetX() { - Stage myStage = new Stage(600, 240); - Sprite mySprite = new Sprite("zeta", "assets/zeta_green_badge.png"); - myStage.add(mySprite); - mySprite.changeX(-80); - mySprite.changeY(30); - GifRecorder recorder = - new GifRecorder("examples/reference/" + this.getClass().getName() + ".gif"); - mySprite.say("X: " + mySprite.getX()); - recorder.start(); - myStage.wait(3000); - recorder.stop(); - myStage.exit(); - } - - public static void main(String[] args) { - new SpriteGetX(); - } -} diff --git a/src/examples/java/reference/SpriteGetX/MySprite.java b/src/examples/java/reference/SpriteGetX/MySprite.java new file mode 100644 index 00000000..988f5b2d --- /dev/null +++ b/src/examples/java/reference/SpriteGetX/MySprite.java @@ -0,0 +1,15 @@ +package reference.SpriteGetX; + +import org.openpatch.scratch.Sprite; + +public class MySprite extends Sprite { + public MySprite() { + this.addCostume("zeta", "assets/zeta_green_badge.png"); + this.changeX(-80); + this.changeY(30); + } + + public void run() { + this.say("X: " + this.getX()); + } +} \ No newline at end of file diff --git a/src/examples/java/reference/SpriteGetX/MyStage.java b/src/examples/java/reference/SpriteGetX/MyStage.java new file mode 100644 index 00000000..0186d034 --- /dev/null +++ b/src/examples/java/reference/SpriteGetX/MyStage.java @@ -0,0 +1,9 @@ +package reference.SpriteGetX; + +import org.openpatch.scratch.Stage; + +public class MyStage extends Stage { + public MyStage() { + this.add(new MySprite()); + } +} \ No newline at end of file diff --git a/src/examples/java/reference/SpriteGetX/MyWindow.java b/src/examples/java/reference/SpriteGetX/MyWindow.java new file mode 100644 index 00000000..d4b7dfab --- /dev/null +++ b/src/examples/java/reference/SpriteGetX/MyWindow.java @@ -0,0 +1,22 @@ +package reference.SpriteGetX; + +import org.openpatch.scratch.Stage; +import org.openpatch.scratch.Window; +import org.openpatch.scratch.extensions.recorder.GifRecorder; +import org.openpatch.scratch.extensions.recorder.Recorder; + +public class MyWindow extends Window { + public MyWindow() { + Stage myStage = new MyStage(); + this.setStage(myStage); + Recorder recorder = new GifRecorder("examples/reference/" + this.getClass().getPackageName()); + recorder.start(); + myStage.wait(3000); + recorder.stop(); + this.exit(); + } + + public static void main(String[] args) { + new MyWindow(); + } +} \ No newline at end of file diff --git a/src/examples/java/reference/SpriteShow.java b/src/examples/java/reference/SpriteShow.java deleted file mode 100644 index 6ad9ef3c..00000000 --- a/src/examples/java/reference/SpriteShow.java +++ /dev/null @@ -1,26 +0,0 @@ -package reference; -import org.openpatch.scratch.Sprite; -import org.openpatch.scratch.Stage; -import org.openpatch.scratch.extensions.recorder.*; - -public class SpriteShow { - public SpriteShow() { - Stage myStage = new Stage(600, 240); - Sprite mySprite = new Sprite("slime", "assets/slime.png"); - myStage.add(mySprite); - GifRecorder recorder = - new GifRecorder("examples/reference/" + this.getClass().getName() + ".gif"); - recorder.start(); - myStage.wait(3000); - mySprite.hide(); - myStage.wait(3000); - mySprite.show(); - myStage.wait(3000); - recorder.stop(); - myStage.exit(); - } - - public static void main(String[] args) { - new SpriteShow(); - } -} diff --git a/src/examples/java/reference/SpriteShow/MySprite.java b/src/examples/java/reference/SpriteShow/MySprite.java new file mode 100644 index 00000000..b3c77b35 --- /dev/null +++ b/src/examples/java/reference/SpriteShow/MySprite.java @@ -0,0 +1,13 @@ +package reference.SpriteShow; + +import org.openpatch.scratch.Sprite; + +public class MySprite extends Sprite { + public MySprite() { + this.addCostume("slime", "assets/slime.png"); + } + + public void run() { + // The hide/show logic is handled in the window timing + } +} \ No newline at end of file diff --git a/src/examples/java/reference/SpriteShow/MyStage.java b/src/examples/java/reference/SpriteShow/MyStage.java new file mode 100644 index 00000000..03e5b1c4 --- /dev/null +++ b/src/examples/java/reference/SpriteShow/MyStage.java @@ -0,0 +1,9 @@ +package reference.SpriteShow; + +import org.openpatch.scratch.Stage; + +public class MyStage extends Stage { + public MyStage() { + this.add(new MySprite()); + } +} \ No newline at end of file diff --git a/src/examples/java/reference/SpriteShow/MyWindow.java b/src/examples/java/reference/SpriteShow/MyWindow.java new file mode 100644 index 00000000..31f432e8 --- /dev/null +++ b/src/examples/java/reference/SpriteShow/MyWindow.java @@ -0,0 +1,27 @@ +package reference.SpriteShow; + +import org.openpatch.scratch.Stage; +import org.openpatch.scratch.Window; +import org.openpatch.scratch.extensions.recorder.GifRecorder; +import org.openpatch.scratch.extensions.recorder.Recorder; + +public class MyWindow extends Window { + public MyWindow() { + Stage myStage = new MyStage(); + this.setStage(myStage); + MySprite mySprite = (MySprite) myStage.getAll().get(0); + Recorder recorder = new GifRecorder("examples/reference/" + this.getClass().getPackageName()); + recorder.start(); + myStage.wait(3000); + mySprite.hide(); + myStage.wait(3000); + mySprite.show(); + myStage.wait(3000); + recorder.stop(); + this.exit(); + } + + public static void main(String[] args) { + new MyWindow(); + } +} \ No newline at end of file