From ae4e8906fbc87e6a1fb1a98daf9e5c204e5f19cc Mon Sep 17 00:00:00 2001 From: Chara1236 Date: Fri, 17 Jun 2022 21:39:14 -0400 Subject: [PATCH] Fireball --- img/misc/flame/flameLeft.png | Bin 0 -> 1226 bytes src/FireBall.java | 16 ++++++++++++---- src/GamePanel.java | 23 +++++++++++++++++++++-- src/GenericSprite.java | 2 +- 4 files changed, 34 insertions(+), 7 deletions(-) create mode 100644 img/misc/flame/flameLeft.png diff --git a/img/misc/flame/flameLeft.png b/img/misc/flame/flameLeft.png new file mode 100644 index 0000000000000000000000000000000000000000..661a64c99f478adf54d67427a4303b75059e7821 GIT binary patch literal 1226 zcmV;*1U37KP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D04;PySaefwW^{L9 za%BKwc`jmXZ*OE|c`jped2n=ZE@^FHXJsx>PDe5{MQ&qnWMy)w27m4V00bsUL_t(& zL*<&!Zqq;z#y{IhOA#d%ASAf75)u*;66Fc#8_+i(99tpiksIO0F+!y|65b$>5S{>Y zLLec+g%f|06j8N_ZRT^{zPm*~Rt#%^fyjUwVp$8ZHDA2}seFEaW{PZ<)SuiQ&3kVQVzcf$f>7>n3t60e`+g zE|){mG?7g+NFGWd3*&_B3h0*bD^}>{#8$=5`=f9U)sviv z9g8_)N1RwJM94y;fnro>`vNl8vn-VTnJBJ_T@}mtqv@fT6qO?L`A1B1VY%T*DwGdP z);j`@TKg=q8)Edjq-cx%7Ne+jF$$|8^hRq3&(+Y!VA`^@>>rDUSrNM_Hmlc73WfY3 zMll)s8o{+uM0}`*Ff&}F%!fQ2zDHdLeqW8@^ z8|0VAFY%Tbh13L!$bEzFM&$0hE_S8!stw$5K8a}%*322}4Q!Z^sf&(h5vERDlew|Y z8S0i>MV=uX&OFw>I8a2UQ#xQ`J6b@UNiwCHki`^GBNkIYjdH`q6OgBtZ=F{Ss6`9N zQ-E$zyw75qoSj_{WwYn{u%GYhsS7;bF$d(CSpz%|6&4rhfxLGehQ%8uuJeY%@js+^ zns^>7*!6nnvd#3I5k=H_tu+i)M!-ig3dh2NCh!E}w2%+#gF!j#OJt|P1u>Shl1{9H zk`~uq4XZGOp4V((tGBr7Zz7^%bTO45>VsGk;mq))m($aD$;b_Y-lm~=vR4!{JGeVo znf5)9Jum075o=*Dm&JID8dc68gd&lk5*<{aH7%MBLa&nzV=t<8#21h_B|I}t6x47$ z4DB%JJqvjEF$l}}@KDI?;*FXLr7IwbeX*2c=yALw9w%HtpMWFF`zeQ|dM3t`c6s#) zNMha4r35C!B3xyfj)Z_A0ZHos_bdaIG=?)n)ZnH0j6E>{p#qXLH5t*<UAW#i!nLCUxF}+%WvB(od5s;07*qoM6N<$f=FgAiU0rr literal 0 HcmV?d00001 diff --git a/src/FireBall.java b/src/FireBall.java index 6a3e054..82db012 100644 --- a/src/FireBall.java +++ b/src/FireBall.java @@ -1,14 +1,22 @@ import java.awt.*; +import java.io.IOException; public class FireBall extends GenericSprite{ - public FireBall(int x, int y, int height, int width, int xv, int yv) { + public String spritePath; + public FireBall(int x, int y, int height, int width, int xv, int yv, String dir) { super(x, y, height, width); xVelocity = xv; yVelocity = yv; + if(dir.equals("left")){ + spritePath = "src/img/misc/flame/flameLeft.png"; + } } - public void draw(Graphics g){ - - + public void move(){ + x += xVelocity; + y += yVelocity; + } + public void draw(Graphics g) throws IOException { + g.drawImage(GamePanel.getImage(spritePath),x-GameFrame.game.camera.x,y,null); } } diff --git a/src/GamePanel.java b/src/GamePanel.java index 7df3277..3c030ba 100644 --- a/src/GamePanel.java +++ b/src/GamePanel.java @@ -61,6 +61,8 @@ public class GamePanel extends JPanel implements Runnable, KeyListener, Serializ public ArrayListparticleTiles = new ArrayList(); public ArrayListshootingTiles = new ArrayList(); + + public ArrayListfireballs = new ArrayList(); public ArrayListenemy = new ArrayList(); public ArrayListbombs = new ArrayList<>(); public BombDirectionShow bombDir = null; @@ -319,6 +321,11 @@ public class GamePanel extends JPanel implements Runnable, KeyListener, Serializ particles.get(i).move(); } } + for(int i=0; i= 1){ if ((!isPaused && !isDialogue) && MenuPanel.gameStart) { @@ -393,6 +401,9 @@ public class GamePanel extends JPanel implements Runnable, KeyListener, Serializ } checkCollision(); updateEnemy(); + if(fireballCounter == 0) { + updateShootingBlock(); + } try { updateParticle(); } catch (IOException e) { @@ -433,6 +444,14 @@ public class GamePanel extends JPanel implements Runnable, KeyListener, Serializ } } } + + public void updateShootingBlock(){ + for(Tile i: shootingTiles){ + if(i.shootingDir.equals("left")){ + //fireballs.add(new FireBall(i.x,i.y,80,41,-1,0)) + } + } + } public void updateParticle() throws IOException { if(particles.size()<10) { for (int i = 0; i < particleTiles.size(); i++) { diff --git a/src/GenericSprite.java b/src/GenericSprite.java index 125e15f..bb611ba 100644 --- a/src/GenericSprite.java +++ b/src/GenericSprite.java @@ -109,7 +109,7 @@ public class GenericSprite extends Rectangle implements Serializable { } //called frequently from the GamePanel class //draws the current location of the ball to the screen - public void draw(Graphics g){ + public void draw(Graphics g) throws IOException { }