From e87d9156da1026f9dd13d06ebc39bc898d14eafd Mon Sep 17 00:00:00 2001 From: Robert Goldmann <deadlocker@gmx.de> Date: Tue, 6 Dec 2016 19:14:47 +0100 Subject: [PATCH] fixed ui, fixed edgecases --- bin/de/deadlocker8/roadgame/logic/Board.class | Bin 4530 -> 5493 bytes bin/de/deadlocker8/roadgame/logic/Game.class | Bin 1739 -> 1588 bytes .../roadgame/logic/PossibleTiles.class | Bin 1700 -> 0 bytes .../roadgame/logic/TileTypes.class | Bin 0 -> 1991 bytes bin/de/deadlocker8/roadgame/main/Main.class | Bin 3207 -> 3207 bytes bin/de/deadlocker8/roadgame/resources/2.png | Bin 206 -> 0 bytes .../deadlocker8/roadgame/resources/empty.png | Bin 362 -> 206 bytes .../roadgame/ui/Controller$1.class | Bin 1071 -> 1071 bytes .../roadgame/ui/Controller$2.class | Bin 1401 -> 1401 bytes .../deadlocker8/roadgame/ui/Controller.class | Bin 8803 -> 8305 bytes bin/de/deadlocker8/roadgame/ui/GUI.fxml | 6 +- src/de/deadlocker8/roadgame/logic/Board.java | 75 +++++++++++++++--- src/de/deadlocker8/roadgame/logic/Game.java | 10 +-- .../roadgame/logic/PossibleTiles.java | 41 ---------- .../deadlocker8/roadgame/logic/TileTypes.java | 41 ++++++++++ src/de/deadlocker8/roadgame/main/Main.java | 2 +- src/de/deadlocker8/roadgame/resources/2.png | Bin 206 -> 0 bytes .../deadlocker8/roadgame/resources/empty.png | Bin 362 -> 206 bytes .../deadlocker8/roadgame/ui/Controller.java | 22 ++--- src/de/deadlocker8/roadgame/ui/GUI.fxml | 6 +- 20 files changed, 130 insertions(+), 73 deletions(-) delete mode 100644 bin/de/deadlocker8/roadgame/logic/PossibleTiles.class create mode 100644 bin/de/deadlocker8/roadgame/logic/TileTypes.class delete mode 100644 bin/de/deadlocker8/roadgame/resources/2.png delete mode 100644 src/de/deadlocker8/roadgame/logic/PossibleTiles.java create mode 100644 src/de/deadlocker8/roadgame/logic/TileTypes.java delete mode 100644 src/de/deadlocker8/roadgame/resources/2.png diff --git a/bin/de/deadlocker8/roadgame/logic/Board.class b/bin/de/deadlocker8/roadgame/logic/Board.class index a3c7421f9e5d58f240e377c05ec3cd170f44c50e..2f0a0796736ad3f2612c019aacdb82b891f6fa83 100644 GIT binary patch literal 5493 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 literal 4530 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 diff --git a/bin/de/deadlocker8/roadgame/logic/Game.class b/bin/de/deadlocker8/roadgame/logic/Game.class index 1b7aa0c47a98c7a231997e703bd1be0a04c04cee..20a792026f1a3a7feb2fbf39d3855e87f54a0d37 100644 GIT binary patch delta 684 zcmX@jyM>4A)W2Q(7#J8#7%V4p6-?aa%gM{bz{$YH&cHuefKh{&kAatyfssLohk=!W zZE`E)VGce986E~%2C2ybO#W<&JPhm%9Fvzao#o(T(BNTEW>A@2#T>z=%b?HBpf{0M zaq<Ty7FHex0|vv%Of32wd<@1s3?>ZnlPy_->zNpsK&CP<Fff5kVPIfjXJ7<b&cMjP z&A`Cm#K6qJ$iToLptYTWM{73&U*vWMfvpUJ8^Jn+85kJ&7?>Ft7<d?182A|Y8Tc7Q zz&x-X22lnv1_lO325|-nsCoJfj9~LvwYD$_ZeXYf*$Xm-4J;~*q?;A4TarNvs@n*v zn**eK8-w%)xGNy~C6M%U!1c>9$V2tpF@XHbz`&-Zy_G>>BLhP{0}}(tdM*Yg1_lOM z237_+un}TlJ{!~s1_m~8;DDU21a}OwR}|1)q69XE2ka|^Pm~!{7?>DT!LC*Vg>OBB zE!0VzATMceV^BvoNgZqw#6g^J2XQiJGH`%HLyJKh>bnpICU9KvY3pob(1Ds~gdS5m n46F>g47?0_AaivX6d+pQ2J=A;21TqXgBb%810#bu*ufS63RX6b delta 780 zcmdnObDEdy)W2Q(7#J8#7#t>Y6$tVc<QErbCgr4tWagw6GcxE-4rG$&4L}y0SRTO1 z&%?mYz{AcUIPrppumA%;Cj%pc2oD1*0~<So7$bxBL;*P&6ir+Vq7YS*JPhm%9FtiY z4|9kzDDyC=FepyG!06AW!Nb7Gz%^Nw=`4o;gFX*~7K8TWUrZ5fCJbim45kx#6(<)k zv9R(mm@`;RZerHw5MZ$4VX$UUo4k`bxSpAT31l||0|OJtbTG}yz{SA8z|O!3aw!8N z11|#uLm&e)10w?igS6Im20pFb3<8nc8HBbn2y5+T5RKf<AikABVk20y6axc;5CaPX z0|PGu3j;p`KZ5{+6oVjxGy?+z55x!t83tJf1_nk3Ifi<9sQLN~j9^Jttt||~8{j6f zfdxg8bhE;BD=;WRH5)-Sb7*a0kl4ncgsxu-Nk0c%zbb<oLp{WIb_`4mObiSRY+Bk| z8PpLT;R1`wGq5r!fQ=9X^Vy(AFfg!zLLO|nCfqT|K2b+^i3->lNH~CeQV$6TEe34{ zCI%g_w{^kcZ3}e~Cn!9$w=w9Uo1_Ug3F075xPv$u3>dh;4l-l_g$gL@LKv7Bm>C!t z__TGlF&IP5vxIok85CW7U}-%DRt9|rUIqiO!3tn8KDfbrP=gs5_!w*$K(1qCumii- F9smoBP#gdN diff --git a/bin/de/deadlocker8/roadgame/logic/PossibleTiles.class b/bin/de/deadlocker8/roadgame/logic/PossibleTiles.class deleted file mode 100644 index 62a871ec775db2b0725cba3a1219ed35a6d928ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1700 zcmX^0Z`VEs1_l!bZ*~SIMh5MaRQ;6H#FU);<m}WU3;m+}#FX^J+*JLX{PfIZ{eb-9 z;>@I+)R4@a)M9o97Dfhvti-ZJ{hY+SbbbG%tkmQZMh4yjWL1m|qCQ|Xr6rj;`i@0K ziIqN?#U<8^44lE4>3NAIrA4WX4A$7x*!bXg4agPNcGipxY&MyBnI(3N49psuVT=qc z&iN^+Tnx+%ygUq?3|#CC{EQ63SlqzHz{kML$-u}U#KXYKz{buX!pNXR*h)?YF$M{C z2609PHT;TQQ_@pIDhpD17$g~_7#UcC{2g5w88is^3Z}~%WRDCFgDgldt9y`Ra4;8x zFoQhEPYR3-i-|UeSo^50PBRP?z)Cy}$_y%u49tlsDU1xF8jy%aN-)-%QH%`yKACx` zex<odsYM})Nja&E3_?En$%#2(iA9+pK2(sUBqOt!kwKS$Q&EzsH6w#SdTI%Z7$bwY zh9<-%7|GHWyA08ZkvBcHBq%X2B|jIGJ{cL*G&Bh~7o^Ubok1U#o4`(j7{SG$$G{5; zMk5{uV+IpO2A1N?s#I`7_XNqA@i3S(STHiM=cQJZc;=NbGO%cPYI=fnSn)7eGuSXP zFsG-MfCAnV>S5%d2PG&w9tL{`E=C6KqWqG?lGLEg^o$Zl2DT!w7eMiV$T<)<Su--Q zX6B`&RxmO!dNMMwlw^Y9ONAIug3JZm!pOjw$;iMPT#}fa?VDHtjb5(c{L-T2R5!4J zLIKFdh#trl42lel49pA+42%p+pd8D<$iU9Pz`(@7!NAPG2+HdWj11fi3=H!b*cliZ z7#I?@wlnZ(?PlPM+|D4dl|fKz3xnWp2I0s}45DBpy@^43JA>Rd2E}j`DQSo-HYun^ zsMJQV^{NaE3{nhi3=9lh3@i*h4Ezjy3|b5V46Y193<(Uv3~CGv3_K7AF{m?WfIXne zpvAxhb-p&((fSOGU^T2Dr)+>5%mx+|M>2#JZio(pF4V^t8JNHhu-(m|7rC9mz(*To z$~FeWZ49QiAg0VV2Fn8s!hYIp+ZasESeVUNmosqbZey@*VPzC$6=hlY|En&@Qf3B_ zZ<H7~7#J927&sVY8AKT57!(*38Ppk+7<3s_7z`Pd7_1r8!49&6SPFFz2ZJet1A`+2 zBZCNoCW8}$GXoQY0)s4r3xg{IGlM#V7=s&wGXo2Q7K0#zJA*R=D}x6E1A`a?(|-nC ZQ2EQq&Y;K0&LGUl$iM*dwkJ3cyZ~bapo#zh diff --git a/bin/de/deadlocker8/roadgame/logic/TileTypes.class b/bin/de/deadlocker8/roadgame/logic/TileTypes.class new file mode 100644 index 0000000000000000000000000000000000000000..1f5d338e94bfeabd7e7e574f7a079394c99f1994 GIT binary patch literal 1991 zcmX^0Z`VEs1_l#`Aa({OMh5kiRQ;6H#FU);<m}WU3;m+}#FX^J+*JLX{PfIZ{gBL@ z)R4-8)M9o97DfiXti-ZJ{hY+SbbZ&n(p*Lcj^L0WM^AT;5Jm<~A0kb%W@KP>4h;%( zWn|zAiT4Wia}M$J_hV#W^kZbuAYh1VN;=p%){G2{u8a(f!Hf)y;fxI2u707uDq)U3 zp{~J<3|i3yOo4mKnvsFSCOIcFFSEpsk%3u5GmMde#W_DEm4ktmlR=b0oSi|8kwFc= z$6#*aVUS?pVq{<m@^^FrX_n$)kOm2`x(7K12XiqnGRX2U$T7$>GO*b|ZQQ2eg9y>! zlA_GKbZbunj)z%iJy7a2!#Eij85DUKSQ*$j7}!A^6&?n55QhWAQRiXcU|<8WG<g{K z82A|(_<b_-QvFJElTwR95|eUL85x9p@{<#D!V-%zL42?v7XvecE+~NX7#YN{g$u-9 z10DuW1}>24Mm!AM5S9rK0}q5{#>2o13Uii{jLc$22F5%_2F6rI21XFOoRNVgJ+;J- zkwHs?P-2A#GDMFngbIdG;fxGyWr;bZsl|*8IvSe9r#3DI7X~+W23JM~0i<ZJEG|jS z<zaAV@L*)%Oe`u&tW3@?s06tZDRKBGWu+#USbJg-@&u(?cCdr|(-;|Sv4kBV?;<h; zC>DHp7(5w#85vBGO>)jjEH1W2vL2dTHIalsWr8&$16Oc<X;E^jTP7%``QT>jf&9$K zz!{vGo|jlsT9nGjfNUN}vkieX4L8f$&f39{fsuikfq{X;K@yY{85kTSL8%Z-b1<+m zFfcHIk_wpSX5a$TJW!e!L<>lPk|)Rn1`Y-R20;c!1|bFphKURu3?PuYn}IP>NSJvO zgUBWZNeH=}L1r_90$4(c1uO)SlLSjBgC$g1VG<xYu!I`hUIxZU=1mL=!I3PR7?gt} zSvN7L1#f21*a&u(76Su=5CaPX0|P6ABm*0R5d%AeHv=<+Hdq$q5jh5VsPkGFm>Jj^ z7#QTVv}Lw4=xFI~Wzg4>WZBAKs3pm|mBCm`l5H!4DZ*SSa8U3uurUZQa5D%p2r>vU zh%*Q?$TEn4%{O6S1)0WR4pzs&Aje?A07?ZQmL&rh*i~{2Rt#KFb=C}A3~UUH3^ok5 zP#5VlFfuTL+^)5SL4O0-$siAb6frPJfGy#HD1chR$Y6(6vmv@>S*)7vv1&F(*Q|t9 zvjbMmrs$g0v1sOGaAa_T`q_+u6`c6QHZf>KdNXV7i?jhnu`jdq4hCl(bki8YrZF)v qFmN(>GI&AF&|+W$2Md=Fqt*@v?*j~sxb-nH_<;k~pCJHD2Lb>(1fUK8 literal 0 HcmV?d00001 diff --git a/bin/de/deadlocker8/roadgame/main/Main.class b/bin/de/deadlocker8/roadgame/main/Main.class index 4c6811def543a78de34c8986fb4e6eda16dc321a..21285c4b3198c6dfb578579917e75d7aad60f1a4 100644 GIT binary patch delta 14 VcmZpdY?s_{ii?qD^J%U<i~uIb1rGoK delta 14 VcmZpdY?s_{ii?qX^J%U<i~uIV1r7iJ diff --git a/bin/de/deadlocker8/roadgame/resources/2.png b/bin/de/deadlocker8/roadgame/resources/2.png deleted file mode 100644 index 8d8cea35f9b801e5f39132e92b07a3630a5fedaa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 206 zcmeAS@N?(olHy`uVBq!ia0y~yU`PRB4mJh`hJr^^Ll_ts7>k44ofy`glX=O&z`&C3 z=<CS9u(6-}Pa-P=0|RG)M`SSr1K(i~W;~w10;FBC#5JNMI6tkVJh3R1p&&6cuS72| zwM4;0&p^-6$eAVk4Fdy%ou`XqNJZS+gNBR@3=D@BeD%-e)>mL43OrcBHfIR~<I|@x PO(6B2u6{1-oD!M<67nuz diff --git a/bin/de/deadlocker8/roadgame/resources/empty.png b/bin/de/deadlocker8/roadgame/resources/empty.png index 0b624ce13d73f787120c3997e3836566e212cfba..8d8cea35f9b801e5f39132e92b07a3630a5fedaa 100644 GIT binary patch delta 102 zcmaFGbdGU?BnKM<14F^1sUZ^;qk`=`T^vIy;@%!KWMp7qIJDrae=fJa0s~Rt!3wrH WOBfiRK8<MtsrPjCb6Mw<&;$U)9u@fj literal 362 zcmeAS@N?(olHy`uVBq!ia0y~yU`PRB4kiW$hW`yr%nS?+jKx9jP7LeL$-HD>U|>mi z^mSxl*x1kgCy|wbfq}EYBeIx*f$uN~Gak=h0n#p6;u=vBoS#-wo>-L1P>`6JSE84f zTB2a0XP{?j<jj)&hJk_MmZytjNJZS+3y!=D3Oo#kCTF?-E#=|9v)@zn%biHOlUymR ro0uXS*EobJXipG5F=V*=&f4iLYQ2^*>Gf&`1_lOCS3j3^P6<r_Yh!Uf diff --git a/bin/de/deadlocker8/roadgame/ui/Controller$1.class b/bin/de/deadlocker8/roadgame/ui/Controller$1.class index 3e40e28222964a2d6c131b6f57c2d5debbc147b1..7eb98de5811738aeca0d5152a2424949583efdc8 100644 GIT binary patch delta 27 icmZ3_v7Tc?Iy0l*<P2teP9p|p24e<x29wDfnCk&y#|CBq delta 27 icmZ3_v7Tc?Iy0m0<P2tePD2J}1|tS`2II*anCk&ynFeA2 diff --git a/bin/de/deadlocker8/roadgame/ui/Controller$2.class b/bin/de/deadlocker8/roadgame/ui/Controller$2.class index 4dfed642988740f411ddfbb691d4a912c2022182..4655d134e5b719203dab9a37d493518fd11d6a38 100644 GIT binary patch delta 27 jcmey#^^<GEWERFrlc%tRa8767Wthnz!!UdDN0tr%jXVi$ delta 27 jcmey#^^<GEWERHhlc%tRaL!@iWthhx!?0lTN0tr%jv@(x diff --git a/bin/de/deadlocker8/roadgame/ui/Controller.class b/bin/de/deadlocker8/roadgame/ui/Controller.class index ccfff9e08e168ea162b7b262544400e30de5a5b3..a729147f0a18ac72a3028e9479a690640cc6dbab 100644 GIT binary patch delta 4405 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 delta 4874 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 diff --git a/bin/de/deadlocker8/roadgame/ui/GUI.fxml b/bin/de/deadlocker8/roadgame/ui/GUI.fxml index c1199ad..074c8a7 100644 --- a/bin/de/deadlocker8/roadgame/ui/GUI.fxml +++ b/bin/de/deadlocker8/roadgame/ui/GUI.fxml @@ -2,6 +2,7 @@ <?import javafx.geometry.Insets?> <?import javafx.scene.control.Button?> +<?import javafx.scene.control.ScrollPane?> <?import javafx.scene.layout.AnchorPane?> <?import javafx.scene.layout.HBox?> <?import javafx.scene.layout.StackPane?> @@ -11,7 +12,10 @@ <children> <HBox layoutX="14.0" layoutY="14.0" AnchorPane.bottomAnchor="14.0" AnchorPane.leftAnchor="14.0" AnchorPane.rightAnchor="14.0" AnchorPane.topAnchor="14.0"> <children> - <AnchorPane fx:id="anchorPaneGame" prefHeight="572.0" prefWidth="599.0" HBox.hgrow="ALWAYS" /> + <AnchorPane fx:id="anchorPaneGame" prefHeight="572.0" prefWidth="599.0" HBox.hgrow="ALWAYS"> + <children> + <ScrollPane fx:id="scrollPane" prefHeight="200.0" prefWidth="200.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0" /> + </children></AnchorPane> <VBox alignment="TOP_CENTER" prefHeight="572.0" prefWidth="124.0"> <HBox.margin> <Insets left="20.0" /> diff --git a/src/de/deadlocker8/roadgame/logic/Board.java b/src/de/deadlocker8/roadgame/logic/Board.java index 5b26049..3a7dacc 100644 --- a/src/de/deadlocker8/roadgame/logic/Board.java +++ b/src/de/deadlocker8/roadgame/logic/Board.java @@ -1,24 +1,23 @@ package de.deadlocker8.roadgame.logic; import java.util.ArrayList; +import java.util.Random; import javafx.geometry.Point2D; public class Board { private ArrayList<Tile> tiles; - private PossibleTiles possibleTiles; public Board() { - this.tiles = new ArrayList<>(); - this.possibleTiles = new PossibleTiles(); + this.tiles = new ArrayList<>(); initBoard(); } private void initBoard() { - Tile startTile = possibleTiles.getRandomTile(); + Tile startTile = getRandomTile(); startTile.setPosition(new Point2D(0, 0)); tiles.add(startTile); @@ -42,6 +41,23 @@ public class Board return null; } + public Tile getRandomTile() + { + Random random = new Random(); + int index = random.nextInt(TileTypes.values().length); + TileTypes tileType = TileTypes.values()[index]; + Tile tile = new Tile(tileType.getN(), tileType.getE(), tileType.getS(), tileType.getW()); + + //random rotation + int rotate = random.nextInt(3); + for(int i = 0; i < rotate; i++) + { + tile.rotateRight(); + } + + return tile; + } + public boolean containsTileAtPosition(int x, int y) { for(Tile currentTile : tiles) @@ -67,7 +83,7 @@ public class Board { if(!tile.getN().equals(EdgeType.GRASS)) { - if(tile.getN().equals(playerTile.getS())) + if(isCrossCheckValid(playerTile, x, y-1)) { freeEdges.add(new Point2D(x, y-1)); } @@ -79,7 +95,7 @@ public class Board { if(!tile.getE().equals(EdgeType.GRASS)) { - if(tile.getE().equals(playerTile.getW())) + if(isCrossCheckValid(playerTile, x+1, y)) { freeEdges.add(new Point2D(x+1, y)); } @@ -91,7 +107,7 @@ public class Board { if(!tile.getS().equals(EdgeType.GRASS)) { - if(tile.getS().equals(playerTile.getN())) + if(isCrossCheckValid(playerTile, x, y+1)) { freeEdges.add(new Point2D(x, y+1)); } @@ -103,7 +119,7 @@ public class Board { if(!tile.getW().equals(EdgeType.GRASS)) { - if(tile.getW().equals(playerTile.getE())) + if(isCrossCheckValid(playerTile, x-1, y)) { freeEdges.add(new Point2D(x-1, y)); } @@ -113,6 +129,47 @@ public class Board return freeEdges; } + private boolean isCrossCheckValid(Tile tile, int x, int y) + { + //North + if(containsTileAtPosition(x, y-1)) + { + if(!tile.getN().equals(getTile(x, y-1).getS())) + { + return false; + } + } + + //East + if(containsTileAtPosition(x+1, y)) + { + if(!tile.getE().equals(getTile(x+1, y).getW())) + { + return false; + } + } + + //South + if(containsTileAtPosition(x, y+1)) + { + if(!tile.getS().equals(getTile(x, y+1).getN())) + { + return false; + } + } + + //West + if(containsTileAtPosition(x-1, y)) + { + if(!tile.getW().equals(getTile(x-1, y).getE())) + { + return false; + } + } + + return true; + } + public ArrayList<Point2D> getPossibleLocations(Tile tile) { ArrayList<Point2D> possibleLocations = new ArrayList<>(); @@ -149,7 +206,7 @@ public class Board minY = (int)currentTile.getPosition().getY(); } - if((int)currentTile.getPosition().getX() > maxY) + if((int)currentTile.getPosition().getY() > maxY) { maxY = (int)currentTile.getPosition().getY(); } diff --git a/src/de/deadlocker8/roadgame/logic/Game.java b/src/de/deadlocker8/roadgame/logic/Game.java index ced0539..9900520 100644 --- a/src/de/deadlocker8/roadgame/logic/Game.java +++ b/src/de/deadlocker8/roadgame/logic/Game.java @@ -6,14 +6,12 @@ import javafx.geometry.Point2D; public class Game { - private Board board; - private PossibleTiles possibleTiles; + private Board board; private Tile currentTile; public Game() { - board = new Board(); - possibleTiles = new PossibleTiles(); + board = new Board(); } public Board getBoard() @@ -23,7 +21,7 @@ public class Game public Tile getNextTile() { - return possibleTiles.getRandomTile(); + return board.getRandomTile(); } public void setCurrentTile(Tile currentTile) @@ -45,5 +43,5 @@ public class Game { tile.setPosition(position); board.addTile(tile); - } + } } \ No newline at end of file diff --git a/src/de/deadlocker8/roadgame/logic/PossibleTiles.java b/src/de/deadlocker8/roadgame/logic/PossibleTiles.java deleted file mode 100644 index 4bb50b1..0000000 --- a/src/de/deadlocker8/roadgame/logic/PossibleTiles.java +++ /dev/null @@ -1,41 +0,0 @@ -package de.deadlocker8.roadgame.logic; - -import java.util.ArrayList; -import java.util.Random; - -public class PossibleTiles -{ - private ArrayList<Tile> possibleTiles; - - public PossibleTiles() - { - possibleTiles = new ArrayList<>(); - //curve - possibleTiles.add(new Tile(EdgeType.ROAD, EdgeType.ROAD, EdgeType.GRASS, EdgeType.GRASS)); - //straight - possibleTiles.add(new Tile(EdgeType.ROAD, EdgeType.GRASS, EdgeType.ROAD, EdgeType.GRASS)); - //T-tile - possibleTiles.add(new Tile(EdgeType.ROAD, EdgeType.ROAD, EdgeType.ROAD, EdgeType.GRASS)); - } - - public ArrayList<Tile> getPossibleTiles() - { - return possibleTiles; - } - - public Tile getRandomTile() - { - Random random = new Random(); - int index = random.nextInt(possibleTiles.size()); - Tile tile = possibleTiles.get(index); - - //random rotation - int rotate = random.nextInt(3); - for(int i = 0; i < rotate; i++) - { - tile.rotateRight(); - } - - return tile; - } -} \ No newline at end of file diff --git a/src/de/deadlocker8/roadgame/logic/TileTypes.java b/src/de/deadlocker8/roadgame/logic/TileTypes.java new file mode 100644 index 0000000..fe18119 --- /dev/null +++ b/src/de/deadlocker8/roadgame/logic/TileTypes.java @@ -0,0 +1,41 @@ +package de.deadlocker8.roadgame.logic; + +public enum TileTypes +{ + STRAIGHT(EdgeType.ROAD, EdgeType.GRASS, EdgeType.ROAD, EdgeType.GRASS), + CURVE(EdgeType.ROAD, EdgeType.ROAD, EdgeType.GRASS, EdgeType.GRASS), + T_JUNCTION(EdgeType.ROAD, EdgeType.ROAD, EdgeType.ROAD, EdgeType.GRASS); + + private EdgeType N; + private EdgeType E; + private EdgeType S; + private EdgeType W; + + private TileTypes(EdgeType n, EdgeType e, EdgeType s, EdgeType w) + { + N = n; + E = e; + S = s; + W = w; + } + + public EdgeType getN() + { + return N; + } + + public EdgeType getE() + { + return E; + } + + public EdgeType getS() + { + return S; + } + + public EdgeType getW() + { + return W; + } +} \ No newline at end of file diff --git a/src/de/deadlocker8/roadgame/main/Main.java b/src/de/deadlocker8/roadgame/main/Main.java index 11e8636..4557da8 100644 --- a/src/de/deadlocker8/roadgame/main/Main.java +++ b/src/de/deadlocker8/roadgame/main/Main.java @@ -28,7 +28,7 @@ public class Main extends Application ((Controller)loader.getController()).init(stage); - stage.setResizable(false); + stage.setResizable(true); stage.getIcons().add(new Image("de/deadlocker8/roadgame/resources/icon.png")); stage.setTitle("RoadGame"); stage.setScene(scene); diff --git a/src/de/deadlocker8/roadgame/resources/2.png b/src/de/deadlocker8/roadgame/resources/2.png deleted file mode 100644 index 8d8cea35f9b801e5f39132e92b07a3630a5fedaa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 206 zcmeAS@N?(olHy`uVBq!ia0y~yU`PRB4mJh`hJr^^Ll_ts7>k44ofy`glX=O&z`&C3 z=<CS9u(6-}Pa-P=0|RG)M`SSr1K(i~W;~w10;FBC#5JNMI6tkVJh3R1p&&6cuS72| zwM4;0&p^-6$eAVk4Fdy%ou`XqNJZS+gNBR@3=D@BeD%-e)>mL43OrcBHfIR~<I|@x PO(6B2u6{1-oD!M<67nuz diff --git a/src/de/deadlocker8/roadgame/resources/empty.png b/src/de/deadlocker8/roadgame/resources/empty.png index 0b624ce13d73f787120c3997e3836566e212cfba..8d8cea35f9b801e5f39132e92b07a3630a5fedaa 100644 GIT binary patch delta 102 zcmaFGbdGU?BnKM<14F^1sUZ^;qk`=`T^vIy;@%!KWMp7qIJDrae=fJa0s~Rt!3wrH WOBfiRK8<MtsrPjCb6Mw<&;$U)9u@fj literal 362 zcmeAS@N?(olHy`uVBq!ia0y~yU`PRB4kiW$hW`yr%nS?+jKx9jP7LeL$-HD>U|>mi z^mSxl*x1kgCy|wbfq}EYBeIx*f$uN~Gak=h0n#p6;u=vBoS#-wo>-L1P>`6JSE84f zTB2a0XP{?j<jj)&hJk_MmZytjNJZS+3y!=D3Oo#kCTF?-E#=|9v)@zn%biHOlUymR ro0uXS*EobJXipG5F=V*=&f4iLYQ2^*>Gf&`1_lOCS3j3^P6<r_Yh!Uf diff --git a/src/de/deadlocker8/roadgame/ui/Controller.java b/src/de/deadlocker8/roadgame/ui/Controller.java index e29638c..a87371c 100644 --- a/src/de/deadlocker8/roadgame/ui/Controller.java +++ b/src/de/deadlocker8/roadgame/ui/Controller.java @@ -14,7 +14,7 @@ import javafx.geometry.Point2D; import javafx.scene.control.Alert; import javafx.scene.control.Alert.AlertType; import javafx.scene.control.Button; -import javafx.scene.control.Label; +import javafx.scene.control.ScrollPane; import javafx.scene.image.Image; import javafx.scene.image.ImageView; import javafx.scene.input.MouseButton; @@ -31,6 +31,7 @@ public class Controller @FXML private AnchorPane anchorPaneGame; @FXML private StackPane stackPaneCurrentTile; @FXML private Button buttonRotate; + @FXML private ScrollPane scrollPane; private Stage stage; private Image icon = new Image("de/deadlocker8/roadgame/resources/icon.png"); @@ -55,11 +56,7 @@ public class Controller stackPaneCurrentTile.setStyle("-fx-border-color: #333333; -fx-border-width: 2px"); grid = new GridPane(); - anchorPaneGame.getChildren().add(grid); - AnchorPane.setTopAnchor(grid, 0.0); - AnchorPane.setRightAnchor(grid, 0.0); - AnchorPane.setBottomAnchor(grid, 0.0); - AnchorPane.setLeftAnchor(grid, 0.0); + scrollPane.setContent(grid); game = new Game(); @@ -100,8 +97,7 @@ public class Controller } } else - { - System.out.println("�hm: " +( x - (int)center.getX() )+" "+ (y - (int)center.getY() )); + { Tile tile = board.getTile(x - (int)center.getX(), y - (int)center.getY()); if(tile != null) { @@ -127,12 +123,11 @@ public class Controller } } } - } + } } private void placeTile(int x, int y) - { - System.out.println(x + " " + y); + { game.placeTile(game.getCurrentTile(), new Point2D(x, y)); nextTile(); } @@ -216,15 +211,14 @@ public class Controller game.setCurrentTile(game.getNextTile()); stackPaneCurrentTile.getChildren().clear(); - stackPaneCurrentTile.getChildren().add(createStackPaneForTile(game.getCurrentTile(), false, 0, 0)); - System.out.println(game.getBoard()); + stackPaneCurrentTile.getChildren().add(createStackPaneForTile(game.getCurrentTile(), false, 0, 0)); updateGrid(game.getBoard(), game.getPossibleLocations(game.getCurrentTile())); } public void rotateRight() { - game.getCurrentTile().rotateRight(); + game.getCurrentTile().rotateRight(); stackPaneCurrentTile.getChildren().clear(); stackPaneCurrentTile.getChildren().add(createStackPaneForTile(game.getCurrentTile(), false, 0, 0)); diff --git a/src/de/deadlocker8/roadgame/ui/GUI.fxml b/src/de/deadlocker8/roadgame/ui/GUI.fxml index c1199ad..074c8a7 100644 --- a/src/de/deadlocker8/roadgame/ui/GUI.fxml +++ b/src/de/deadlocker8/roadgame/ui/GUI.fxml @@ -2,6 +2,7 @@ <?import javafx.geometry.Insets?> <?import javafx.scene.control.Button?> +<?import javafx.scene.control.ScrollPane?> <?import javafx.scene.layout.AnchorPane?> <?import javafx.scene.layout.HBox?> <?import javafx.scene.layout.StackPane?> @@ -11,7 +12,10 @@ <children> <HBox layoutX="14.0" layoutY="14.0" AnchorPane.bottomAnchor="14.0" AnchorPane.leftAnchor="14.0" AnchorPane.rightAnchor="14.0" AnchorPane.topAnchor="14.0"> <children> - <AnchorPane fx:id="anchorPaneGame" prefHeight="572.0" prefWidth="599.0" HBox.hgrow="ALWAYS" /> + <AnchorPane fx:id="anchorPaneGame" prefHeight="572.0" prefWidth="599.0" HBox.hgrow="ALWAYS"> + <children> + <ScrollPane fx:id="scrollPane" prefHeight="200.0" prefWidth="200.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0" /> + </children></AnchorPane> <VBox alignment="TOP_CENTER" prefHeight="572.0" prefWidth="124.0"> <HBox.margin> <Insets left="20.0" /> -- GitLab