From d707be3e4ce060a30a6a2c275527e21669c7a470 Mon Sep 17 00:00:00 2001 From: pbs2h20aal Date: Thu, 10 Feb 2022 13:16:28 +0100 Subject: [PATCH] Namen in die Kommentare --- .../executionHistory/executionHistory.bin | Bin 96216 -> 113041 bytes .../executionHistory/executionHistory.lock | Bin 17 -> 17 bytes .../.gradle/7.1.1/fileHashes/fileHashes.bin | Bin 25897 -> 27747 bytes .../.gradle/7.1.1/fileHashes/fileHashes.lock | Bin 17 -> 17 bytes .../buildOutputCleanup.lock | Bin 17 -> 17 bytes .../example/happy_bird/HappyBirdMain.class | Bin 27609 -> 27580 bytes .../build/classes/java/main/module-info.class | Bin 392 -> 388 bytes .../build/libs/Happy_Bird-1.0-SNAPSHOT.jar | Bin 510202 -> 517915 bytes .../compileJava/previous-compilation-data.bin | Bin 19131 -> 19257 bytes .../java/com/example/happy_bird/Bird.java | 21 ---- .../example/happy_bird/FormatingClass.java | 23 ++-- .../com/example/happy_bird/GameObject.java | 54 -------- .../com/example/happy_bird/GameScreen.java | 26 ---- .../com/example/happy_bird/HappyBird.java | 9 -- .../com/example/happy_bird/HappyBirdMain.java | 118 ++++++------------ .../example/happy_bird/HelloApplication.java | 23 ---- .../example/happy_bird/HelloController.java | 14 --- .../java/com/example/happy_bird/MariaDB.java | 1 + .../java/com/example/happy_bird/Movement.java | 7 -- .../java/com/example/happy_bird/Pipe.java | 104 --------------- .../java/com/example/happy_bird/PipeTop.java | 103 --------------- .../java/com/example/happy_bird/Pipes.java | 110 ---------------- .../com/example/happy_bird/SpielObjekt.java | 80 ------------ .../java/com/example/happy_bird/TopClass.java | 10 -- .../com/example/happy_bird/hello-view.fxml | 16 --- .../com/example/happy_bird/screen.png | Bin 129190 -> 0 bytes 26 files changed, 46 insertions(+), 673 deletions(-) delete mode 100644 Happy_Bird/src/main/java/com/example/happy_bird/Bird.java delete mode 100644 Happy_Bird/src/main/java/com/example/happy_bird/GameObject.java delete mode 100644 Happy_Bird/src/main/java/com/example/happy_bird/GameScreen.java delete mode 100644 Happy_Bird/src/main/java/com/example/happy_bird/HappyBird.java delete mode 100644 Happy_Bird/src/main/java/com/example/happy_bird/HelloApplication.java delete mode 100644 Happy_Bird/src/main/java/com/example/happy_bird/HelloController.java delete mode 100644 Happy_Bird/src/main/java/com/example/happy_bird/Movement.java delete mode 100644 Happy_Bird/src/main/java/com/example/happy_bird/Pipe.java delete mode 100644 Happy_Bird/src/main/java/com/example/happy_bird/PipeTop.java delete mode 100644 Happy_Bird/src/main/java/com/example/happy_bird/Pipes.java delete mode 100644 Happy_Bird/src/main/java/com/example/happy_bird/SpielObjekt.java delete mode 100644 Happy_Bird/src/main/java/com/example/happy_bird/TopClass.java delete mode 100644 Happy_Bird/src/main/resources/com/example/happy_bird/hello-view.fxml delete mode 100644 Happy_Bird/src/main/resources/com/example/happy_bird/screen.png diff --git a/Happy_Bird/.gradle/7.1.1/executionHistory/executionHistory.bin b/Happy_Bird/.gradle/7.1.1/executionHistory/executionHistory.bin index c75c8150d9cb1fd5bfcae38f3502e992be951d33..9a64b3840e9a1391bae001570f74acd2353bd394 100644 GIT binary patch delta 2207 zcmah~2~1R16rDQ^h{!SnR%QkP2U!G!K?M<6L>3W{&WO%{Hp()9qBtN_QERnnZ9y@D zywq3Asx}y`D1wNJ3zjsdYHFhdmP6~ zabEp4@o(}udw4wIo|2s8-1LQ8QnS4`ZP277Z_LqT?@ZD9_-cI9shY>TS-*8T0=SEM z;{(yGXiEd&w{ds|IuvCDT^zGRW*T!e??e!z3W0y9RhjRG&OVBO7h`OsE)x1V=85z> z?cfc^{E+T-82<(zL0LG`r8y(7Hzv483(7IYV$_`%IzfShvtTVe=f=xXj4~L8$Ji6) z3V1cj@ZHt09A1u66coD*UXLANb3=xe>+(H&4#i{thg0FP(jkwU8_fn@u z;jMNMUf)z$WzeXTfnXYYCs=6>PT1800@?dxd6NgMWDkSomqKA0&hUhwiN+C6hy*=3 zF)Bi{^d{Kd3Ib7eS+1~X*cunye#G0mC#GR&W$9DgYX$D;lk#17$8-onRuwzZ;H^Ly z7#oh|^C1)l$NA0q5I%8@(KDDeJ{k8vTL4QYj_;nqj2{~HXK|tQ*071qSF%WRWOBz6 zpAy4t6jixGC{mVx?tXiiC$Gr3;AN&tM^%-1IM5et4S#4nSUP|ce8Jr?|002fzTje5 zPGJ*)S1%K5uLPV0`c^$WyWEab>}-yy}Rn|sw@N90A0yG5^|$Ldg#%E*=xg7EbPyi@sBs-zihy@zTkKb zD9RwRzkgS!Y988g!8k3u;`?iK14lprOd|itWVHhWWUtBpzgf-0^+h^20l1-_cokEo zI+*KUjhedzNYQQtJsdMd71ic6m59$8B@Revd1BZ=94$4(E|!IBQ&wrRQ&Y9<77c`7 z79w#?aY;tY6=$amThU{*R4)-tQZGW-(@7PV@xIyqRfO z8wSDLw6%H}E=q=Aw!{S-(ZDj{mK5zJ|GcI){)vt&xyQLV^scN z3N}rHg|z&#c9%$qfOnis;+V88C-uXLVpQi3RCQJ#{h}|?;bQxD4N#3m-XIoDR+8R9 zLe4}%UH-I$Q-(96m=Z9$j&FrjIlQZ-`(s;C{3!$Bv zGZYEmS)#05Bk1Osl%~#~9CMY1(H~Dq*pGd8zwA=9tXAK-6{y7X~ojA99Txr zj!<{f-jI)iv^yV$J2MULh^XyEg4vT8g?pY|Ku}Zv@oIV+xON-()wir!1@^{$8}@~@ c?XLE|x2|vK*3WN`-5_tZq}86hRR^Pg0cljCApigX delta 521 zcmbREneE1V)(Ikv+!ICH8E0-h7$H9Kg34q`2`4Gpt^c9G`KGu3oP96D89;zBa{J~| zi7WaVMhp!6X|tYr<^Gqsp(~`{+!KxV;sx}vTOlD*}I9aj7 zakF8wAlu~s0cMk9stqOwbm&hn*v#m|_zEZ&H(4N%o6X_;l2!F>3^KS&NyxIM?cZY z55k04uYzT(devC&0$Gz4!}TI$U&w>E&_@t=nd| zJzs+qmxrr!d;%+8r9QbYOM&GxNc2>=GRs#G<72og>o<_}#%A_ICXUwu=6*5>4B)1X#uhHzcjNkGYFioVw=rdnjCt3Urc|^ zgTHepOJvJMw}BNb`^XMdaN@wb`<|B%`!yLvUY>BtLuA=1UBy0*MG%ovhrql+g=t%1_lB9$%6l5njb`L Ke-Od=LkX$EPr!E0c$tEXyB z9rEWGX61l{7-JtOi8eE`PhyrKhFL->ZFX|^T(7dNz;I{79K9@2*X|d%OXq0S0Ep#_ z*dMqYUHg7XA!hn7AeFyLdR4RA`!HMxrd4frfwuQ@t7@WHN?N!dD)^b48$XqGT)7^y z6vNCsc!A)ZJEppD2?A0`12?HXfG^~A{`x)Oi>*-YQ+MQP>8a4Hc_IYBi zw^#(e*-WXt@^F27@m zT(5C}wVPZW3&u_7%E6=}gvZ`^oG5=d$|x*Qv`)p>O)?nFg7K%ZZ?SIURjAq|q1=xF zGdYkt9fud22q;W;a~@iLFAzI2Y|xkN&zdL^d+oU&l10P}>a9U!oEfUN5(y@!n8jCG1~1HZgas%~Of(`?+^;wb^AOsDLeUR- zMRI;b91~M+vl)jHLm>BCr;JbQafA|i?A0OctJ^lfuP zNqz1hNM=U|l2&e9E_AZ$55@FX~2Y=^GW}G)7-@ z4OFBPFp=zPnT}uK3V-fc1Sx8_4<}0aXQ}jzc{ynRPXmf8f!B1rcGsQj{*qk+F8WhL zFIf5g4IHuHILv9uhw*ZPfON7*FKj2#{;t zScBcKlVH0x$QjM`Q5@u02azf~x@BNc5ip4~WBj~$*vuM(TCG3nUyT7{8(7n@e+{tJ z1dM9kNOK)FySxGqH8!7uNMsgka1r$oflBJ#jJ~Kj>eEn@&<_u{(}!96Ay`Ym(-dm( z`r##-x4k>4k8vp75rppRGmdjD4u^e8f9Q?#2Ajr>6~kLPL8(RmFdYG;S`2T`LBMM6 a4wV;G|B4kSDB4IdPH{qan_Ud;LH__!F^=5; delta 622 zcmaESgK_04#tkMCj8i6?N*GM8l`zVe(TT zj+IT=d{vf{aq>60^2u}MCv0|A0CLh4S4>t@GMJpF)IV8NdBxMm%$#UxMlWWxtCm&Pyn5?GZKDkw+VzRC#P+rrDiTC41#UJ7u4K%nm zJ9;EAPcHQ`QVCe*)DpSfb>Z%~ABNJJ>@5rojJ4sOvw9f7K*SPA=}mU@D4J{;BFg-B z(elZGAySiXdWo=vb^KJB{LxEFA?=Bxy^rzMKm&#lP6IjpSr8NEibG70*fRO8k1A^| zP;z|F^zN{LI@?_V{VZEc+(b z9H`OyKuI8Q@dpxUI)sFmF3F5q_2g3J^6!zCdR~Ba@V|=$YhYkBLDMn$j;HwKgPw8< z*!6vHfa#lj)>Dlqod5d-hyWAU!*82>?&J$&)l6BXL+D*>;Nld z&D=Qoq2F%STAi&9PyQbO3=%NQFc1Nlo^R6k*W; ug|~c&l!9maPws|;H_u;MBDQh!8C_nm9fEUSLL9@gee%Uf)y-c5O@#q9#m(^b literal 17 UcmZP;4v=Q+u;Wl;00T}Z021&4#{d8T diff --git a/Happy_Bird/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/Happy_Bird/.gradle/buildOutputCleanup/buildOutputCleanup.lock index 26ce0c9070704e909a6f975138dd8fcf1545037b..73dde63ade4c8a6e98b911d4049a96f0dca1ad81 100644 GIT binary patch literal 17 VcmZR6*X{eBQS{781~6c&001`v1i}CS literal 17 VcmZR6*X{eBQS{781~6bN001`n1iAnK diff --git a/Happy_Bird/build/classes/java/main/com/example/happy_bird/HappyBirdMain.class b/Happy_Bird/build/classes/java/main/com/example/happy_bird/HappyBirdMain.class index 75d55ec6e8a0ae0a95b1a7a853a6fc11beda0355..3290f9c4ab319f71d098d9b80663b3387a5a5e43 100644 GIT binary patch delta 2486 zcmW-j3tY|F7RP^UuU$Dt=t&YPBubLdLqw$)Qc4{~NpFmIMs9^X%kz&Ek_^{)bH>HJ zK76hj%!9#a?lp2f2ZQS|-pn=kcGvVdpU+u)ud{!9eb@T$|JtYVCp!5P9V!oYY6lG$ zn9u=j;0i}{l38bCL-2XiJT65!FUJBSCnVIWQr1-&yF%7tUf4v9zhQrg&&Steh$r}v@@{9SrLDW5L`e6E@A{O zBOO;zgnwWL{)x|U4Ham_YTS?zH?a+OWV5?Cf&2Ih4@B`8|H4!Geu?*ZLyWi72JbBm zVUDT{P0$3G#A{2|a3&MFQ%m$FTMVMsh$lNFlOxRJggNAlQfh}K)E-qbUq>CWh1{@< zI^h7h<2ZH2dGf*q>VZe(jTh7tAE*~Tk`EE}ARFpKcH~d4)R#Odkb2QT3J9PO`Gip{ zg;OF8B{M}*0Y%ePilG(aT}N?LOYu}M^IeocM=8;gA3i~qrNN5K!aNRclz~2!i3rL< ztk?v~!6eE>q1b7ZkGWKYg)~{1r(iuzLmf@WZkmBZG#h`VIry52g?S#XQVH(Rd|@vW z_HtpbA$K}R-gJn9>4?Bt1mY--qhpk3P2UUSMN51{6eVAkx?MwGYQzA#j$pcpaJq#k zx{Wxxhcx;Hv*{t`(Ifnco}hxBVmUp-D*6@m^a6Y6B@WXooTAq_M{n>Wy~7RqV0jo> zBP1{>g1usNR~kNI`zjlRsuqY+pCCcCf?2h}MAa6B$_}%XBbF&AtP;CkxnQ^IfCFN` zR2}hm<%SuvTm>UWg(5{oB3q3xevdxvKSmT|;igjIDb`!1%jyh- zs7yqwEF`LlNLSgIq;fG?72q>fY}|@D8(1o;ayY03qFe|swFv!Gh2*+KVk{NqGRe0R zsj3Q@Y9;d3Doj(Wjcc(#hF6QSRtPr>;T9p>DlzLM<~AYRF6ss$+=r6j7qUtGXbYHKM<|E@gj$k?N_W z`wZjNbHVr(Gt~=}sF$+gE38qku}Qr_gL;cS>OGFA4>+lQ!+G@|Tv8v=sD8&?)nq&! zvESPoE!c#%+zK7p7QWmT(QJo!wnqv(AdQ`o$u7v@4#t_0RW9ym#U5~APqgQ*=)v95 zkG&DZJ&n9kolU#svDpB$#8^Gbh1y%b7-dJs_X(5AHliEAeMA_54%`nOJODj8Si*%M zibFAy2O*imkjjIR$3rkh{4+TMB^-$=j>dY9!A_3Hejb5SoPbN5gd3cU$85$s&LDdp zPwjXDd2l9m<81Qb9P;Bl8o-4#n5U#r98aTko=L?#i%NJlmGWF#%=4NLTNtbn1+V7A zW=-}|ivxU6GVw(dACo4l&&Ud5~Bi2jjf+eAMy8AB3J`pyi z;08?QZ6ez)vK^MWW5URHpG4X(uf_q9N~`8W@Z=*R`BEeYMRHsuM@4c>BquEQl9MR# zj7Ywc2lq8v^I16aIdtOl0{IOF@^=Dw0a-FH<;z&W7qN&hNzJcVipFMBP@|lV>r#=M zaO7JO={9`$4g&cuhVjpc<9kTr`P!;L{AmA>B2S(DS9?C^&Cvm z#VFNtu|$`kQqPB>%TTXZ7%#@(@?Rsd*UB#IFi;za((4hUHy}Z8l=#)i(VHZGjl{2& z>^7rJZ!wxCEU>GGjouDt-5}IEq->uXYcmUMccYE|LMpWfUV5)#lU40rE{qG&MK3~k zu|9e+`spPI)k}qOnM7D_oX*OoSmW@-&c@J*UKGv&8Dn$SxD`oHor*5%Q@MGj%FQ!Vy74UO#g;gUPW zb~v<(g{z8_P9JZ$D0E}P}zu7fLWLr<}NXs2A7 zyAVcyHf-}Nte&AYo*NtU%~t=G(G%lsezK_!R`RFDgnA>XAc{6O?{uQTi)xI!GOuo) R4=?nh4KnIzsVp2x{|DBZQs4jp delta 2535 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 S0Xu36f#LxG*)u?t{{H~XN#kJv delta 15741 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 Pr)`1&2Ik)mcqjcI!(~^H diff --git a/Happy_Bird/build/tmp/compileJava/previous-compilation-data.bin b/Happy_Bird/build/tmp/compileJava/previous-compilation-data.bin index 74625c03957e4a9397f23448869b905a37d02a71..43163670c649d5a9fb46b02552965f14b9ab6578 100644 GIT binary patch literal 19257 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 literal 19131 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
WTpSEwxpY{ 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 diff --git a/Happy_Bird/src/main/java/com/example/happy_bird/Bird.java b/Happy_Bird/src/main/java/com/example/happy_bird/Bird.java deleted file mode 100644 index 2a00776..0000000 --- a/Happy_Bird/src/main/java/com/example/happy_bird/Bird.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.example.happy_bird; - -import java.awt.*; -import java.awt.image.ImageObserver; - -public class Bird extends SpielObjekt { - - public Bird(int xWert, int yWert) { - super(xWert, yWert); - } - - @Override - public void tick() { - - } - - @Override - public void render(Graphics2D g, ImageObserver obs) { - - } -} diff --git a/Happy_Bird/src/main/java/com/example/happy_bird/FormatingClass.java b/Happy_Bird/src/main/java/com/example/happy_bird/FormatingClass.java index fef1624..280516e 100644 --- a/Happy_Bird/src/main/java/com/example/happy_bird/FormatingClass.java +++ b/Happy_Bird/src/main/java/com/example/happy_bird/FormatingClass.java @@ -14,7 +14,7 @@ public class FormatingClass { */ public FormatingClass() { } - /*** + /*** Alteköster * Formatiert alle Buttons und fügt sie der Pane hinzu * @param buttons ButtonArray mit allen Arrays * @param pane Pane, auf der die Buttons angezeigt werden @@ -36,7 +36,7 @@ public class FormatingClass { } } - /*** + /*** Alteköster * Formatiert alle kleinen Labels (keine Überschrift) und fügt sie der Pane hinzu * @param labels LabelArray mit allen Labels * @param pane Pane, auf der die Labels angezeigt werden @@ -61,7 +61,7 @@ public class FormatingClass { } } - /*** + /*** Alteköster * Formatiert alle Überschriften-Labels und fügt sie der Pane hinzu * @param labels LabelArray mit Überschriften-Labels * @param pane Pane, auf der die Labels angezeigt werden @@ -85,7 +85,7 @@ public class FormatingClass { } } - /*** + /*** Alteköster * Formatiert alle Textfelder und fügt sie der Pane hinzu * @param textfields TextFieldArray mit allen Textfeldern * @param pane Pane, auf der die Textfelder angezeigt werden @@ -102,7 +102,7 @@ public class FormatingClass { } } - /*** + /*** Alteköster * Formatiert den soundSlider und fügt ihn der Pane hinzu * @param slider SoundSlider * @param pane Pane, auf der der Slider angezeigt wird @@ -117,7 +117,7 @@ public class FormatingClass { slider.setVisible(false); } - /*** + /*** Alteköster * Formatiert den PauseScreen */ public void pauseScreenFormating(Pane pause, Label pauseMenuLabel, Label soundLabelPause) { @@ -152,7 +152,7 @@ public class FormatingClass { "-fx-alignment: center;"); } - /*** + /*** Pape * formatiert den End-Screen */ public void endScreenFormating(Pane endScreen, Label endScreenHeadline, Label currentScoreEndscreenLabel) { @@ -185,7 +185,7 @@ public class FormatingClass { "-fx-alignment: center;"); } - /*** + /*** Alteköster * Erstellt ein neues BackgroundImage aus einer Source für ein .png * @param img Source eines .png * @return backgroundImage @@ -206,7 +206,7 @@ public class FormatingClass { return backgroundImage; } - /*** + /*** Alteköster * Formatiert die Buttons, mit denen man das Hintergrundbild ändern kann * @param backgroundButtons Array der Buttons * @param pane Pane, auf der die Buttons angezeigt werden sollen @@ -236,9 +236,4 @@ public class FormatingClass { pane.getChildren().add(backgroundButtons[i]); } } - - - public void menueScreenFormating(Label[] labels, Button[] buttons) { - - } } diff --git a/Happy_Bird/src/main/java/com/example/happy_bird/GameObject.java b/Happy_Bird/src/main/java/com/example/happy_bird/GameObject.java deleted file mode 100644 index 6e36e87..0000000 --- a/Happy_Bird/src/main/java/com/example/happy_bird/GameObject.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.example.happy_bird; - - -import javafx.scene.Node; - -public abstract class GameObject extends Node { - protected int xKoord; - protected int yKoord; - protected int width; - protected int height; - protected boolean isPassedOn = false; - - /*** - * Konstruktor GameObject - * Variablen werden zugewiesen - * @param x x-Position - * @param y y-Position - * @param width Breite - * @param height Höhe - */ - public GameObject(int x, int y, int width, int height) { - this.xKoord = x; - this.yKoord = y; - this.width = width; - this.height = height; - } - - - public abstract void setImage(); - - /*** - * Setzt ein Object auf eine neue Position - * param newX neue x-Position - */ - public abstract void resetToNewPosition(int newX); - - /* - // Prüfung ob Rectangle true oder false ist - public boolean intersect(Rectangle rectangle) { - return rectangle.intersects(topPipe) || rectangle.intersects(bottomPipe); - } - - // Röhren Counter → Check, wenn Röhre durchflogen ist - public boolean passedOn(Rectangle rectangle) { - return rectangle.x > xKoord + width && !isPassedOn; - } - - // Bei Bewegung der X Koordinate werden Röhren generiert - public void moveX(int dx) { - xKoord -= dx; - topPipe.x -= dx; - bottomPipe.x -= dx; - }*/ -} diff --git a/Happy_Bird/src/main/java/com/example/happy_bird/GameScreen.java b/Happy_Bird/src/main/java/com/example/happy_bird/GameScreen.java deleted file mode 100644 index 7d8ea08..0000000 --- a/Happy_Bird/src/main/java/com/example/happy_bird/GameScreen.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.example.happy_bird; - -import javafx.application.Application; -import javafx.event.ActionEvent; -import javafx.event.EventHandler; -import javafx.fxml.FXMLLoader; -import javafx.geometry.Insets; -import javafx.geometry.Pos; -import javafx.scene.Scene; -import javafx.scene.control.Button; -import javafx.scene.control.Label; -import javafx.scene.control.TextField; -import javafx.scene.control.Slider; -import javafx.scene.image.*; -import javafx.scene.image.Image; -import javafx.scene.layout.*; -import javafx.scene.text.TextAlignment; -import javafx.stage.Stage; -import java.awt.*; -import java.io.IOException; - -public class GameScreen extends HappyBirdMain -{ - - -} diff --git a/Happy_Bird/src/main/java/com/example/happy_bird/HappyBird.java b/Happy_Bird/src/main/java/com/example/happy_bird/HappyBird.java deleted file mode 100644 index 07b4181..0000000 --- a/Happy_Bird/src/main/java/com/example/happy_bird/HappyBird.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.example.happy_bird; - -import javafx.scene.control.Button; -import javafx.scene.control.Label; -import javafx.scene.control.TextField; - -public class HappyBird extends HappyBirdMain { - -} diff --git a/Happy_Bird/src/main/java/com/example/happy_bird/HappyBirdMain.java b/Happy_Bird/src/main/java/com/example/happy_bird/HappyBirdMain.java index d3f49e0..20c9f03 100644 --- a/Happy_Bird/src/main/java/com/example/happy_bird/HappyBirdMain.java +++ b/Happy_Bird/src/main/java/com/example/happy_bird/HappyBirdMain.java @@ -16,7 +16,6 @@ import javafx.stage.Stage; import javafx.scene.shape.*; import javafx.util.Duration; -//import java.awt.*; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; @@ -30,6 +29,7 @@ public class HappyBirdMain extends Application { private int playerhighscore; private boolean openEndScreen = false; private boolean endScreenOpened = false; + /* Formatierungsklasse */ private final FormatingClass formatingClass = new FormatingClass(); @@ -114,12 +114,7 @@ public class HappyBirdMain extends Application { //gameRunning: das Spiel läuft/ GameScreen ist aufgerufen private boolean gameRunning; - /*TranslateTransitions für obere und untere Pipes*/ - - //Birdview - //ImageView birdView = new ImageView(bird); - private TranslateTransition top; private TranslateTransition bottom; @@ -144,6 +139,7 @@ public class HappyBirdMain extends Application { launch(args); } + /** alle */ @Override public void start(Stage stage) { stage.setTitle("Happy Bird"); @@ -167,7 +163,7 @@ public class HappyBirdMain extends Application { stage.show(); } - /*** + /*** Alteköster * Erstellt den Bird als Rectangle mit einem Bild. * @return happyBird ein Rectangle */ @@ -188,7 +184,7 @@ public class HappyBirdMain extends Application { return happyBird; } - /*** + /*** Alteköster * Erstellt zwei Pipes als Rectangle und fügt ihnen eine Animation über eine Transition hinzu * @return pipes zwei Rectangles */ @@ -252,7 +248,7 @@ public class HappyBirdMain extends Application { return pipes; } - /*** + /*** alle * Generiert den GameScreen durch Ausblenden und * Sichtbarmachen der richtigen Buttons, Labels, ... */ @@ -342,7 +338,7 @@ public class HappyBirdMain extends Application { } - /** + /*** alle * Generiert den GameScreen durch Ausblenden und * Sichtbarmachen der richtigen Buttons, Labels, ... */ @@ -388,28 +384,7 @@ public class HappyBirdMain extends Application { startGameButton.setVisible(false); menuButton.setVisible(false); - - /*Vogel hinzufügen, bisher nur als Bild - ImageView birdView = new ImageView(bird); - - /*Vogel hinzufügen, bisher nur als Bild*/ - /* - pane.getChildren().add(birdView); - birdView.setLayoutY(325); - birdView.setLayoutX(50);*/ - - /*Pipes oben, unten hinzufügen, bisher nur als Bild - ImageView upperPipeView = new ImageView(upperPipe); - pane.getChildren().add(upperPipeView); - upperPipeView.setLayoutX(400); - upperPipeView.setLayoutY(0); - - ImageView lowerPipeView = new ImageView(lowerPipe); - pane.getChildren().add(lowerPipeView); - lowerPipeView.setLayoutX(400); - lowerPipeView.setLayoutY(430);*/ - - + /** Alteköster */ /*Timeline: alle 2 Sekunden spawnt eine neue Pipe am rechten Rand*/ timeline = new Timeline(new KeyFrame(Duration.seconds(1.5), e ->{ /*Pipes erstellen*/ @@ -419,20 +394,11 @@ public class HappyBirdMain extends Application { for(Rectangle pipe : pipesTopBottom) { pane.getChildren().add(pipe); } - - - /*Transitions abspielen*/ top.play(); bottom.play(); })); - /*timelineBird = new Timeline(new KeyFrame(Duration.seconds(50), e -> { - Rectangle happyBird = createBird(); - pane.getChildren().add(happyBird); - birdTransition.play(); - }));*/ - happyBird = createBird(); pane.getChildren().add(happyBird); @@ -441,6 +407,7 @@ public class HappyBirdMain extends Application { System.out.println("tl: "+timeline.getStatus()); + /** Alteköster, Bickmann, Pape*/ collisionChecker = new AnimationTimer() { @Override public void handle(long timestamp) { @@ -465,7 +432,7 @@ public class HappyBirdMain extends Application { } - /*** + /*** Bickmann, Alteköster * Überprüft, ob eine Pipe mit dem Bird kollidiert * @param happyBird Rechteck mit dem Bird * @param pipe Rechteck mit einer Pipe @@ -509,7 +476,7 @@ public class HappyBirdMain extends Application { } - /*** + /*** alle * Hauptmenü wird ausgeblendet, Nameneingabe folgt */ public void startButtonClick() { @@ -556,7 +523,7 @@ public class HappyBirdMain extends Application { startGameButton.setOnAction(event -> startGameButtonClick()); } - /*** + /*** alle * Hauptmenü wird ausgeblendet, Einstellungen folgen */ public void settingsButtonClick() { @@ -593,7 +560,7 @@ public class HappyBirdMain extends Application { }); } - /*** + /*** alle * Hauptmenü wird ausgeblendet, Einstellungen folgen */ public void settingsButtonPauseClick() { @@ -635,7 +602,7 @@ public class HappyBirdMain extends Application { }); } - /*** + /*** Pape * Hauptmenü wird ausgeblendet, Highscores folgen */ public void highscoresButtonClick() { @@ -659,7 +626,7 @@ public class HappyBirdMain extends Application { menuButton.setVisible(true); } - /*** + /*** alle * Nameneingabe, Einstellungen und Highscores werden ausgeblendet * Erneutes Anzeigen des Hauptmenüs */ @@ -681,9 +648,6 @@ public class HappyBirdMain extends Application { /*soundSlider ausblenden*/ soundSlider.setVisible(false); - /*soundLabel ausblenden*/ - //soundLabel.setVisible(false); - /*Textfelder ausblenden*/ for(TextField feld : inputFields) { feld.setVisible(false); @@ -695,18 +659,7 @@ public class HappyBirdMain extends Application { } } - public void keyPressed(KeyEvent e) { - scene.setOnKeyPressed(event -> { - if (event.getCode() == KeyCode.W) { - moveBirdUp(); - } - - if (event.getCode() == KeyCode.S) { - moveBirdDown(); - } - }); - }; - /*** + /*** Pape * Startet Spiel nach Namenseingabe */ @@ -771,7 +724,7 @@ public class HappyBirdMain extends Application { } } - /*** + /*** alle * Zurück zum Spiel aus dem PauseScreen heraus */ public void continueButtonClick() { @@ -788,7 +741,7 @@ public class HappyBirdMain extends Application { /*Pausieren der Transitions/ Pipes*/ for(Transition transition : transitions) { transition.play(); - System.out.println(transition.toString()); + //System.out.println(transition.toString()); } /*Pausieren der Timeline, sodass keine neuen Pipes spawnen*/ @@ -798,7 +751,7 @@ public class HappyBirdMain extends Application { gameRunning = false; } - /*** + /*** alle * alles vom pane entfernen, da als nächstes zum Hauptmenü */ private void menuButtonPauseClick() { @@ -814,7 +767,7 @@ public class HappyBirdMain extends Application { gameRunning = false; } - /*** + /*** Alteköster * Ruft das Pause-Menü im Spiel auf oder blendet es wieder aus */ public void pauseButtonClick(Boolean gameRuns) { @@ -894,7 +847,7 @@ public class HappyBirdMain extends Application { } } - /*** + /*** Pape * Erste Datenabfrage als Test - wird später gelöscht */ public void dataQuery() { @@ -912,7 +865,7 @@ public class HappyBirdMain extends Application { } } - /*** + /*** Pape * getPlayerHighscore() berechnet den höchsten erreichten Wert des aktuellen Spielers * (nicht den gesamt höchsten Highscore) * @@ -936,7 +889,7 @@ public class HappyBirdMain extends Application { return highscore; } - /*** + /*** Pape * calculateHighscores() gibt die Highscores aus ( die 5 höchsten Werte, die bis jetzt gespielt wurden ) * * @return die 5 höchsten erreichten Scores @@ -958,7 +911,7 @@ public class HappyBirdMain extends Application { return bestFiveHighscores; } - /*** + /*** Pape * calculatePersonalHighscores() berechnet die 5 höchsten erreichten Scores des aktuellen Spielers * * @return die 5 höchsten erreichten Scores des aktuellen Spielers @@ -982,7 +935,7 @@ public class HappyBirdMain extends Application { return bestFiveHighscores; } - /*** + /*** Pape * Fügt die erreichte Punktzahl des Spielers für den Spieler mit seinem Namen und Kürzel in die Datenbank ein * */ @@ -1005,7 +958,7 @@ public class HappyBirdMain extends Application { } } - /*** + /*** Pape * Überprüft, ob der eingegebene Name den Vorgaben entspricht * (Erlaubte Zeichen: Groß- und Kleinbuchstaben, Umlaute und Leerzeichen * @@ -1037,7 +990,7 @@ public class HappyBirdMain extends Application { return 0; } - /*** + /*** Pape * Überprüft, ob das eingegebene Akronym den Vorgaben entspricht * ( >= 3 Zeichen, <= 12 Zeichen, Groß- und Kleinbuchstaben, Zahlen 0-9 -- keine Sonderzeichen) * @return 0, wenn ja, @@ -1061,7 +1014,7 @@ public class HappyBirdMain extends Application { return 0; } - /*** + /*** Pape, Bickmann, Ekmen * public void generateEndScreen() generiert den Endscreen - sobald das Spiel beendet ist * (man verloren hat). Es werden die Punkte des Spielers angezeigt, und es bestehen die Möglichkeiten, * das Spiel neu zu starten @@ -1076,9 +1029,6 @@ public class HappyBirdMain extends Application { pauseButton.setVisible(false); currentScoreLabel.setVisible(false); - /**/ - - endScreen.getChildren().add(endScreenHeadline); endScreenHeadline.setVisible(true); @@ -1103,7 +1053,7 @@ public class HappyBirdMain extends Application { restartGameButton.setOnAction(event -> restartGameButtonClick()); } - /*** + /*** Pape, Bickmann, Ekmen * die Funktion restartGameButtonClick() startet das Spiel neu */ private void restartGameButtonClick() { @@ -1121,7 +1071,7 @@ public class HappyBirdMain extends Application { startGameButtonClick(); } - /*** + /*** Pape * personalHighscoresButtonClick() zeigt bei Drücken des Highscore-Buttons im Endscreen * die persänlichen besten 5 Scores an */ @@ -1166,7 +1116,7 @@ public class HappyBirdMain extends Application { }); } - /*** + /*** Pape, Bickmann, Ekmen * backMenuButtonClick() ruft aus dem Endscreen das Hauptmenü auf */ private void backMenuButtonClick() { @@ -1184,7 +1134,9 @@ public class HappyBirdMain extends Application { generateMenueScreen(); } - // Aufstieg dauert immer länger + /*** Bickmann + * Aufstieg dauert immer länger + */ private void moveBirdUp() { velocity = (float) -4.5; var pos = velocity += gravity; @@ -1192,7 +1144,9 @@ public class HappyBirdMain extends Application { happyBird.setLayoutY(birdPositionMovedBy); } - // Fall geht schneller + /*** Bickmann + * Fall geht schneller + */ private void moveBirdDown() { var pos = velocity -= gravity; birdPositionMovedBy -= pos; diff --git a/Happy_Bird/src/main/java/com/example/happy_bird/HelloApplication.java b/Happy_Bird/src/main/java/com/example/happy_bird/HelloApplication.java deleted file mode 100644 index 442874e..0000000 --- a/Happy_Bird/src/main/java/com/example/happy_bird/HelloApplication.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.example.happy_bird; - -import javafx.application.Application; -import javafx.fxml.FXMLLoader; -import javafx.scene.Scene; -import javafx.stage.Stage; - -import java.io.IOException; - -public class HelloApplication extends Application { - @Override - public void start(Stage stage) throws IOException { - FXMLLoader fxmlLoader = new FXMLLoader(HelloApplication.class.getResource("hello-view.fxml")); - Scene scene = new Scene(fxmlLoader.load(), 320, 240); - stage.setTitle("Hello!"); - stage.setScene(scene); - stage.show(); - } - - public static void main(String[] args) { - launch(); - } -} \ No newline at end of file diff --git a/Happy_Bird/src/main/java/com/example/happy_bird/HelloController.java b/Happy_Bird/src/main/java/com/example/happy_bird/HelloController.java deleted file mode 100644 index de994c2..0000000 --- a/Happy_Bird/src/main/java/com/example/happy_bird/HelloController.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.example.happy_bird; - -import javafx.fxml.FXML; -import javafx.scene.control.Label; - -public class HelloController { - @FXML - private Label welcomeText; - - @FXML - protected void onHelloButtonClick() { - welcomeText.setText("Welcome to JavaFX Application!"); - } -} \ No newline at end of file diff --git a/Happy_Bird/src/main/java/com/example/happy_bird/MariaDB.java b/Happy_Bird/src/main/java/com/example/happy_bird/MariaDB.java index 70624e0..5b96c09 100644 --- a/Happy_Bird/src/main/java/com/example/happy_bird/MariaDB.java +++ b/Happy_Bird/src/main/java/com/example/happy_bird/MariaDB.java @@ -1,5 +1,6 @@ package com.example.happy_bird; +/** Pape */ import java.sql.*; public class MariaDB { diff --git a/Happy_Bird/src/main/java/com/example/happy_bird/Movement.java b/Happy_Bird/src/main/java/com/example/happy_bird/Movement.java deleted file mode 100644 index ec570d5..0000000 --- a/Happy_Bird/src/main/java/com/example/happy_bird/Movement.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.example.happy_bird; - -public enum Movement { - Up, - Down, - None -} diff --git a/Happy_Bird/src/main/java/com/example/happy_bird/Pipe.java b/Happy_Bird/src/main/java/com/example/happy_bird/Pipe.java deleted file mode 100644 index b85698a..0000000 --- a/Happy_Bird/src/main/java/com/example/happy_bird/Pipe.java +++ /dev/null @@ -1,104 +0,0 @@ -package com.example.happy_bird; - -import java.awt.*; -import java.awt.image.BufferedImage; -import java.awt.image.ImageObserver; - -public class Pipe extends SpielObjekt { - - private java.awt.Image lowerPipe; - // private java.awt.Image lowerPipe = new java.awt.Image("file:src/main/resources/com/example/happy_bird/pics/PipeUnten.png", 86, 300, false, false); - private int xWert = 0, yWert = 0; - - public Pipe(int xWert, int yWert) { - super(xWert, yWert); - lowerPipe = Toolkit.getDefaultToolkit().getImage(this.getClass().getResource("com/example/happy_bird/")); - //scale lowerPipe(initialWidth, initialHeight) - } - - public void scaleTopPipe(int width, int height) { - lowerPipe = lowerPipe.getScaledInstance(width, height, Image.SCALE_SMOOTH); - } - - public Image getPipe() { - return getPipe(); - } - - /** - * Method um die Breite des BottomPipe-Objekts zu erhalten - * @return int - */ - public int getWidth(int width) { - return lowerPipe.getWidth(null); - } - /** - * Methode um die Höhe des BottomPipe-Objekts zu erhalten - * @return int - */ - public int getHeight(int height) { - return lowerPipe.getHeight(null); - } - - /** - * Methode zum Festlegen der x-Position des BottomPipe-Objekts - * @param x - */ - public void setX(int x) { - xWert = x; - } - - /** - * Methode zum Abrufen der x-Position des BottomPipe-Objekts - * @return int - */ - public int getX() { - return xWert; - } - - /** - * Methode zum Festlegen der y-Position des BottomPipe-Objekts - * @param y - */ - public void setY(int y) { - yWert = y; - } - - /** - * Methode zum Abrufen der y-Position des BottomPipe-Objekts - * @return int - */ - public int getY() { - return yWert; - } - - /** - * Methode zum Erfassen eines Rechtecks, das das Bild des BottomPipe umreißt - * @return Rechteck, das die Position des BottomPipe auf dem Bildschirm umreißt - */ - public Rectangle getRectangle() { - return (new Rectangle(xWert, yWert, lowerPipe.getWidth(null), lowerPipe.getHeight(null))); - } - - /** - * Methode zum Erfassen eines BufferedImage, das das Bildobjekt der TopPipe darstellt - * @return TopPipe's BufferedImage-Objekt - */ - public BufferedImage getBI() { - BufferedImage bi = new BufferedImage(lowerPipe.getWidth(null), lowerPipe.getHeight(null), BufferedImage.TYPE_INT_ARGB); - Graphics g = bi.getGraphics(); - g.drawImage(lowerPipe, 0, 0, null); - g.dispose(); - return bi; - } - - - @Override - public void tick() { - - } - - @Override - public void render(Graphics2D g, ImageObserver obs) { - - } -} diff --git a/Happy_Bird/src/main/java/com/example/happy_bird/PipeTop.java b/Happy_Bird/src/main/java/com/example/happy_bird/PipeTop.java deleted file mode 100644 index 4f086d4..0000000 --- a/Happy_Bird/src/main/java/com/example/happy_bird/PipeTop.java +++ /dev/null @@ -1,103 +0,0 @@ -package com.example.happy_bird; - -import java.awt.Graphics; -import java.awt.Rectangle; -import java.awt.Toolkit; -import java.awt.Image; -import java.awt.image.BufferedImage; - -public class PipeTop { - //global variables - private Image topPipe; - private int xLoc = 0, yLoc = 0; - - public PipeTop(int initialWidth, int initialHeight) { - topPipe = Toolkit.getDefaultToolkit().getImage(this.getClass().getResource("resources/tube_top.png")); - scaleTopPipe(initialWidth, initialHeight); - } - - /** - * Methode zum Skalieren des topPipe-Sprites in die gewünschten Dimensionen - * @param width Die gewünschte Breite der topPipe - * @param height Die gewünschte Höhe der topPipe - */ - public void scaleTopPipe(int width, int height) { - topPipe = topPipe.getScaledInstance(width, height, Image.SCALE_SMOOTH); - } - - /** - * Getter-Methode für das TopPipe-Objekt. - * @return-Image - */ - public Image getPipe() { - return topPipe; - } - - /** - * Methode zum Abrufen der Breite des TopPipe-Objekts - * @return int - */ - public int getWidth() { - return topPipe.getWidth(null); - } - - /** - * Methode, um die Höhe des TopPipe-Objekts zu erhalten - * @return int - */ - public int getHeight() { - return topPipe.getHeight(null); - } - - /** - * Methode zum Festlegen der x-Position des TopPipe-Objekts - * @param x - */ - public void setX(int x) { - xLoc = x; - } - - /** - * Methode zum Abrufen der x-Position des TopPipe-Objekts - * @return int - */ - public int getX() { - return xLoc; - } - - /** - * Methode zum Festlegen der y-Position des TopPipe-Objekts - * @param y - */ - public void setY(int y) { - yLoc = y; - } - - /** - * Methode zum Abrufen der y-Position des TopPipe-Objekts - * @return int - */ - public int getY() { - return yLoc; - } - - /** - * Methode zum Erfassen eines Rechtecks, das das Bild der TopPipe umreißt - * @return Rechteck, das die Position der TopPipe auf dem Bildschirm umreißt - */ - public Rectangle getRectangle() { - return (new Rectangle(xLoc, yLoc, topPipe.getWidth(null), topPipe.getHeight(null))); - } - - /** - * Methode zum Erfassen eines BufferedImage, das das Bildobjekt der TopPipe darstellt - * @return BufferedImage-Objekt von TopPipe - */ - public BufferedImage getBI() { - BufferedImage bi = new BufferedImage(topPipe.getWidth(null), topPipe.getHeight(null), BufferedImage.TYPE_INT_ARGB); - Graphics g = bi.getGraphics(); - g.drawImage(topPipe, 0, 0, null); - g.dispose(); - return bi; - } -} \ No newline at end of file diff --git a/Happy_Bird/src/main/java/com/example/happy_bird/Pipes.java b/Happy_Bird/src/main/java/com/example/happy_bird/Pipes.java deleted file mode 100644 index 28ef7dc..0000000 --- a/Happy_Bird/src/main/java/com/example/happy_bird/Pipes.java +++ /dev/null @@ -1,110 +0,0 @@ -package com.example.happy_bird; - -import javafx.animation.AnimationTimer; -import javafx.animation.Transition; -import javafx.animation.TranslateTransition; -import javafx.scene.Node; -import javafx.scene.image.Image; -import javafx.scene.layout.Pane; -import javafx.scene.paint.ImagePattern; -import javafx.scene.shape.Rectangle; -import javafx.animation.TranslateTransition; -import javafx.util.Duration; - -public class Pipes extends Rectangle { - private int y; - private Rectangle topPipe; - private Rectangle bottomPipe; - private int distanceBeweenPipes = 250; - private boolean isPassedOn = false; - /*** - * Konstruktor GameObject - * Variablen werden zugewiesen - * param x x-Position - * param y y-Position - * param width Breite - * param height Höhe - */ - public Pipes(){ - - } - - - public Rectangle[] createPipes(Transition top, Transition bottom, Pane pane) { - int y = (int) (Math.random() * (200))-300; - Rectangle topPipe = new Rectangle(1000, y, 91, 500); - Rectangle bottomPipe = new Rectangle(1000, y + 400 + 250, 91, 500); - - - Image img = new Image("file:src/main/resources/com/example/happy_bird/pics/PipeTop.png"); - topPipe.setFill(new ImagePattern(img)); - - img = new Image("file:src/main/resources/com/example/happy_bird/pics/PipeBottom.png"); - bottomPipe.setFill(new ImagePattern(img)); - - top = new TranslateTransition(); - bottom = new TranslateTransition(); - - ((TranslateTransition) top).setNode(topPipe); - ((TranslateTransition) top).setDuration(Duration.seconds(5)); - ((TranslateTransition) top).setToX(-1200); - top.setOnFinished(e -> { - pane.getChildren().remove(topPipe); - }); - - ((TranslateTransition) bottom).setNode(bottomPipe); - ((TranslateTransition) bottom).setDuration(Duration.seconds(5)); - ((TranslateTransition) bottom).setToX(-1200); - bottom.setOnFinished(e -> { - pane.getChildren().remove(bottomPipe); - }); - - Rectangle[] pipes = {topPipe, bottomPipe}; - return pipes; - } - - public void destroy(Pane pane) { - - pane.getChildren().remove(topPipe); - pane.getChildren().remove(bottomPipe); - } - - /*** - * Setzt für die beiden Rechtecke der Pipes das Hintergrundbild - */ - public void setImage() { - Image img = new Image("file:src/main/resources/com/example/happy_bird/pics/PipeTop.png"); - topPipe.setFill(new ImagePattern(img)); - - img = new Image("file:src/main/resources/com/example/happy_bird/pics/PipeBottom.png"); - bottomPipe.setFill(new ImagePattern(img)); - } - - /*** - * Setzt ein Object auf eine neue Position - * param newX neue x-Position - */ - public void resetToNewPosition(int newX) { - topPipe.setX(newX); - bottomPipe.setX(newX); - //xKoord = newX; - } - - /* - // Prüfung ob Rectangle true oder false ist - public boolean intersect(Rectangle rectangle) { - return rectangle.intersects(topPipe) || rectangle.intersects(bottomPipe); - } - - // Röhren Counter → Check, wenn Röhre durchflogen ist - public boolean passedOn(Rectangle rectangle) { - return rectangle.x > xKoord + width && !isPassedOn; - } - - // Bei Bewegung der X Koordinate werden Röhren generiert - public void moveX(int dx) { - xKoord -= dx; - topPipe.x -= dx; - bottomPipe.x -= dx; - }*/ -} \ No newline at end of file diff --git a/Happy_Bird/src/main/java/com/example/happy_bird/SpielObjekt.java b/Happy_Bird/src/main/java/com/example/happy_bird/SpielObjekt.java deleted file mode 100644 index c0bdab5..0000000 --- a/Happy_Bird/src/main/java/com/example/happy_bird/SpielObjekt.java +++ /dev/null @@ -1,80 +0,0 @@ -package com.example.happy_bird; -import java.awt.Graphics2D; -import java.awt.Image; -import java.awt.image.ImageObserver; - -public abstract class SpielObjekt { - private int xWert; - private int yWert; - private int fxWert; - private int fyWert; - private int breite; - private int hoehe; - private Image bild; - - public SpielObjekt(int xWert, int yWert) { - this.xWert = xWert; - this.yWert = yWert; - } - - public int getyWert() { - return yWert; - } - - public void setyWert(int yWert) { - this.yWert = yWert; - } - - public int getxWert() { - return xWert; - } - - public void setxWert(int xWert) { - this.xWert = xWert; - } - - public int getFxWert() { - return fxWert; - } - - public void setFxWert(int fxWert) { - this.fxWert = fxWert; - } - - public int getFyWert() { - return fyWert; - } - - public void setFyWert(int fyWert) { - this.fyWert = fyWert; - } - - public int getBreite() { - return breite; - } - - public void setBreite(int breite) { - this.breite = breite; - } - - public int getHoehe() { - return hoehe; - } - - public void setHoehe(int hoehe) { - this.hoehe = hoehe; - } - - public Image getBild() { - return bild; - } - - public void setBild(Image bild) { - this.bild = bild; - } - - - public abstract void tick(); - - public abstract void render(Graphics2D g, ImageObserver obs); -} \ No newline at end of file diff --git a/Happy_Bird/src/main/java/com/example/happy_bird/TopClass.java b/Happy_Bird/src/main/java/com/example/happy_bird/TopClass.java deleted file mode 100644 index 8060490..0000000 --- a/Happy_Bird/src/main/java/com/example/happy_bird/TopClass.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.example.happy_bird; - -public class TopClass { - - private static final int PIPE_GAP = 0; - private static final int PIPE_WIDTH = 0; - - - -} diff --git a/Happy_Bird/src/main/resources/com/example/happy_bird/hello-view.fxml b/Happy_Bird/src/main/resources/com/example/happy_bird/hello-view.fxml deleted file mode 100644 index 456fe18..0000000 --- a/Happy_Bird/src/main/resources/com/example/happy_bird/hello-view.fxml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - -