From e2457886c854ae8aaa09e079c22d582e8fd19ea1 Mon Sep 17 00:00:00 2001 From: pbs2h20aal Date: Fri, 21 Jan 2022 15:25:44 +0100 Subject: [PATCH] =?UTF-8?q?Hinzuf=C3=BCgen=20FormatingClass?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../executionHistory/executionHistory.bin | Bin 105360 -> 136114 bytes .../executionHistory/executionHistory.lock | Bin 17 -> 17 bytes .../.gradle/7.1.1/fileHashes/fileHashes.bin | Bin 26447 -> 27747 bytes .../.gradle/7.1.1/fileHashes/fileHashes.lock | Bin 17 -> 17 bytes .../buildOutputCleanup.lock | Bin 17 -> 17 bytes .../buildOutputCleanup/outputFiles.bin | Bin 20117 -> 20567 bytes Happy_Bird/.gradle/checksums/checksums.lock | Bin 17 -> 17 bytes .../.gradle/checksums/md5-checksums.bin | Bin 22997 -> 23047 bytes .../.gradle/checksums/sha1-checksums.bin | Bin 40475 -> 40637 bytes .../example/happy_bird/HappyBirdMain.class | Bin 23887 -> 21596 bytes .../build/classes/java/main/module-info.class | Bin 388 -> 392 bytes .../build/libs/Happy_Bird-1.0-SNAPSHOT.jar | Bin 432075 -> 435716 bytes .../compileJava/previous-compilation-data.bin | Bin 18024 -> 18193 bytes .../example/happy_bird/FormatingClass.java | 239 ++++++++++++++ .../com/example/happy_bird/GameObject.java | 48 +++ .../com/example/happy_bird/HappyBirdMain.java | 305 ++---------------- .../java/com/example/happy_bird/Movement.java | 7 + 17 files changed, 322 insertions(+), 277 deletions(-) create mode 100644 Happy_Bird/src/main/java/com/example/happy_bird/FormatingClass.java create mode 100644 Happy_Bird/src/main/java/com/example/happy_bird/GameObject.java create mode 100644 Happy_Bird/src/main/java/com/example/happy_bird/Movement.java diff --git a/Happy_Bird/.gradle/7.1.1/executionHistory/executionHistory.bin b/Happy_Bird/.gradle/7.1.1/executionHistory/executionHistory.bin index a5c831f73f95ee4d99a2542aac772976ad364138..b256089e7c9a32b73b3df5ae91a8f963546e2ed2 100644 GIT binary patch delta 5402 zcmb7I2~<GNVqjtFuORg}|3OrvnAm%R+Rj!k|&es2F&@kGfIlKr!&AUb3wrYg;sRLYHU# z&-7u|dQa-4Zs1Z~I}l6#hs~d>J0!Y->H}ASv)46)%Q1}`yjsQvm&YigK|z#Mo)(uR zNsCKP@{CL6TxPVP@PzF-^LWpTH}>^GLGJhofm8NK^)nv`pSyB%ewNjMSM-Se4mdw| z8gCP%QQ6Bs;cX+*&RlC=4v~6sUmlSJE6jO?L^98_xB?8qMf%#y77DZx7qSP-UUK*J;Jzla_ z!WH;<1C?)ABv-CZY5BqIgU#r80T9BvT79E8U}P@(egRmbI^8P*f`z^f4Io^Wr9W_| zz0x^6QsuC-9DuvTSk)rn0q)VF`Lg7-Qu^3yO+C1{dv^V&j|4q_U+7;5uD3)3oO*`xU_G+>0T%6>A!wt7T~TxEx0Kvp%}-qHYJ51UubhlMQ3L4M zHjTIU8MX$)+w6EsT0+$lFl9zIE!tlm1qy~1s&(K{omytq$C>-j)R3IIf!>6p1bNW_ zwMl>(uZ^ha$0~T2h`3)2YOysCb*&>L7yRFWlZ;$px{Fwnhh zVVTS6SIUPrWpjg3wl|on%BfKTzq?JUZFZ%uZRh*>d(_s0H?NXeC-Z|L-s_bQfKoz=g5-`&S9C5!87{N;_cnx z3Wo0vtPT+J-v&LVC&Gk*1saVwR=vOrqT9_A7$KKjuu!8MwdMjbOgj(;EBtigsC-vaL9}?*_uk9X6=KmYgq-^k*OoPo&-Bp7PBJN*ytg*TrbO65t)rU^q za=OrJy!YqB;hbOA-+4%faQiV6dbdp7@NSu7IyXr#Ohj~yB4K7! zR9b4JEFo2<$td79$tVbC6eBJsb0{luMtm+vBoB_4zSsVXQC%|dfc_QfmrfG0t;YD_n?3kU>_NB zyhQAUk%!S=YdWzlXx^jg%kHTmV_Gwxkq21`(Y^*HxPcTQpM}K(Nz!B^tw5{A$*GB$ zS(0Kr=!~LGaz)8o(Bp{*JoWoi@9j=}l1m4m?K_YxY!~={WNFJcvNW4YlDw&BjPzHz z5{Cc8N51aBnXNFOQ3kM1&VyHf8zFdgH*$h6(2gGyKEu+x@0&Rh(HK=oOF zwkm56HOTB?Abn&#sHZH5_hKBYp;JsVAZrZJM8xXS5I<4RS=>T6ANa63PDqWd-gSfO za~~1Lqb@RAnm=0L9cgtdD7pLK?>T$7E1O5PU@n|M^)gNAY!oBGV&D>0^z!exy1`6Y zGAvfLWHr)C-I|?cQ!_o?Yp>mx%9TfNRb%{N$M<2@V??)>S-1A#i5g}tr$sHZF8O-v zWvM8tq4LN|;p}$hsZui5vq!_MW!ZGSMKfy!EoqqbaTZ;Wy$`eQq9@tEX4ZP5f-q|n z5ec&*+DQ$w9wTtVtS0fz4T0;g*9OlAzdT&l<%U_ZAS5xsHt6U?87K5fioxG5;;z-V z&tDlczG3j#rQWV<;=Ej%S;yI)sy!yWyXU5OKR4rrBRlU6!`j`L&vs|9D@qv;Z2hDIlfP3=Yj}QpdTZydqb-Vm z5r>NM35lC4FfEvE$1R&~I%$F9Lr7d`$rf8CK<_$R=yhxc`lw(t7(xA82h4=|%0Yip!SEx1Itzi&?p@d)by=7^yc}gIcc#2i?#Oj& zrYj+sRqM`tW29H9-U=ktSvD^*LWJ|Ykzn}2e7m5cT3M8oZU@QC_fhNz224Vg9|J>F zX9sxDE!~~@D*1YIhUzxz6pLv(AgK4M>8yv?fMhyd;X~2&o^CJcT97)U%R!nKGqr~ZmJGpG7vWDMj60`= z3DAedxD?T)EsUksQG~*dXfNh{$CfaF2VZ|VH0dxSX9smFU delta 366 zcmdnAoMXavwh1DPyc0#|Gj81YQA2zZqs?SV2`8zP$^W6i`KGu3oP96D89;!sVb|tT ziOc$$df9e`$#%Yru28d2> z4HJUO&Iyxe?c4-1>p++?l=UJ^1OA;c3&^8;1Zm>e&kkZzsfSo= zA?LD8B1{QLVYqC_K-}8TKZu|7`(SRTuc6So&Xl|+8hm&1-m+rM?&>gj+2#{u_f+pU zDfTb2FstH1qun6+?k1pe-Ar7X!#(L*|`{e9fQfhB4cN~V6qyM$xjVBM=rt9z-oVm z2Q#^3DHJ-DyUHU1E|q)s^)vFv(~ZiHO#OX3DC91aOJ%TgZX!5}u}LB^MT|++M(A*n znQ&ECgcFOec+{C2Hf%X%>a;=9&_KlR)w0J&y3VYLm$O*Jq0GDW;G5){gUj$o=91g55eD1>4To`vh7JkW$#q9j>05nvz2Gt`DSm{aBMg<=^GUPhwY zbvY{Nj&}#Is3b~N32|tpCC&*sJP44XV$_2zT$BX$t{zU$LxrqZ zPa)=@XB$o6>AV4jFsb3pwFn!pF8xiMF1-||3yYygqaJK6r$>W81r(tfp+t+RGYGwT zsl{gW!qb57O*8*fl+Mj$^o(PPd=%#sGbqL#&g+*od>D4W(|z`*_AEy6BhDDWr3PuR zjX6nB?HJW~lnCX}qwET^0`7JZy>=2EE)U`&=*Eqw=y9QqrS!NEr~pw24~|Q%P`SoR zsFG4nSOn|iYz3~7i6sO6>AH1~O8%^#ymbv1v2Q+Ign13ykR8{{Ml;h85S~O^QVc5- zX%G$x7(~NgNpGkj$3mf;HcBkCV4#BWX^_3+9wf^xa<*@oL7C&Yx1E~!|sW$cf<;t`&hw>nW<0@eW&~Qc3yUro#c7=E#q}s zp*z@(cIKehjGD?P(`c$|-RnHW^7$c6R!}$o2wnZCES<&|?L-fox{E(i6z@J(_GU@# zCiYm`%X6u3zor!GVb7JcfMqu_Q$e+EJF|CVC6<_#!Tf}!rcO%)V5i^-W^a2Ta{;qr zV0VJEndagC1zM0QJWS9h7k?%bc%gHgTkqs*U8~(Q{4Xv)q>sSGr8DhVU!7UpY-fht z&0Otf)!>`p;)i^{pDA|R%n-AkAyS;h3U(O8Cb=LBw${@YLZF$p5CSd8LOh^6-6iG2 z<3ua=CTpikc)Y{IBy8Z;)CV5Wvemc}HU(8w5crPK-j1sx2G zskSMzK6R+Z<2%xMnUHG=L?>&x{@A{)!nEl=6B1(A){ofY7g0U$Td}> z!fedm=4l8@1d~mPCFGS#mWr;~vmYEW?^Ww>t$NA+)nxSQXe**PMM&~EWEeB2#E^q` zD7L3Xdjio&TgzeCt{{hjA5mrD_!SXt#f;iTqle$uB;2@=Ymiz%F10XjMS@j>N0u!_ zfy?M9)=?0G+{&TOn#upu=2`eY@_8WMP#u;H+qxzBp@1l#ii>z^y+Re^LUZ0ihN3X~ z)`?BR`1%cG*yu_9W^~&*_-%2q{>5Xb&q0~b3GFuZRKhjvM8if7uQyQZ7{a|09rR8& zRXN}y%vF~Hx133QX8s@QVc-xzv+1VLnQWgU;$MsW|&4elDz~UQWKDUigopR`=WPrZmgHOXUN{mWOCL zC8hGH0q8esV*NqAy^vVa668G4No;Ek6!l0|{}LpSCvUN4qTHI zOL9nzVqb?1Urf4~px#k{Iy=2UZ!e|)%szHz)M@Jdp`m4armxY{+BVstZ}Ltb*}of| zedl{a6IOrbl|{D7vmX7SRge&^;%pmDXNRA8}huS=nDyf)@<~%w&b762L^0BiVKP_7k=5CKn>@`1tb6f diff --git a/Happy_Bird/.gradle/buildOutputCleanup/outputFiles.bin b/Happy_Bird/.gradle/buildOutputCleanup/outputFiles.bin index a1d4ec785efc1b709923df168c999a582ec7d315..5470d8cfcd2c9cfc910046865dfc4472ba989714 100644 GIT binary patch delta 600 zcmbO_m+|@n#tkMCjK!NxB_1#eENxvIsvF1>Q2P&!xQ+=(MS87FblO|N0aq?AZ3xOxR zH}YpR^S^-_eRndej77xHx?=O!@o`E}mF6%Le$LbHP>ksfgDRd16aVW}e_c|fbrDp( zCrtdGy_<}L$-5q?_~OZ?GM4;WXIVXDQny3Jj!#aN$>d-2qqW?)K?*8XKl!LkgMg%S zud&JN`Cd@LzmsicXK1KZe3y7=b@ew?Fc)T%;r1Nme>u}PL&a}SJ}avrVDh(DHe%9Q zUx=XJ>B&!JHwd_w3!Sy86YGPj+&Z~eu0bFyqT_&5x_S^)<@?F3@)iQI9UJeYy4CVS zRSIu5mDgYtD7nHv^WJkY7O2wYlS360G%5siUw@m-4E0oiE6iDyGtU2N=(hX>Q5?WO zIafi!p*pN(el+WXolrqznBwXQ_x5CL_|*cnFB&FZBUh;9{(;*aDn4;?tAZ92*UgQJ gKg2g0IPh+E^ax>_obQ!BIl&`pvVd3AtSf6cxlA@;@;lk`$+dD5 zCfmwOOwN^GFjfy|SHyX^~-|XlS!Uh1x C*&nhAM zuhn2=;?HML<~(7a1QnFtyj1J3Fk|CJ#R;679X)P^PWJ5MoBV#N1WV2Bkc*SoPBQ{B YB5Ec(PBRjyxg9wltc}B`2uK?N0G;wJ+5i9m delta 42 zcmV+_0M-A!y#kxO0v*jrH0kifhx)T98u_4$Avq4DOReCZJ Ar~m)} 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 bee0caf8c4f2e0a50dd8641e09f6c3f2e2c4eaa8..f76937bc09994e361e4d2f1105e6afeafbc6651c 100644 GIT binary patch literal 21596 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 V+SyoNhx_5xX4D(!7)_M_{{Yu)8b<&C literal 23887 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 diff --git a/Happy_Bird/build/classes/java/main/module-info.class b/Happy_Bird/build/classes/java/main/module-info.class index 9ac6a58c9f1f709ba709827a6c19fcc89dae4e89..c6bee7eb84ba2521932f26e2430e84a4960547cd 100644 GIT binary patch delta 17 YcmZo+?qHtKz{X~1s%N0Lv5AQh04ePRR{#J2 delta 13 UcmeBRZegC#z{F&@v5kol02^Hck^lez diff --git a/Happy_Bird/build/libs/Happy_Bird-1.0-SNAPSHOT.jar b/Happy_Bird/build/libs/Happy_Bird-1.0-SNAPSHOT.jar index 687dcb75c5e0aa2e56955c6c39e8c32b8d1dc191..dc7b7c17c0971ee2a9b92428be8e2dce0008e1a1 100644 GIT binary patch delta 16249 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 MenufR{ukr_0O#RWBLDyZ literal 18024 zcmZ|130O^A_%Ocbz0KQn4c9EQj(MINb(M}z>KejPr$m!eQCy^1b7?}OW~IRt4TuIR zl!|6FXi$_$l=|LP_x}Fh@BciX$Kzdlt#_^Uu6JI;F%pxT%e`VVIq%*>KFkNNjG-8>c>dVKjLLsrUBp11shQT8@w- zMq>7W$iH>*shxuheb4la+;}|3v3!*JXb~|6b1*ZM81b0n(c_X67JT;YUp1W8fxIiN z9*mk*&Wo`-#_c4=V-6A{Bhv|(tC^XRp|04%(A0##W2fo65;LJUtZd{g%wBA0!fV|w^ZX-W%jJmQ`^O)vm}@zefAQ(@1GTz? zBZ{BBaLW81Hj?CnIfZez?v&s7ow<6EFc_abo!51$%$%S3H1Lw;w~M3W!_sDp<|q?$ zVMJqz4CbgSl}JqZ#8)ex8dYhySEWCqUsx2)o+m$UKIUR-Vj(p(GLlGn{uvRBv_0&9T%Sx>su|s++cbCv5=d9W5n2L*it!Jfk3cKuy{G^9))QHc?b&x1j>i)43Tjz)%h66s+3C?I0QR7_4JFHjIHRs<3(#0C;h z33EVjh{B13nA6~6`fN;DxKp4aSoRm@WF)pWwY1=N0c%YF69!imsR@>GyD+;E zQTI+J^1e-q1s{0Q7j!q8jE2^G_=K-qr^-i9_n;d zQFn))Kq6SI54C70&H&T^De-~9{>OychM2Rdxgn|=tU0cALd8g6ELdg&G^5!#9aEr5 za(b}UOm)>s%+XYgIEcf1V{x3sFzF6+O$&jgVA(0)9LRv%d>XrCWN2Vw{2%dFs@Cdf z1ZM?{|H0gJk(v$CV9uSxT#lMcq^HD3jU?w`8uKBtPYh0m**n^ptX_2 z83%S4nL&?5Ytxl?imOkIx47yd+GE&u30H8zg|4{34HqnS$FWNW5>sP|h18n!fIg;% zCKjtWeoye-woYclspf6tjjpcwp6rRsd*MQFT;KzpE(2M*=H{F);G0V<^-PEJthBqo z_lNf4w6#*xV_EV0{BTWwd`AE-2*d?faKTkvKwpDi=9VUlO}HSS(a7wWI2dZI%_O`y zbJ3B&h9^NC(citlEIJhzg3E{EGGVxCI4*x37oCZKl}RijVYWfLv&FecoNsxJ89OTI zi!9kRVaRdiUs1S9G_Dwf?~cU=B849K&aQWxB>Y4MA zxGm1>ERugkIaz22ta(+d{zET69~Twif;=qjAr+gL>zhiAxtBoGF^O2pf0oRS zn>y*;*?0DO18uS@eXnp~5w2uWjFx3$@fydROwBDUr4qg*^`LX(lNW0rn z3BJ1&S1v;`;kdoLT0&=F-8;AZ5r#IImqb&$-rx#vktUX-Re;{Xf|EYyZdsn}_cdn! zz=+Ju#1$3z&PrUd3YV$IwQ6udEiQP6`1~Gv7@&yw0VHf`$eD5n>VOQfi5_zA%Znb* z-EyctD8B=GWED-0p0+b{@>F0a8K=9=TbDrbm(fH=zrmw*N7{A#1)!wK{GCB z0S#}3@sCP?5ubpsM-5H%3{4EUwn1it8MgzQtjwgqZ4@dyPJUl!6El!do$4Rc@;Y$F zXI$Y6u8@p(0G1)R2ZRJG^Sm7O7iXFr>ljnkcKO3U#htj)S6rhDDGun$H$=Uzg{jn< zZ;3r7HV%|Ep14KE5nH5%ea98LaSd1eG0yQBH#;3?>>?k{*oemsEUNzb0~hw-f}cR~ zFA$ccg`pAG3sMmqO8Hv}FPyN1r~358hPmH;i5T3Fi=;IT|Bc%8%h7PO~_nmTA&y;YYMdDs*3 zY7PXrWn+m{%rh&FS}C5%R_b=@kBJ@GG2lojI1y^jguFNIh+l#sBo<;90AdRU z&F=+$NjD_12Nqq( z+{IK+jwj?3h#fbH9f^cY60xHIPlhh~`i3SFE}2L{-A#=Rb-^dze5qfc)!U{0bmmBd z6~}8<+#*zN6M{R0VDVi7BCrWWI}`=Edj#fTVj+>5nF7aAVB&`*_K&JD^LGr?_-

