From 6996b5a925fa34c5ca0a182beaf867229904e8db Mon Sep 17 00:00:00 2001 From: Henrik Bygren Date: Thu, 28 Sep 2023 08:22:09 +0200 Subject: [PATCH] init --- .classpath | 12 +++ .gitignore | 21 +++++ .project | 17 ++++ .settings/org.eclipse.core.resources.prefs | 2 + .settings/org.eclipse.jdt.core.prefs | 14 +++ resources/playerImg.png | Bin 0 -> 1499 bytes src/se/egyweb/game/Game.java | 99 +++++++++++++++++++++ src/se/egyweb/game/GameTest.java | 29 ++++++ 8 files changed, 194 insertions(+) create mode 100644 .classpath create mode 100644 .gitignore create mode 100644 .project create mode 100644 .settings/org.eclipse.core.resources.prefs create mode 100644 .settings/org.eclipse.jdt.core.prefs create mode 100644 resources/playerImg.png create mode 100644 src/se/egyweb/game/Game.java create mode 100644 src/se/egyweb/game/GameTest.java diff --git a/.classpath b/.classpath new file mode 100644 index 0000000..19f2c14 --- /dev/null +++ b/.classpath @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..dd61a36 --- /dev/null +++ b/.gitignore @@ -0,0 +1,21 @@ +/.DS_Store +*target* +*.class +/doc/ +/lib/ +# eclipse specific git ignore +.DS_Store . +metadata +bin/** +tmp/** +tmp/**/* +*.tmp +*.bak +*.swp +*~.nib +local.properties +.loadpath +# External tool builders +.externalToolBuilders/ +# Locally stored "Eclipse launch configurations" +*.launch diff --git a/.project b/.project new file mode 100644 index 0000000..090b485 --- /dev/null +++ b/.project @@ -0,0 +1,17 @@ + + + game-test + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..99f26c0 --- /dev/null +++ b/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/=UTF-8 diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..ef0604b --- /dev/null +++ b/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,14 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/resources/playerImg.png b/resources/playerImg.png new file mode 100644 index 0000000000000000000000000000000000000000..3803a866c052d1dc16da3b1693e42f80a0246ac3 GIT binary patch literal 1499 zcmV<11tj{3P)Hg1+lHrgWSWcKdPn90sKGrRqvPeo9CG3uKX#J{(IASm?@+di}}l?o-=)F3E6 zwD^Ni=!>T7nL9I?X}YoAW$t|Qo$sD|?zw001?ah|SeB6#0T!CBEf+H4bBB+JJu8re zhoBb*p;u8ID_yBf0ya+zcePvJL&AGs+11_tpRKn>9TgyPA7ZoSs0)aX0r00)%XR^J z`jH<$>RKN5V(7OqK*TS4xZz{h!*f1C3ECFkK$#7nA@pGN!$;%jYv zwjAKwmYb0gKL(K8-kPtb5${A?tlI~wzMrJ6wTdBr=Y%%%EaEMQ&o}4FQ^DA)s*}Z> z!FI&AHCpoWI|RUqx?7s@$8!5^Q=anY%X@i5{QA6kNcMelpE>R6eCYFpmMsVT zrI(b06~u#xf1yS}_UGdMvD``!0~u->P=lA4?YN`hilQ z|3tHka)7T{2CGqwjZfMwx$5irQN_*|e4l)UHmiYuz74Yp1t^#>hrJ3-SOXDcC_o0^ z7T9R1gAN8V6s;5)ieI5-7aQlmJn}lUna#nz!j%5V$X|o`xX!dHWQRV27P1=rj;t2b zW$~+pTw@bIek?ZvKPDL<64`^#UNTAck#RBsB6*5DP4<%UA_FqU$I>2EH_cM;u)Q~SI+rg`Rn{L z_AC5qq~L$#SMj%U$6Cz0vP{G5Y*=%5RT^yu;}-DInZ=349rJPVM6C3K^oO)8y(fJr{l>k`ead~!ea?NsT>_Ci%bnxC;Vy6= zb6>{xYV#Ue-+LB$7`JEXmTRm^AtP)R9u{)KHsMiWGV&)32xCG~*nyU<>-!d;FP=Re z4r3qYr~6#KE>;1F`>_J_P5xC?ROxV(DIHdCO*p$HRQI@7^PwV@Pvuf+ z5K}u-6REM(K@W$srgorh0{i?O)v0c>QtHxU-hBdD(>iYJ4b2sIOVX2K8m~4gmYVA5 zh^QEb$V`rCQ-|7ZS{nuL-t>?3n=-o(6I(7vocj#GzCZEo`!3>+v;dYIfPu#&ZWzzX z2i^rZ^Mu;6+rb@?NPG+6)c5T6zxpzGe*M(x+{AON=PiJ>H#?ob-|uwRK0yDg0B4PV z0id6JRRdfL?*IS+eMv+?R9Fesm(h~KAPhx`3&o(uD14MoDlVf#m7ljT-{+q>xNYueMv}cZ~7G z9Ripx3pULr#Qd@kyq?~;2B1FYF+R5P$t1D~bFb8<#0Je8fAj8FP|foR?_0OiJ<@pe z1muck2#U!-6*2_$s(uNePI!4U1e($h-`8iPr%_ji@bf18UjTX`(P)*~+WX%M;Hj|5 z-u;}e0GZQx79;^^e>`aGXRXF@dj+JKoR5Q7tX^x9@0nK5{eQ!BkNoA`Dn9(Z{GzuY z(z9N4#G~n@R?}e~)Uw1Qu}nw+I7+>yl{$ keyDown = new HashMap<>(); + + public Game(){ + gameScreen.setKeyListener(this); + keyDown.put("left", false); + keyDown.put("right", false); + keyDown.put("esc", false); + + loadImages(); + gameLoop(); + } + + public void loadImages(){ + player = new ImgContainer(500, 0, "/playerImg.png"); + } + + public void update(){ + if(keyDown.get("right")) + player.setX(player.getX() + 5); + if(keyDown.get("left")){ + player.setX(player.getX() - 12); + } + if(keyDown.get("esc")) { + gameRunning = false; + System.exit(0); + } + + if(player.getX()+player.getWidth() > width) { + player.setX(width - player.getWidth()); + } + + if(player.getX() < 0) { + player.setX(0); + } + } + + public void render(){ + gameScreen.render(player); + } + + public void gameLoop(){ + while(gameRunning){ + update(); + render(); + // Fördröjning + try { + Thread.sleep(10); + } catch (InterruptedException e) {} + } + } + + /** Spelets tangentbordslyssnare */ + public void keyTyped(KeyEvent e) { + } + + public void keyPressed(KeyEvent e) { + int key = e.getKeyCode(); + + if(key == KeyEvent.VK_LEFT) + keyDown.put("left", true); + else if(key == KeyEvent.VK_RIGHT) + keyDown.put("right", true); + else if(key == KeyEvent.VK_ESCAPE) + keyDown.put("esc", true); + } + + public void keyReleased(KeyEvent e) { + int key = e.getKeyCode(); + + if(key == KeyEvent.VK_LEFT) + keyDown.put("left", false); + else if(key == KeyEvent.VK_RIGHT) + keyDown.put("right", false); + } + + + public static void main(String[] args) { + new Game(); + } +} + diff --git a/src/se/egyweb/game/GameTest.java b/src/se/egyweb/game/GameTest.java new file mode 100644 index 0000000..a6f381c --- /dev/null +++ b/src/se/egyweb/game/GameTest.java @@ -0,0 +1,29 @@ +package se.egyweb.game; + +import se.egy.graphics.*; + +public class GameTest { + + public static void main(String[] args) { + // Skapar ett spelfönster + GameScreen gameScreen = new GameScreen("Test", 1024, 768, false); + + // Skapar och laddar in en bild med en x,y-koordinat. + ImgContainer ic = new ImgContainer(200, 100, "playerImg.png"); + + for(int i = 0; i < 100; i++) { + gameScreen.render(ic); // renderar bilden + + try{ Thread.sleep(20);}catch(Exception e){}; // pausar i 20 ms + + // Förflyttar bilden genom att öka x,y - koordinaterna med 5 + int newX = ic.getX() + 4; + int newY = ic.getY() + 4; + + ic.setX(newX); + ic.setY(newY); + } + //System.exit(0); + } +} +