From 9f30f43361e2caf10d6bfd46fb7392485afb970f Mon Sep 17 00:00:00 2001 From: universe Date: Mon, 30 May 2022 14:40:46 -0400 Subject: [PATCH] delete paddle --- .idea/misc.xml | 2 +- out/production/final/Ball.class | Bin 0 -> 777 bytes out/production/final/GameFrame.class | Bin 0 -> 816 bytes out/production/final/GamePanel.class | Bin 0 -> 7477 bytes out/production/final/GenericObject.class | Bin 0 -> 1098 bytes out/production/final/Main.class | Bin 0 -> 387 bytes out/production/final/Paddle.class | Bin 0 -> 2170 bytes save.txt | 1 + src/Paddle.java | 82 ----------------------- 9 files changed, 2 insertions(+), 83 deletions(-) create mode 100644 out/production/final/Ball.class create mode 100644 out/production/final/GameFrame.class create mode 100644 out/production/final/GamePanel.class create mode 100644 out/production/final/GenericObject.class create mode 100644 out/production/final/Main.class create mode 100644 out/production/final/Paddle.class create mode 100644 save.txt delete mode 100644 src/Paddle.java diff --git a/.idea/misc.xml b/.idea/misc.xml index 1ce6e7f..d15472f 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,6 +1,6 @@ - + \ No newline at end of file diff --git a/out/production/final/Ball.class b/out/production/final/Ball.class new file mode 100644 index 0000000000000000000000000000000000000000..6b6d60b1627dbe612359dd3ee5a0f8a978388e26 GIT binary patch literal 777 zcmZ8eZEw<06n-u+3Rq|dld-X>^A(B?-@jm%FzA*hbu$}5{j^-VDtD=^DaFm7rO_?% z!+yYil=0kxY}%%`=bpFcJkPoK{p%dS23{&iFr+rQ=jD*XoPx9p1sR6?w(Gm0aCQer zt`jk&UkP7C8w^U#qNm=^f+45k8dOTQcC4P&wh#8-m}ZxOS+ZL}g$A9XBR6{26(RKz zflqL?xV(sxf&~@VQD!I{@h`l|kE3QM@Pd%=-kY|)`<6ks{|&Wrs9;IKvWhBJ80Kf; z?T~*S3TMQSA;f8)Qtkix$>=v!+?1oU6G>!E#qId^Rd&Ct;-1tX^FestUQ9o~*|zP2 zuGM~R_RKxv)Cv4i#Qmtxy|J4lF*TZ5N>lF>!%lGMGHAB&-JS8LfgAStz#~u54jk_F zc_`$4>P$sLK|`l)xrP?0dU92)!;l{{l&{eE%d;h+*hhxaCB<2c+Uy78&~dkf1kTFd z>ryJL5#JOIoS;8#kE|u!r$57k*jtMu3hLxB$P-{L&aWEP6sj$WPCzf9*t@*9&Dc!YJjfmTQA6M(cxd4iNyldL3pALGdsyhq?N yR%v|4{3#Y2gt7a`5s9Aw literal 0 HcmV?d00001 diff --git a/out/production/final/GameFrame.class b/out/production/final/GameFrame.class new file mode 100644 index 0000000000000000000000000000000000000000..1c47018a59c6138bfd0ec0decf5cbbb38e4978d0 GIT binary patch literal 816 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 blTjJtsLnCY-}~hKoQ3&zliVU7K+T^4udK3! literal 0 HcmV?d00001 diff --git a/out/production/final/GenericObject.class b/out/production/final/GenericObject.class new file mode 100644 index 0000000000000000000000000000000000000000..8d4a78215c3b95fe76c3bc81bd421b1b21a70ed1 GIT binary patch literal 1098 zcmah|+int36kP`fM(9ji!O{!hrQQIwyy#O6FJ78Pw5A%OZykmcIF*7KroeobiH(U5 zet;ikTxS^Rw2^d@nX_+at+n@t-+zAo0?|gn3n`HK}+_BuJQu`v9F7lEv)Fu z%=BMIN3UDR>8J>_cf-P3=uHKT7sC#TSDI=d-<_VcrT5WkYbm+r&~^GP$5Yymf`;Ey zBVBz#$F4wXqB?$$4fLey_NXlTMF#IZIU321K&jH4cPqzo;Md>C;FUIZt1YS`-R8my zfhA%c%D!|$Fnc8Z&o7n70jS}C9aK0c5(crDuK5)6v(uPkoD9cgOjh(YqvJUffkI5- zp67h+DR(r}))mN~Yn$gt_+fbJx$?CNr*&ZmDh|P5Z}UE>pB)9*vMcR8}y&fDzS+zdOFWd5=UFya9Ev1kybK{m1r5v zmvJ*4Cdv2*V*Mp z3@bgClg7QUUxEAo$FeVDm55bdfb}54dWcG->n-P|hf%E6zGIcId345;MxL)tCx1?` u91eLKHl=J)m|oCq8O2DjKozwJdg0(JF?IYSM4J_OgvY!p@Px1l?ED2Y5Tbkl literal 0 HcmV?d00001 diff --git a/out/production/final/Main.class b/out/production/final/Main.class new file mode 100644 index 0000000000000000000000000000000000000000..aa9ef207113b15c554aaeb02ff3be69b3b6c2e6d GIT binary patch literal 387 zcmZusyH3ME5S&d+92-MI0->c$C`d^Wlm;m@28tjfM0GYNbCDm?;pD%lB7wvQ@KK0e z2gwar%-+rH%-(+ge0%|zizf6!Q|P;O9&7uc;*6O=SSBiqlr{4HBc1Biyzzuk z%rkc9b;xM^95(-0R@M~hY!b1qY|8z^e`JEcEY~*C3nSw^NxYB{oI!S!Bgk8V5b$lv zm4rFpg5GQSfKg(^b literal 0 HcmV?d00001 diff --git a/out/production/final/Paddle.class b/out/production/final/Paddle.class new file mode 100644 index 0000000000000000000000000000000000000000..18d0f6d8af5a421adc72d7995e57b874812b4d6f GIT binary patch literal 2170 zcmZvd%TwD{6vjVcgN!4v07Ed3ydOwTLS9XqIH4q9z{N=%pw6R@AS?wGgiLJ#VbN(< z-L=zUlS$hJ({v`AY}x^m>7w2DZ|S1@&UE@+$p|N{JtOO$d+s^E^Sb`ypI?6iFoZQ3 z4HB9PhG{xh98omNXi^{}CZT2Aa;=J8x;^*UDtXkpYP+^KBtag?@uL-+AtA0{9~23V z(}iqyRDzTf(pCitU%Ik9X{`%Mn}T*Bk&uepl+mSNzYs@n7>>i!PlRr#c=Raf z6+6vOik4F@+1`2_{Wu`wpn^j+jwEs>p~opYqhJtcCG1-;sv~8`u}#Zlr~`RH znHkX@2+i{fF8F}!yMV&ldExbvf_L#Ay;cm@EYoXbKpSlujs;HRxQc5sh7`PyVF~;F zIE*!K&|0-zZ;;8!iWfSZw>+*!%BJO;$O*O^3P!+0w^S|f{-|AHY3#Ba#9b5$V+zJG zLBUdaH8@9c6k{?bnay!y$toDGcf`l*rqzb!%m5&Z^89 za}E>Go-daSr)X4cv91ZD-hwSa^Fillcz(|Bz^0(a%#^v8TWN$&r#+*zc+*&}S!gXS zSfxe3JF0#G;)~XLp<-35qF4Ir!hW-?8Lh}(BUfrKF>h(G@n~zxaxB9)7BwrznuM-8 zo4dIVtj$a4*s~Vyv4f_|E0vNpW{X7Z3t~MZ3Wme%l&DBC+Qa~J^$}MM_!udCQn&t; z>xXsgS!!~$smsjzzcSx=U+`&A`Z+B&^0!y-?NeiF;T0l!Y#Ysb|2A6m&geGOpM6Jj ze0KS&t%!3F6Z|HjqK7~w?p+Mbz=XvW4T_6`PQ)AMm8jxPpoj+O^`VxkqB2mpkGME+EfeAeGkFvd&tojh(=yUUXm&Tk%4x<2>Wpb-5jSBzD1uO z{h@$7jD7=;Fz-jdfd$x%^D$4yA)nGxsmL(XB4II%e1ioMk!SRD-wsYc!-e$yEu16M zMcH|ccapfgn3(@&c6J-*(jqFaPPmOD(R#$7NJm(r<2Z^FyxC6TGPF9(Oo*8YF*9|T z5lENG=U|CX(Ij7zU(`=e?~ri|Et~8O_3s^A*LRSu3Dr#~daNcBJriW?0AmBruxSU` zDQD4%^Ekwt_&7U8!zCZ9E3h77>2Oh|Z;>s0$(19HPi9TRnCZY4L7c&*iPr8Ou%SOMDeuhd7 zV1{!iYSW$m1^FFJrRl5N2jMjD;NIT!w)#DGoAoGgHt*C0+Z_hmjVe4^masyb4Osmb D-vEJg literal 0 HcmV?d00001 diff --git a/save.txt b/save.txt new file mode 100644 index 0000000..af1e489 --- /dev/null +++ b/save.txt @@ -0,0 +1 @@ +4 2 \ No newline at end of file diff --git a/src/Paddle.java b/src/Paddle.java deleted file mode 100644 index 1e396e2..0000000 --- a/src/Paddle.java +++ /dev/null @@ -1,82 +0,0 @@ -/* Eric Li, ICS4U, Completed 5/29/2022 - -Paddle class defines behaviours for the left and right player-controlled paddles */ - -import java.awt.*; -import java.awt.event.KeyEvent; - -public class Paddle extends GenericObject { - public final int SPEED = 5; - public static final int PADDLE_WIDTH = 8; - public static final int PADDLE_HEIGHT = 80; - public int upKey, downKey; - public Paddle(int x, int y, int upKey, int downKey) { - super(x, y, PADDLE_WIDTH, PADDLE_HEIGHT); - this.upKey = upKey; - this.downKey = downKey; - } - - // this is private because it's only intended to be called from checkCollision - // this checks whether the ball has collided with the paddle in either the 'L' or the 'R' direction, and returns a boolean - private boolean hasCollided(Ball ball, char direction) { - // while this.x and this.y were not needed, they were added to prevent confusion with ball.x and ball.y - if ((Math.abs(ball.x - this.x - this.xVelocity) <= Paddle.PADDLE_WIDTH && direction == 'L' && Math.signum(ball.xVelocity) == -1.0) || - (Math.abs(ball.x - this.x - this.xVelocity) <= Ball.BALL_DIAMETER && direction == 'R' && Math.signum(ball.xVelocity) == 1.0)) { - return (this.y - ball.y <= Ball.BALL_DIAMETER && this.y - ball.y >= 0) || - (ball.y - this.y <= Paddle.PADDLE_HEIGHT && ball.y - this.y >= 0); - } - return false; - } - - // this uses hasCollided() to check if a collision has happened; if it has, the xDirection is reversed and the speed is changed - // returns a boolean which is used for sanity checking in GamePanel.checkCollision() - public boolean checkCollision(Ball ball, char direction) { - if (hasCollided(ball, direction)) { - // reverse x direction and add a portion of paddle speed - // also adds random spray - ball.yVelocity += this.yVelocity / 4 + (int)(Math.random() * 3 - 1); - ball.xVelocity = -(ball.xVelocity) + (int)(Math.random() * 3 - 1); - return true; - } - return false; - } - - // moves paddle when key is pressed - public void keyPressed(KeyEvent e) { - if(e.getKeyCode() == upKey){ - setYDirection(SPEED*-1); - move(); - } - if(e.getKeyCode() == downKey){ - setYDirection(SPEED); - move(); - } - } - - // stops moving paddle when key is released - public void keyReleased(KeyEvent e) { - if(e.getKeyCode() == upKey){ - setYDirection(0); - move(); - } - if(e.getKeyCode() == downKey){ - setYDirection(0); - move(); - } - } - - // calls parent then does sanity checking to ensure that the paddle does not leave the screen - public void move() { - super.move(); - // collisions logic for paddles to prevent them from going into the borders - if (y + PADDLE_HEIGHT + 5 > GamePanel.GAME_HEIGHT) { - y = GamePanel.GAME_HEIGHT - PADDLE_HEIGHT - 5; - } else if (y < 5) { - y = 5; - } - } - public void draw(Graphics g) { - g.setColor(Color.WHITE); - g.fillRect(x, y, PADDLE_WIDTH, PADDLE_HEIGHT); - } -} \ No newline at end of file