8lJo%YunoNQ_=e*~?-dsiq-w-Nq3H5S9 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 UgxXEGHaNi?{6U07?_Z4n0|fp6)Bpeg 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 new file mode 100644 index 0000000..11bbb9e --- /dev/null +++ b/Happy_Bird/src/main/java/com/example/happy_bird/FormatingClass.java @@ -0,0 +1,239 @@ +package com.example.happy_bird; + +import javafx.scene.control.Button; +import javafx.scene.control.Label; +import javafx.scene.control.Slider; +import javafx.scene.control.TextField; +import javafx.scene.image.Image; +import javafx.scene.layout.*; +import javafx.scene.text.TextAlignment; + +public class FormatingClass { + /*** + * leerer Konstruktor + */ + public FormatingClass() { } + + /*** + * 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 + */ + public void buttonsFormating(Button[] buttons, Pane pane) { + for (Button button : buttons) { + button.setPrefSize(200, 50); + + button.setStyle("-fx-background-color: #e86000; " + + "-fx-text-fill: #FFFFFF; " + + "-fx-font-size: 20px; " + + "-fx-border-width: 5px;" + + "-fx-border-color: #FFFFFF;" + + "-fx-font-weight: bold;" + + "-fx-border-radius: 15px;" + + "-fx-background-radius: 20px;"); + + pane.getChildren().add(button); + } + } + + /*** + * 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 + */ + public void labelsFormating(Label[] labels, Pane pane) { + for (Label label : labels) { + label.setPrefSize(250, 50); + + label.setStyle("-fx-background-color: #DED894; " + + "-fx-text-fill: #000000; " + + "-fx-font-size: 20px; " + + "-fx-border-width: 5px;" + + "-fx-border-color: #543847;" + + "-fx-font-weight: bold;" + + "-fx-alignment: center;" + + "-fx-background-radius: 20px;" + + "-fx-border-radius: 15px;"); + + pane.getChildren().add(label); + + label.setVisible(false); + } + } + + /*** + * 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 + */ + public void headlineFormating(Label[] labels, Pane pane) { + for (Label label : labels) { + label.setPrefSize(300, 75); + label.setTextAlignment(TextAlignment.CENTER); + + label.setStyle("-fx-background-color: #DED894; " + + "-fx-text-fill: #000000; " + + "-fx-font-size: 35px; " + + "-fx-border-width: 5px;" + + "-fx-border-color: #543847;" + + "-fx-font-weight: bold;" + + "-fx-alignment: center;" + + "-fx-background-radius: 20px;" + + "-fx-border-radius: 15px;"); + + pane.getChildren().add(label); + } + } + + /*** + * 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 + */ + public void textfieldsFormating(TextField[] textfields, Pane pane) { + for (TextField field : textfields) { + field.setPrefSize(250, 50); + field.setStyle("-fx-font-size: 20px;" + + "-fx-font-weight: bold;"); + + pane.getChildren().add(field); + + field.setVisible(false); + } + } + + /*** + * Formatiert den soundSlider und fügt ihn der Pane hinzu + * @param slider SoundSlider + * @param pane Pane, auf der der Slider angezeigt wird + */ + public void soundSliderFormating(Slider slider, Pane pane) { + slider.setPrefSize(200, 5); + slider.setLayoutX(300); + slider.setLayoutY(295); + + pane.getChildren().add(slider); + + slider.setVisible(false); + } + + /*** + * Formatiert den PauseScreen + */ + public void pauseScreenFormating(Pane pause, Label pauseMenuLabel, Label soundLabelPause) { + /*pause-Pane formatieren*/ + pause.setPrefSize(400, 400); + pause.setLayoutX(200); + pause.setLayoutY(150); + pause.setStyle("-fx-background-color: #DED894; " + + "-fx-border-width: 5px;" + + "-fx-border-color: #543847;" + + "-fx-border-radius: 15px;" + + "-fx-background-radius: 20px;"); + + /*pauseMenuLabel formatieren*/ + pauseMenuLabel.setPrefSize(300,50); + pauseMenuLabel.setLayoutX(50); + pauseMenuLabel.setLayoutY(10); + pauseMenuLabel.setStyle("-fx-background-color: #DED894; " + + "-fx-text-fill: #000000; " + + "-fx-font-size: 35px; " + + "-fx-font-weight: bold;" + + "-fx-alignment: center;"); + + /*soundLabelPause formatieren*/ + soundLabelPause.setPrefSize(100, 50); + soundLabelPause.setLayoutX(150); + soundLabelPause.setLayoutY(100); + soundLabelPause.setStyle("-fx-background-color: #DED894; " + + "-fx-text-fill: #000000; " + + "-fx-font-size: 20px; " + + "-fx-font-weight: bold;" + + "-fx-alignment: center;"); + } + + /*** + * formatiert den End-Screen + */ + public void endScreenFormating(Pane endScreen, Pane pause, Label endScreenHeadline, Label currentScoreEndscreenLabel) { + /*Endscreen-Pane formatieren*/ + endScreen.setPrefSize(400, 500); + pause.setLayoutX(200); + pause.setLayoutY(100); + pause.setStyle("-fx-background-color: #DED894; " + + "-fx-border-width: 5px;" + + "-fx-border-color: #543847;" + + "-fx-border-radius: 15px;" + + "-fx-background-radius: 20px;"); + + endScreenHeadline.setPrefSize(300,50); + endScreenHeadline.setLayoutX(50); + endScreenHeadline.setLayoutY(10); + endScreenHeadline.setStyle("-fx-background-color: #DED894; " + + "-fx-text-fill: #000000; " + + "-fx-font-size: 35px; " + + "-fx-font-weight: bold;" + + "-fx-alignment: center;"); + + currentScoreEndscreenLabel.setPrefSize(250,50); + currentScoreEndscreenLabel.setLayoutX(75); + currentScoreEndscreenLabel.setLayoutY(100); + currentScoreEndscreenLabel.setStyle("-fx-background-color: #DED894; " + + "-fx-text-fill: #000000; " + + "-fx-font-size: 35px; " + + "-fx-font-weight: bold;" + + "-fx-alignment: center;"); + } + + /*** + * Erstellt ein neues BackgroundImage aus einer Source für ein .png + * @param img Source eines .png + * @return backgroundImage + */ + public BackgroundImage backgroundFormating(String img) { + /*Bild für Hintergrund erstellen:*/ + Image image = new Image(img); + + /*Hintergrund erstellen:*/ + BackgroundImage backgroundImage = new BackgroundImage( + image, + BackgroundRepeat.NO_REPEAT, + BackgroundRepeat.NO_REPEAT, + BackgroundPosition.DEFAULT, + BackgroundSize.DEFAULT + ); + + return backgroundImage; + } + + /*** + * 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 + */ + public void backgroundButtonsFormating(Button[] backgroundButtons, Pane pane) { + int xPosition = 150; + + for(int i=0; i x + width && !isPassedOn; + } + + // Bei Bewegung der X Koordinate werden Röhren generiert + public void moveX(int dx) { + x -= 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/HappyBirdMain.java b/Happy_Bird/src/main/java/com/example/happy_bird/HappyBirdMain.java index ad929ed..001b3b9 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 @@ -7,28 +7,30 @@ import javafx.scene.image.Image; import javafx.scene.image.ImageView; import javafx.scene.input.KeyCode; import javafx.scene.layout.*; -import javafx.scene.text.TextAlignment; import javafx.stage.Stage; import java.sql.PreparedStatement; import java.sql.ResultSet; public class HappyBirdMain extends Application { + /* Formatierungsklasse */ + private final FormatingClass formatingClass = new FormatingClass(); + /* Testen des Endscreens */ private final Button endscreenTest = new Button("Endscreentest"); - /*Datenbank einlesen*/ - MariaDB datenbank = new MariaDB(); + /* Datenbank einlesen */ + private final MariaDB datenbank = new MariaDB(); - /*Panes erstellen und zuweisen*/ + /* Panes erstellen und zuweisen */ private final Pane pane = new Pane(); private final Pane pause = new Pane(); private final Pane endScreen = new Pane(); - /*Scene erstellen und zuweisen*/ + /* Scene erstellen und zuweisen */ private final Scene scene = new Scene(pane, 800, 700); - /*Labels erstellen und zuweisen*/ + /* Labels erstellen und zuweisen */ private final Label nameLabel = new Label("NAME"); private final Label acronymLabel = new Label("KÜRZEL"); private final Label headline = new Label("HAPPY BIRD"); @@ -38,7 +40,6 @@ public class HappyBirdMain extends Application { private final Label pauseMenuLabel = new Label("PAUSE"); private final Label soundLabelPause = new Label("SOUND"); private final Label highscoreMenuLabel = new Label(); - private final Label currentScoreEndscreenLabel = new Label("YOUR SCORE: "); private final Label endScreenHeadline = new Label("GAME OVER"); @@ -49,7 +50,6 @@ public class HappyBirdMain extends Application { /*Buttons erstellen und zuweisen*/ private final Button startButton = new Button("START"); private final Button highscoresButton = new Button("HIGHSCORES"); - private final Button settingsButton = new Button("EINSTELLUNGEN"); private final Button startGameButton = new Button("SPIEL STARTEN"); private final Button menuButton = new Button("ZURÜCK"); @@ -60,7 +60,6 @@ public class HappyBirdMain extends Application { private final Button backButtonPause = new Button("ZURÜCK"); private final Button background1 = new Button(); private final Button background2 = new Button(); - private final Button backMenuButton = new Button(); private final Button restartGameButton = new Button(); private final Button personalHighscoresButton = new Button ("YOUR SCORES"); @@ -95,8 +94,6 @@ public class HappyBirdMain extends Application { //gameRunning: das Spiel läuft/ GameScreen ist aufgerufen private boolean gameRunning; - - public static void main(String[] args) { launch(args); } @@ -106,7 +103,6 @@ public class HappyBirdMain extends Application { stage.setTitle("Happy Bird"); stage.setScene(scene); - generateMenueScene(); /*ClickEvents:*/ @@ -131,25 +127,19 @@ public class HappyBirdMain extends Application { dataQuery(); menuScreenRunning = true; - /*Bild für Hintergrund erstellen:*/ - Image image = new Image("file:src/main/resources/com/example/happy_bird/pics/Background0.png"); + /*Source als String*/ + String img = "file:src/main/resources/com/example/happy_bird/pics/Background0.png"; - /*Hintergrund erstellen:*/ - BackgroundImage backgroundImage = new BackgroundImage( - image, - BackgroundRepeat.NO_REPEAT, - BackgroundRepeat.NO_REPEAT, - BackgroundPosition.DEFAULT, - BackgroundSize.DEFAULT - ); + /*Bild zu Hintergrund */ + BackgroundImage backgroundImage = formatingClass.backgroundFormating(img); /*Hintergrund zu Pane hinzufügen:*/ Background background = new Background(backgroundImage); pane.setBackground(background); /*Labels formatieren:*/ - labelsFormating(labels, pane); - headlineFormating(headlineLabels, pane); + formatingClass.labelsFormating(labels, pane); + formatingClass.headlineFormating(headlineLabels, pane); /*Überschrift umbenennen, falls aus anderem Screen*/ headline.setText("HAPPY BIRD"); @@ -171,7 +161,7 @@ public class HappyBirdMain extends Application { soundLabel.setLayoutY(225); /*Buttons formatieren:*/ - buttonsFormating(buttons, pane); + formatingClass.buttonsFormating(buttons, pane); /*alle Buttons an ihre Stelle:*/ int yPositionButtons = 225; @@ -197,14 +187,14 @@ public class HappyBirdMain extends Application { settingsButtonPause.setVisible(false); /*Buttons für Hintergründe*/ - backgroundButtonsFormating(); + formatingClass.backgroundButtonsFormating(backgroundButtons, pane); /*Background-Buttons unsichtbar*/ background1.setVisible(false); background2.setVisible(false); /*Textfelder formatieren:*/ - textfieldsFormating(inputFields, pane); + formatingClass.textfieldsFormating(inputFields, pane); /*Textfelder an ihre Position:*/ int yPositionInputFields = 290; @@ -215,7 +205,7 @@ public class HappyBirdMain extends Application { } /*SoundSlicer anpassen:*/ - soundSliderFormating(soundSlider, pane); + formatingClass.soundSliderFormating(soundSlider, pane); } /** @@ -282,194 +272,6 @@ public class HappyBirdMain extends Application { lowerPipeView.setLayoutY(430); } - /*** - * 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 - */ - public void buttonsFormating(Button[] buttons, Pane pane) { - for (Button button : buttons) { - button.setPrefSize(200, 50); - - button.setStyle("-fx-background-color: #e86000; " + - "-fx-text-fill: #FFFFFF; " + - "-fx-font-size: 20px; " + - "-fx-border-width: 5px;" + - "-fx-border-color: #FFFFFF;" + - "-fx-font-weight: bold;" + - "-fx-border-radius: 15px;" + - "-fx-background-radius: 20px;"); - - pane.getChildren().add(button); - } - } - - - public void backgroundButtonsFormating() { - - int xPosition = 150; - - for(int i=0; i startGameButtonClick()); } - /*** * Hauptmenü wird ausgeblendet, Einstellungen folgen */ @@ -526,40 +327,21 @@ public class HappyBirdMain extends Application { background1.setVisible(true); background2.setVisible(true); - background1.setOnAction(event -> { - /*Bild für Hintergrund erstellen:*/ - Image image = new Image("file:src/main/resources/com/example/happy_bird/pics/Background0.png"); - - /*Hintergrund erstellen:*/ - BackgroundImage backgroundImage = new BackgroundImage( - image, - BackgroundRepeat.NO_REPEAT, - BackgroundRepeat.NO_REPEAT, - BackgroundPosition.DEFAULT, - BackgroundSize.DEFAULT - ); + /*Source als String*/ + String img = "file:src/main/resources/com/example/happy_bird/pics/Background0.png"; /*Hintergrund zu Pane hinzufügen:*/ - Background background = new Background(backgroundImage); + Background background = new Background(formatingClass.backgroundFormating(img)); pane.setBackground(background); }); background2.setOnAction(event -> { - /*Bild für Hintergrund erstellen:*/ - Image image = new Image("file:src/main/resources/com/example/happy_bird/pics/Background1.png"); - - /*Hintergrund erstellen:*/ - BackgroundImage backgroundImage = new BackgroundImage( - image, - BackgroundRepeat.NO_REPEAT, - BackgroundRepeat.NO_REPEAT, - BackgroundPosition.DEFAULT, - BackgroundSize.DEFAULT - ); + /*Source als String*/ + String img = "file:src/main/resources/com/example/happy_bird/pics/Background1.png"; /*Hintergrund zu Pane hinzufügen:*/ - Background background = new Background(backgroundImage); + Background background = new Background(formatingClass.backgroundFormating(img)); pane.setBackground(background); }); } @@ -731,7 +513,7 @@ public class HappyBirdMain extends Application { * Ruft das Pause-Menü im Spiel auf oder blendet es wieder aus */ public void pauseButtonClick(Boolean gameRuns) { - pauseScreenFormating(); + formatingClass.pauseScreenFormating(pause, pauseMenuLabel, soundLabelPause); /*PauseScreen aufrufen, wenn das Spiel läuft, sonst wieder ausblenden*/ if(!gameRuns) { @@ -842,7 +624,7 @@ public class HappyBirdMain extends Application { try (ResultSet rs = datenbank.st.executeQuery(sql)) { while (rs.next()) { - bestFiveHighscores+= rs.getString(4) + "\t" + rs.getString(3)+"\n"; + bestFiveHighscores += rs.getString(4) + "\t" + rs.getString(3)+"\n"; } } catch (Exception e) @@ -865,7 +647,7 @@ public class HappyBirdMain extends Application { try (ResultSet rs = datenbank.st.executeQuery(sql)) { while (rs.next()) { - bestFiveHighscores+= rs.getString(4) + "\t" + rs.getString(3)+"\n"; + bestFiveHighscores += rs.getString(4) + "\t" + rs.getString(3)+"\n"; } } catch (Exception e) @@ -948,38 +730,7 @@ public class HappyBirdMain extends Application { return true; } - /*** - * formatiert den End-Screen - */ - public void endScreenFormating() { - /*Endscreen-Pane formatieren*/ - endScreen.setPrefSize(400, 500); - pause.setLayoutX(200); - pause.setLayoutY(100); - pause.setStyle("-fx-background-color: #DED894; " + - "-fx-border-width: 5px;" + - "-fx-border-color: #543847;" + - "-fx-border-radius: 15px;" + - "-fx-background-radius: 20px;"); - endScreenHeadline.setPrefSize(300,50); - endScreenHeadline.setLayoutX(50); - endScreenHeadline.setLayoutY(10); - endScreenHeadline.setStyle("-fx-background-color: #DED894; " + - "-fx-text-fill: #000000; " + - "-fx-font-size: 35px; " + - "-fx-font-weight: bold;" + - "-fx-alignment: center;"); - - currentScoreEndscreenLabel.setPrefSize(250,50); - currentScoreEndscreenLabel.setLayoutX(75); - currentScoreEndscreenLabel.setLayoutY(100); - currentScoreEndscreenLabel.setStyle("-fx-background-color: #DED894; " + - "-fx-text-fill: #000000; " + - "-fx-font-size: 35px; " + - "-fx-font-weight: bold;" + - "-fx-alignment: center;"); - } /*** * public void generateEndScreen() generiert den Endscreen - sobald das Spiel beendet ist @@ -989,7 +740,7 @@ public class HappyBirdMain extends Application { * sich seine persänlichen Highscores anzeigen zu lassen */ public void generateEndScreen() { - endScreenFormating(); + formatingClass.endScreenFormating(endScreen, pause, endScreenHeadline, currentScoreEndscreenLabel); /*Name und Highscores ausblenden, Pause-Button ausblenden*/ nameLabel.setVisible(false); highscoreLabel.setVisible(false); 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 new file mode 100644 index 0000000..ec570d5 --- /dev/null +++ b/Happy_Bird/src/main/java/com/example/happy_bird/Movement.java @@ -0,0 +1,7 @@ +package com.example.happy_bird; + +public enum Movement { + Up, + Down, + None +}