From 79c467831585917e1b57bb0798918f9855ba3f6d Mon Sep 17 00:00:00 2001 From: dvorakmortonxd Date: Sun, 25 Oct 2026 20:17:28 +0100 Subject: [PATCH] the observatory has an interior now and you can even walk in or out --- src/main/java/dev/dvorakmortonxd/Game.java | 1 + .../java/dev/dvorakmortonxd/loadAssets.java | 2 +- src/main/java/dev/dvorakmortonxd/update.java | 28 ++++++++++++++++++ src/main/resources/assets/observatoryDoor.png | Bin 0 -> 405 bytes .../resources/assets/observatoryDoor.png~ | Bin 0 -> 468 bytes 5 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 src/main/resources/assets/observatoryDoor.png create mode 100644 src/main/resources/assets/observatoryDoor.png~ diff --git a/src/main/java/dev/dvorakmortonxd/Game.java b/src/main/java/dev/dvorakmortonxd/Game.java index e881525..7466250 100644 --- a/src/main/java/dev/dvorakmortonxd/Game.java +++ b/src/main/java/dev/dvorakmortonxd/Game.java @@ -53,6 +53,7 @@ public class Game extends JPanel implements ActionListener { public static BufferedImage planetZX311Land; public static BufferedImage closedObservatory; public static BufferedImage openedObservatory; + public static BufferedImage doorObservatory; // sets the FPS up (its 16 because 1000/60 is around 16.666 but it only accepts integers so its just rounded to 60) diff --git a/src/main/java/dev/dvorakmortonxd/loadAssets.java b/src/main/java/dev/dvorakmortonxd/loadAssets.java index 3f59cdc..1a19bc4 100644 --- a/src/main/java/dev/dvorakmortonxd/loadAssets.java +++ b/src/main/java/dev/dvorakmortonxd/loadAssets.java @@ -46,7 +46,7 @@ public class loadAssets { m.planetZX311Land = ImageIO.read(Game.class.getResource("/assets/planetZX311Land.png")); m.closedObservatory = ImageIO.read(Game.class.getResource("/assets/observatoryClosed.png")); m.openedObservatory = ImageIO.read(Game.class.getResource("/assets/observatoryOpened.png")); - + m.doorObservatory = ImageIO.read(Game.class.getResource("/assets/observatoryDoor.png")); m.playerCurrentSprite = m.playerForward0; } catch (IOException e) { e.printStackTrace(); diff --git a/src/main/java/dev/dvorakmortonxd/update.java b/src/main/java/dev/dvorakmortonxd/update.java index 997a9a1..efece40 100644 --- a/src/main/java/dev/dvorakmortonxd/update.java +++ b/src/main/java/dev/dvorakmortonxd/update.java @@ -19,6 +19,8 @@ public class update { if (m.playerX > 290 && m.playerX < 572) { return 358; } else { return 385; } } else if (m.currentPlayerLocation.equals("observatoryZX311") || m.currentPlayerLocation.equals("villageEntranceZX311")) { return 385; + } else if (m.currentPlayerLocation.equals("observatoryInteriorZX311")) { + return 400; } else { return m.windowHeight-m.playerSizeY; } @@ -122,6 +124,9 @@ public class update { } else if (m.playerX > m.windowWidth) { m.currentPlayerLocation = "landingPlatformZX311"; m.playerX = m.playerSizeX; + } else if (m.playerX > 250 && m.playerX < 390 && m.upHeld) { + m.currentPlayerLocation = "observatoryInteriorZX311"; + m.playerX = m.playerSizeX; } } else if (m.currentPlayerLocation.equals("villageEntranceZX311")) { if (m.playerX < -m.playerSizeX) { @@ -297,6 +302,29 @@ public class update { g.drawImage(m.closedObservatory, 100, 457 - 449, 235 * 2, 228 * 2, m); } g.drawImage(m.planetZX311Land, 0, 457, m.windowWidth, m.windowWidth/256*31, m); + if (m.playerX > 250 && m.playerX < 390) { + g.setColor(Color.WHITE); + g.setFont(m.caveat.deriveFont(Font.BOLD, 30f)); + g.drawString("Press W or UP arrow key to enter the observatory.", 180, m.windowHeight-35); + } + } else if (m.currentPlayerLocation.equals("observatoryInteriorZX311")) { + g.setColor(new Color(15, 15, 15)); + g.fillRect(0, 0, m.windowWidth, m.windowHeight); + g.setColor(new Color(20, 20, 20)); + g.fillRect(0, 0, m.windowWidth, 340+128); + if (m.playerX > 75) { + g.drawImage(m.doorObservatory, 10, 340, 50, 128, m); + } else { + g.setColor(Color.black); + g.fillRect(10, 340, 50, 127); + g.setColor(Color.WHITE); + g.setFont(m.caveat.deriveFont(Font.BOLD, 30f)); + g.drawString("Keep walking to the left thru the door to leave.", 180, m.windowHeight-35); + if (m.playerX < 0) { + m.playerX = 320; + m.currentPlayerLocation = "observatoryZX311"; + } + } } else if (m.currentPlayerLocation.equals("villageEntranceZX311")) { g.setColor(new Color(127, 127, 255)); g.fillRect(0, 0, m.windowWidth, m.windowHeight); diff --git a/src/main/resources/assets/observatoryDoor.png b/src/main/resources/assets/observatoryDoor.png new file mode 100644 index 0000000000000000000000000000000000000000..9c5ad0c5292508eee854ad5506e65e4ec03bf56e GIT binary patch literal 405 zcmV;G0c!qN$(TMDD134%eYUoseQB#t=sxlVIImCXFb1BgS zvFSSjq4?oeq#!gstx4lTp~#TsQ9>3XEq6BM_T~#ElU+wt%qAetnJ=oL zf{X5Qvv%bz!iCgS0#9UK7TYI$}t_ezh{e^MH zt@cAz({e3sueMVYaSD{>QGxnbvSpY5O^HiC3dC>XBzpu}00000NkvXXu0mjf-2kxo literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/observatoryDoor.png~ b/src/main/resources/assets/observatoryDoor.png~ new file mode 100644 index 0000000000000000000000000000000000000000..d3e110df31c1ea74f2b98fbdb12f4576562b3e90 GIT binary patch literal 468 zcmV;_0W1EAP)C)LKJPrBFc zK}At;u7)!Sd1(FYz&(VmtHox}5C-AlSIbXMXtxS%eaf#ObQV3sx`Kmw zabO-#j`!up!@?1`dztR2y%g|C;|7G`+9>OPL$##k6!17nhk*XW$7WrmCzwLpw)9!L zt|Rx^F`_`0k)q^zP8#Lx7;*G>5ow``G?O!p0l29wOLo_FeH(;TcDo&q8QM21#S)U@ zr0$I=-vvtOHBAF}U8G>UjXB-m1T>q?#%vP%E_!!?h#t0LCWM z!*RO$gvCno*@`~wZqjl|O+KK~KbhXYL6IK57^pZum;Nz^YJULcB#Z-lOSD4(0000< KMNUMnLSTaHP}dUx literal 0 HcmV?d00001