From fe7b1566b10db9b07841e7e407e3889456b4e1f4 Mon Sep 17 00:00:00 2001
From: Robert Goldmann <deadlocker@gmx.de>
Date: Tue, 6 Dec 2016 17:21:56 +0100
Subject: [PATCH] added images

---
 bin/de/deadlocker8/roadgame/logic/Board.class | Bin 4495 -> 4530 bytes
 .../roadgame/logic/Dimension.class            | Bin 0 -> 1589 bytes
 bin/de/deadlocker8/roadgame/resources/2.png   | Bin 0 -> 206 bytes
 .../deadlocker8/roadgame/resources/border.png | Bin 0 -> 633 bytes
 .../deadlocker8/roadgame/resources/empty.png  | Bin 0 -> 362 bytes
 .../deadlocker8/roadgame/resources/green.png  | Bin 0 -> 399 bytes
 .../deadlocker8/roadgame/resources/road.png   | Bin 0 -> 428 bytes
 .../roadgame/ui/Controller$1.class            | Bin 1071 -> 1071 bytes
 .../roadgame/ui/Controller$2.class            | Bin 0 -> 1401 bytes
 .../deadlocker8/roadgame/ui/Controller.class  | Bin 6340 -> 8803 bytes
 bin/de/deadlocker8/roadgame/ui/GUI.fxml       |  18 +--
 src/de/deadlocker8/roadgame/logic/Board.java  |  51 +++----
 .../deadlocker8/roadgame/logic/Dimension.java |  60 ++++++++
 .../roadgame/logic/PossibleTiles.java         |   2 +-
 src/de/deadlocker8/roadgame/resources/2.png   | Bin 0 -> 206 bytes
 .../deadlocker8/roadgame/resources/border.png | Bin 0 -> 633 bytes
 .../deadlocker8/roadgame/resources/empty.png  | Bin 0 -> 362 bytes
 .../deadlocker8/roadgame/resources/green.png  | Bin 0 -> 399 bytes
 .../deadlocker8/roadgame/resources/road.png   | Bin 0 -> 428 bytes
 .../deadlocker8/roadgame/ui/Controller.java   | 136 ++++++++++++++----
 20 files changed, 199 insertions(+), 68 deletions(-)
 create mode 100644 bin/de/deadlocker8/roadgame/logic/Dimension.class
 create mode 100644 bin/de/deadlocker8/roadgame/resources/2.png
 create mode 100644 bin/de/deadlocker8/roadgame/resources/border.png
 create mode 100644 bin/de/deadlocker8/roadgame/resources/empty.png
 create mode 100644 bin/de/deadlocker8/roadgame/resources/green.png
 create mode 100644 bin/de/deadlocker8/roadgame/resources/road.png
 create mode 100644 bin/de/deadlocker8/roadgame/ui/Controller$2.class
 create mode 100644 src/de/deadlocker8/roadgame/logic/Dimension.java
 create mode 100644 src/de/deadlocker8/roadgame/resources/2.png
 create mode 100644 src/de/deadlocker8/roadgame/resources/border.png
 create mode 100644 src/de/deadlocker8/roadgame/resources/empty.png
 create mode 100644 src/de/deadlocker8/roadgame/resources/green.png
 create mode 100644 src/de/deadlocker8/roadgame/resources/road.png

diff --git a/bin/de/deadlocker8/roadgame/logic/Board.class b/bin/de/deadlocker8/roadgame/logic/Board.class
index bc6431984802150d760a1933700b1e41077c6048..a3c7421f9e5d58f240e377c05ec3cd170f44c50e 100644
GIT binary patch
delta 1298
zcmeBI-lQyW>ff$?3=9k=3@g|fm>3z9Cp$9AZPa_l%FW4;%8<^^kjBWM1`?a>$Hv8*
z!H~(w!0I047#z&VF!=+E!el=-4m)cuhE#@Z9)=tSV@3wH)WXuloMJ8pZH7D^hJ1!(
zMh2Gj)RJJ3Kp_u95lp}pBv8V`P`bI6O`TDoo`)ftA%=@VfT59xp^2e+@)mY$A)fTq
z5|_-})V$)%{5(bmZ4J%IA6euD;6m2y3>}ON>LBN7!v(n*+8Mfd7`Pd_85!6$JUu-<
zHNzMgSaLJ-B0yAPMZ{!hjx@%plUH%bNKa>E;C0GREJ{&`F3HSEEw<%in8Gj<q<hxn
zha6HIQyAv(FwA9`H<_8!ntuT!17j>m!6J~@;>o_8MjTTZmhv!6VwgO+ozs?)Yx7ag
zWlWs68Q2-v7#JA&CYSJNNE&HxV@TM<kg|;-YZiklh@-QOA$J=?*5nmD$}%9?0%X|&
zoox)o+ZeKDGKf#U!J`1yo{Ov?S7#eT0!TXxuQFJ+7+JPhXB$HSNY<EFsXmB7gn@y<
zhJk~@jzNgQo<WAei9wUWg~5!$jlqS%gCT;!k0F&IfT4&Xh@pWYgkcIp6vIM>7>0EW
zaSVGH5*RKpq%quO$Y6NIkj3zWA%~HNp^!n2fq}se;yng=1_cHNkVhHH7)%)$!K`uy
zQwAmm4n{VH3SR~`24)5!hCd7;4517x3^EL#7{VAr8CV%A85kIN7#JbS7^)bU86p@M
z7<d_2{xL+bGYBv;T3cH)Ffvp#)G#nHurn|)Ffr6l7UVN#soTcTFxi7oCa{cwgQ0>!
zo}r3Ci=l$SgrOGfFf9fa1_lN*n8O&%pbq0;&|_#}U}IonkZ0g#2xl;5U`DtBELSyo
zE1yz*D?=LtBLgo317i*Y8`$D$%r?xn%y!IXELvL_gtswRTd^%?$dzQ<$zadOaDYME
zidB+z8-wdM2G2g}MGU-fjt!h8vjj=l7Aox9CyP+++h+$6u4nM<6J=S#zz5+n`1YBx
zfUF8&WSI58e>X#Wq_m8zD9d(+&J7F<49pC&;JDytU|?usU}9)yU;%rwm4TC?ok5YI
zlR=N6o56yikHM8;0)s!pWQG`qsSIfhGZ;!3W--(=v@>)v%mW7-I6fJsG1NmMl!;*q
zLk~kJ10w?q!z6}YhEN731~!HX41Elt49pCi4808f;P_Nzhy#ZuD>(LS7+C)^h%&IV
zGcbYx13QBQ1H*p?CAbJXgEm-9Ozb~{1Y8uNj)9S30>i|~uLLw}7Bg@%ECD-9jDd-P
zfq@Gin_SS?WCUe6NIWq(Gcbb^9)sj=hAELk)3!6rfW*^mq50bw7H(r$0tzW6a7eL%
X6|Mvu4N80r43bcz85x#=)7WwV_<H{t

delta 1334
zcmdm_+^;Nf>ff$?3=9k=49nOVm>3z9Cp$9AZPa_lD#OK~&5+8&kj9YA$iR}GS`y5~
zkin3}&XCE-paxPj*_Mq<HJibhk%29>urx8J7^ESWhanH9!4)J>z{60uc^8{Hqd+we
zLo`DS7lQypEe}H-L;d8B?A9S1>8T~*nJFb1j10^gnx0$?Eevh!46Td|d|8QQiTXK-
zdFlGTi6t344DAdZj10_)NyUr|EE=Ago{S7ExtVzpAS$sUf{}qUJ+;ImH8VY<Wb!tS
zG{(u3WjSSRr!q3|I^`!8r6@#~Wagw6+j22XVwlduz|Am&kwH|$2VqHYNl|8Ay0vB)
zNX0B3hS>~rCYNzq^Uq^sV2lNcEdYrvoP2=Oh+`7NVjhMG3==2+;<RPt-fY3OjEQq9
z13Lp70|Ud2$<KK-cvQ8wF(l}0V@TP?kUm+1SD9B?dmBTJ&NhbpZ4Bw*lhb(>z)Dhd
zwlO4tlq}#?1`FitY-7j)3EbgTVs>H>n9Rs0T5rza#^BB1%@D!h%aFnlz)-;u!qCbP
z#xR*7f?+vBEW;Ltc!om^i44~mQW@kJ7#Qpz4q=dIP+$Oo8w^DZrVNZA$1xN$m@+Ui
za4=k8C}Ch@U}g|vIK~jd5X!*9Aj7bSA&eoEft8_@fq{XCff1^zOqGF|A%cN{ftP{h
zAA>hLg8(C=j-DO^BSSeu1p^ZUI|Bm)6GP?XQ+&oORofV9CNuKO2xc*GFyt`EGvqO7
zG2}3qFcePK;}_S2ID>;hkD-Bqje&_lo`IVooWYcV8OchJT-oG2ex>?Gh9(9^23`gR
zhF=U!46F<c3=zyW%(hxv7=*VmSX;3yXRwfD*~wtf$Z&u`+fR2JgX=a1&pzoz3_LKl
z4U8eP1R-b((iFhRFzf#j=^YHsG6^gRYZw?9m>Fal7#P$TI2jli${3g!%Ig_e7%Ca0
z8LAo78EP2}7#bLC7@8Pd87dk48QQ?%ti`|rauhV2nHa(tIvGM47#Ua?LKwOjLK&DC
zq#3lJ9s~uT2?O(g1_1_Eb_Pa9Mh12U2L^`!4DwJuJA*b<L<AyI4^_gz$k0tjNcbX!
zgl`{~knrup9}@N8py*~`V(4LDVd!I!W|+XB&M=9=fMF_w4a0N>SB5?Ye}>sOLZSyA
z61`-GggC>0253+qLZXkMe=@J2X3YWyPKJeGtHl_Y7#JA1ppgJ#K~fnbD1$=Nk23=^
zIQdKNW|$NyG-W%(G)N+vDKvK*!~AUwi#CAMFem}AffX(T8x6_>3=EP`qZt{NfK@F8
E0C%GN{r~^~

diff --git a/bin/de/deadlocker8/roadgame/logic/Dimension.class b/bin/de/deadlocker8/roadgame/logic/Dimension.class
new file mode 100644
index 0000000000000000000000000000000000000000..c2f729d1e3a469658a099b4e54423e36dc759c10
GIT binary patch
literal 1589
zcmX^0Z`VEs1_l!bA9e;NMh5kiRQ;6H#FU);<m}WU3;m+}#FX^J+*JLX{PfIZeV5GK
z)V$)%{5*CB7Dfhvti-ZJ{hY+SbbbG%tkmQZMh2GL%)AIj21ZX1GqEB9L}lhhf~drb
zNJa)Wo6Nk-5<5l)b`4KYPfyJ-Mg|t={FGEK24)669tJK3entjn4b3o421W)!9tKth
zHV{jghk+f!66ImwfUv}Q7&sZ&7#a9|GV@aXN^_G^i$W5Ua#9%?gnaUo6LZ26i!woc
zs31#8MrJW1gQgFW9<*j;U{6mi@dbN_Swqtk$_M)iDiaA8i)3WrNKY*Z&rB)F;9^i_
zP-SOOVPxP#gpY4xNd^yt8iP6`19M_hF(U(uh9}5O&h*q0kJQZcj1oo$k@VCO=hVEC
z)FS8n{Gyc1yu^~!VnzmO4NV`AL1`8G>8bg-sU<~~`T_Zwc_l_J*6a*Aj11y9WVsl$
z8T3G5s?W&4s^Q`S3T%#&{NR$J%)E3)1`(*akO+i`TC+14Lk&b0b}G%xNl7i@U@&E5
z5P+uvg=kP@+j21&F_?p_v0!8n)c`vcS+BKb7)XT`4}&#>4I=|vVnIP_UJ4_FjD{z~
zU&xA~7FlyJfRc!gLT+M31lR%xkakB#23>3xVAzQ;#+i|UT}L4|GcVGXgTWQTNvr^I
z+!+}dV?i$S<Y6#iFl1!l3eGPrN=|jl1f?N9xG(iUq06Aiz{tSNz`(%5zywN^3=9lR
zpd<;VIT+Z$G$)t_rB^NnZU#mM9tH-62C#Yt1}UxW47^&>TNwnjWVSL0X~}M75YZB4
z*~%cc5v*5&fq_8^te=O0g@KQOlYyUsk3oPzm_d+1l0k?;5}Zd_!K$Pfq!~a!3hWX_
zuoyc78v_%V1#%6@rBa~m!N9`6$RNWY3w4b?10w@SJ*(Ch27xtji`l?}Vqi;nz-(3q
zh$V~+a#%GBp=*}Ls#zYZW)XDF3RpEOVAU*!u2~hUW<|JWO9m#em-s<`-oc=xwS_?_
zfh7Um7%e1Y_~E|Sz-o*L#27Iw#^_@;Mw3Ac8Ut<&kieGN&7d6#brDNKyVe#4kfAII
z?b{i2H=sp~36hyIaHknC7(&fVXJ7{V&~`V2QKXQ`b_O$$!P^)tg>1Jm*n|8FVmm?D
hA|SR4ge?YQyKQ5z-^Sp9ZmAWLrM7TOy}(ZM1^@ss4AB4p

literal 0
HcmV?d00001

diff --git a/bin/de/deadlocker8/roadgame/resources/2.png b/bin/de/deadlocker8/roadgame/resources/2.png
new file mode 100644
index 0000000000000000000000000000000000000000..8d8cea35f9b801e5f39132e92b07a3630a5fedaa
GIT binary patch
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

literal 0
HcmV?d00001

diff --git a/bin/de/deadlocker8/roadgame/resources/border.png b/bin/de/deadlocker8/roadgame/resources/border.png
new file mode 100644
index 0000000000000000000000000000000000000000..c2b5d4faf7bd65e73e071791bbd9cabd0cee17e5
GIT binary patch
literal 633
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$eAVk4Fdz?OHUWakczms6F2fQGYT}<ZMk2+(&e3}WFf0Z$h$M2_q|tt
zA2A_W?8yvP%QVNn$O*~+cs?D8UwA&<QRT(wNCD1YHDWGJcJo;$E*KRWJRxD<UZQit
okh|zilgws?<2ola@1GYx#+f2C&+k(d0|Nttr>mdKI;Vst07};VYybcN

literal 0
HcmV?d00001

diff --git a/bin/de/deadlocker8/roadgame/resources/empty.png b/bin/de/deadlocker8/roadgame/resources/empty.png
new file mode 100644
index 0000000000000000000000000000000000000000..0b624ce13d73f787120c3997e3836566e212cfba
GIT binary patch
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

literal 0
HcmV?d00001

diff --git a/bin/de/deadlocker8/roadgame/resources/green.png b/bin/de/deadlocker8/roadgame/resources/green.png
new file mode 100644
index 0000000000000000000000000000000000000000..947ab103ae2d22eb71f398df474884b16d07e44f
GIT binary patch
literal 399
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)&24uRYi(^Pd+}jHqd0Pw^SPtq>Guo%W%UH!lr9xO|iKTDV$$$TT
zA5+=LM0MEobz|SlyM6D4wFTfXLO#2v@My)Yw?FKV>}&eE(avR!1Jz;X?=mJGZUfcN
UnZg$t7#J8lUHx3vIVCg!0P5S0!~g&Q

literal 0
HcmV?d00001

diff --git a/bin/de/deadlocker8/roadgame/resources/road.png b/bin/de/deadlocker8/roadgame/resources/road.png
new file mode 100644
index 0000000000000000000000000000000000000000..0c2cd245f9822b3c40316e419e2e314418b3213a
GIT binary patch
literal 428
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$eAVk4FdzCjHioZNJZS+3mbV4GYA|pc)!2oQbr^9Jy(WJ;ftTouc-?;
zxAot-Q#-HSkF>o0%Ub(+RDJr>nAh*u%*p;ccWUw4{hN!{eJu|g+KLz%Fu()T^PgG&
W^*&whv7avzB<tzw=d#Wzp$PzSa?COS

literal 0
HcmV?d00001

diff --git a/bin/de/deadlocker8/roadgame/ui/Controller$1.class b/bin/de/deadlocker8/roadgame/ui/Controller$1.class
index 5e27e9312bd188b813fcce42367f59a46350480a..3e40e28222964a2d6c131b6f57c2d5debbc147b1 100644
GIT binary patch
delta 27
icmZ3_v7Tc?Iy0m0<P2tePD2J}1|tS`2II*anCk&ynFeA2

delta 27
icmZ3_v7Tc?Iy0m8<P2tePJISu1_K6m2E)l4nCk&yJqB6;

diff --git a/bin/de/deadlocker8/roadgame/ui/Controller$2.class b/bin/de/deadlocker8/roadgame/ui/Controller$2.class
new file mode 100644
index 0000000000000000000000000000000000000000..4dfed642988740f411ddfbb691d4a912c2022182
GIT binary patch
literal 1401
zcmX^0Z`VEs1_l!bCw2xVMh5kiRQ;6H#FU);<m}WU3;m+}#FX^J+*JM2OnvA4ypp2)
zoSf7m6(e>A7Dfhvti-ZJ{hY+SbbbG%tkmQZb_O;^21$@;T7`aUS!!O1zAK3INX$#g
zNiAYzU@OVUELJgKWKj1Z$|7q<2G+8~9F+=221ZXPyONQC%_cK1v&4>(K}Ul~b38pY
z!x$M@obyvsIT;uk1b7(O88|>JAsz-!1}+dwgolBffs2cQnL&()frmkyk%3tQq>0}r
zGcVPzG&d==C?qi{CzX*w$R|HJF()jsC=<ko3bKH_#>k*aoP$)1tQi^DGQi=&$e^U*
z0}Zs|<kY-W{mi_A(h_~&{L<o7aQInkhH){-Gbpk%C@?a};#JDSpv0ie$iSJNTH;h%
zQj(tsGF=m=@enoEoD8ZA>g)_^j0|$POoyoCVbEaEWMp6u2=erG42ooAP#|P97lSH;
zHV=aigDxWjTWVoxVoot5gDAwq$Z5w~Gm48rpTUrw!GMuLm8jIg!(ha~%gDfyn4Fwi
z3{F<8;6%sBAdk~kknm(=;0-QGOwRUAEPzIzIK)M$=@uOBj0_e$3^EL|j0{}C`K3k4
zscxB|M8J>84tk(4V`ShA&P>lsEGaEYWn}OJI{?LhU=dXFq4~lFCWRyR?W`FY_+9go
zbMlKb^U{4&OEU6Pco^&%92gnIl8aIkOH#p}2}sOKb;~ab0XxqFch1PkPtQ!&2Pw0T
z^7KSY8##%U`K2ZLa09Iw8F)PN@=}YOa}tY-Q;QiC7#JCt85kK@8JGnGK)Hy4K|lzU
zhrl#90~Z4W12Y2y0}lf)10w?;0|SE-0}}%a0|SGImiAT#el3};41!v+TN#A4wlj!s
zWME)mVvt~9VBlh4VqjokWZ-9*&L9ca&j`}PAjKdJ7MEd=g_@VdzzkL^tG$guZWDvb
zHU_Pk3_@C482GieFbHaGVG!QIpa(LT8Eh~g*g10;cp2s~$S^Db8!iSh0BSe`gDitF
zg9!s8gDKeYj4}d_3^EL6Q2R6)n83<8wX_c~$ZumX2bm3VG#dlRk&Iw7LC$AkumpR^
eioqI8+c4NNFfgz%=rh<cID$RN2-d;CzyJW@tzBCH

literal 0
HcmV?d00001

diff --git a/bin/de/deadlocker8/roadgame/ui/Controller.class b/bin/de/deadlocker8/roadgame/ui/Controller.class
index 36f07da706d31af0c70cae8682b27df53499c715..ccfff9e08e168ea162b7b262544400e30de5a5b3 100644
GIT binary patch
delta 4527
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

delta 2464
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

diff --git a/bin/de/deadlocker8/roadgame/ui/GUI.fxml b/bin/de/deadlocker8/roadgame/ui/GUI.fxml
index 466a000..c1199ad 100644
--- a/bin/de/deadlocker8/roadgame/ui/GUI.fxml
+++ b/bin/de/deadlocker8/roadgame/ui/GUI.fxml
@@ -3,10 +3,7 @@
 <?import javafx.geometry.Insets?>
 <?import javafx.scene.control.Button?>
 <?import javafx.scene.layout.AnchorPane?>
-<?import javafx.scene.layout.ColumnConstraints?>
-<?import javafx.scene.layout.GridPane?>
 <?import javafx.scene.layout.HBox?>
-<?import javafx.scene.layout.RowConstraints?>
 <?import javafx.scene.layout.StackPane?>
 <?import javafx.scene.layout.VBox?>
 
@@ -14,20 +11,7 @@
    <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">
-               <children>
-                  <GridPane AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
-                    <columnConstraints>
-                      <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
-                      <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
-                    </columnConstraints>
-                    <rowConstraints>
-                      <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
-                      <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
-                      <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
-                    </rowConstraints>
-                  </GridPane>
-               </children></AnchorPane>
+            <AnchorPane fx:id="anchorPaneGame" prefHeight="572.0" prefWidth="599.0" HBox.hgrow="ALWAYS" />
             <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 c384a7e..5b26049 100644
--- a/src/de/deadlocker8/roadgame/logic/Board.java
+++ b/src/de/deadlocker8/roadgame/logic/Board.java
@@ -65,36 +65,48 @@ public class Board
 		//North
 		if(!containsTileAtPosition(x, y-1))
 		{	
-			if(tile.getN().equals(playerTile.getS()))
+			if(!tile.getN().equals(EdgeType.GRASS))
 			{
-				freeEdges.add(new Point2D(x, y-1));
+				if(tile.getN().equals(playerTile.getS()))
+				{
+					freeEdges.add(new Point2D(x, y-1));
+				}
 			}
 		}
 		
 		//East
 		if(!containsTileAtPosition(x+1, y))
 		{
-			if(tile.getE().equals(playerTile.getW()))
+			if(!tile.getE().equals(EdgeType.GRASS))
 			{
-
-			}freeEdges.add(new Point2D(x+1, y));
+				if(tile.getE().equals(playerTile.getW()))
+				{
+					freeEdges.add(new Point2D(x+1, y));
+				}
+			}
 		}
 				
 		//South
 		if(!containsTileAtPosition(x, y+1))
 		{
-			if(tile.getS().equals(playerTile.getN()))
+			if(!tile.getS().equals(EdgeType.GRASS))
 			{
-				freeEdges.add(new Point2D(x, y+1));
+				if(tile.getS().equals(playerTile.getN()))
+				{						
+					freeEdges.add(new Point2D(x, y+1));
+				}
 			}
 		}
 		
 		//West
 		if(!containsTileAtPosition(x-1, y))
 		{
-			if(tile.getW().equals(playerTile.getE()))
+			if(!tile.getW().equals(EdgeType.GRASS))
 			{
-				freeEdges.add(new Point2D(x-1, y));
+				if(tile.getW().equals(playerTile.getE()))
+				{
+					freeEdges.add(new Point2D(x-1, y));
+				}
 			}
 		}
 		
@@ -113,10 +125,12 @@ public class Board
 		return possibleLocations;
 	}
 	
-	public int getWidth()
+	public Dimension getDimension()
 	{
 		int minX = 0;
 		int maxX = 0;
+		int minY = 0;
+		int maxY = 0;
 		
 		for(Tile currentTile : tiles)
 		{
@@ -129,18 +143,7 @@ public class Board
 			{
 				maxX = (int)currentTile.getPosition().getX();
 			}
-		}	
-		
-		return Math.abs(minX) + maxX + 1;		
-	}
-	
-	public int getHeight()
-	{
-		int minY = 0;
-		int maxY = 0;
-		
-		for(Tile currentTile : tiles)
-		{
+			
 			if((int)currentTile.getPosition().getY() < minY)
 			{
 				minY = (int)currentTile.getPosition().getY();
@@ -150,9 +153,9 @@ public class Board
 			{
 				maxY = (int)currentTile.getPosition().getY();
 			}
-		}		
+		}	
 		
-		return Math.abs(minY) + maxY + 1;		
+		return new Dimension(minX, maxX, minY, maxY);		
 	}
 	
 	public void addTile(Tile tile)
diff --git a/src/de/deadlocker8/roadgame/logic/Dimension.java b/src/de/deadlocker8/roadgame/logic/Dimension.java
new file mode 100644
index 0000000..b262903
--- /dev/null
+++ b/src/de/deadlocker8/roadgame/logic/Dimension.java
@@ -0,0 +1,60 @@
+package de.deadlocker8.roadgame.logic;
+
+import javafx.geometry.Point2D;
+
+public class Dimension
+{
+	private int minX;
+	private int maxX;
+	private int minY;
+	private int maxY;
+		
+	public Dimension(int minX, int maxX, int minY, int maxY)
+	{
+		this.minX = minX;
+		this.maxX = maxX;
+		this.minY = minY;
+		this.maxY = maxY;
+	}
+	
+	public int getMinX()
+	{
+		return minX;
+	}
+	
+	public int getMaxX()
+	{
+		return maxX;
+	}
+	
+	public int getMinY()
+	{
+		return minY;
+	}
+	
+	public int getMaxY()
+	{
+		return maxY;
+	}
+	
+	public int getWidth()
+	{
+		return Math.abs(minX) + maxX + 1;
+	}
+	
+	public int getHeight()
+	{
+		return Math.abs(minY) + maxY + 1;
+	}
+	
+	public Point2D getCenterCoordinates()
+	{
+		return new Point2D(Math.abs(minX) + 1, Math.abs(minY) + 1);
+	}
+
+	@Override
+	public String toString()
+	{
+		return "Dimension [minX=" + minX + ", maxX=" + maxX + ", minY=" + minY + ", maxY=" + maxY + "]";
+	}
+}
\ No newline at end of file
diff --git a/src/de/deadlocker8/roadgame/logic/PossibleTiles.java b/src/de/deadlocker8/roadgame/logic/PossibleTiles.java
index 4a5e6d8..4bb50b1 100644
--- a/src/de/deadlocker8/roadgame/logic/PossibleTiles.java
+++ b/src/de/deadlocker8/roadgame/logic/PossibleTiles.java
@@ -35,7 +35,7 @@ public class PossibleTiles
 		{
 			tile.rotateRight();
 		}
-		
+	
 		return tile;
 	}
 }
\ No newline at end of file
diff --git a/src/de/deadlocker8/roadgame/resources/2.png b/src/de/deadlocker8/roadgame/resources/2.png
new file mode 100644
index 0000000000000000000000000000000000000000..8d8cea35f9b801e5f39132e92b07a3630a5fedaa
GIT binary patch
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

literal 0
HcmV?d00001

diff --git a/src/de/deadlocker8/roadgame/resources/border.png b/src/de/deadlocker8/roadgame/resources/border.png
new file mode 100644
index 0000000000000000000000000000000000000000..c2b5d4faf7bd65e73e071791bbd9cabd0cee17e5
GIT binary patch
literal 633
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$eAVk4Fdz?OHUWakczms6F2fQGYT}<ZMk2+(&e3}WFf0Z$h$M2_q|tt
zA2A_W?8yvP%QVNn$O*~+cs?D8UwA&<QRT(wNCD1YHDWGJcJo;$E*KRWJRxD<UZQit
okh|zilgws?<2ola@1GYx#+f2C&+k(d0|Nttr>mdKI;Vst07};VYybcN

literal 0
HcmV?d00001

diff --git a/src/de/deadlocker8/roadgame/resources/empty.png b/src/de/deadlocker8/roadgame/resources/empty.png
new file mode 100644
index 0000000000000000000000000000000000000000..0b624ce13d73f787120c3997e3836566e212cfba
GIT binary patch
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

literal 0
HcmV?d00001

diff --git a/src/de/deadlocker8/roadgame/resources/green.png b/src/de/deadlocker8/roadgame/resources/green.png
new file mode 100644
index 0000000000000000000000000000000000000000..947ab103ae2d22eb71f398df474884b16d07e44f
GIT binary patch
literal 399
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)&24uRYi(^Pd+}jHqd0Pw^SPtq>Guo%W%UH!lr9xO|iKTDV$$$TT
zA5+=LM0MEobz|SlyM6D4wFTfXLO#2v@My)Yw?FKV>}&eE(avR!1Jz;X?=mJGZUfcN
UnZg$t7#J8lUHx3vIVCg!0P5S0!~g&Q

literal 0
HcmV?d00001

diff --git a/src/de/deadlocker8/roadgame/resources/road.png b/src/de/deadlocker8/roadgame/resources/road.png
new file mode 100644
index 0000000000000000000000000000000000000000..0c2cd245f9822b3c40316e419e2e314418b3213a
GIT binary patch
literal 428
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$eAVk4FdzCjHioZNJZS+3mbV4GYA|pc)!2oQbr^9Jy(WJ;ftTouc-?;
zxAot-Q#-HSkF>o0%Ub(+RDJr>nAh*u%*p;ccWUw4{hN!{eJu|g+KLz%Fu()T^PgG&
W^*&whv7avzB<tzw=d#Wzp$PzSa?COS

literal 0
HcmV?d00001

diff --git a/src/de/deadlocker8/roadgame/ui/Controller.java b/src/de/deadlocker8/roadgame/ui/Controller.java
index 0efae05..e29638c 100644
--- a/src/de/deadlocker8/roadgame/ui/Controller.java
+++ b/src/de/deadlocker8/roadgame/ui/Controller.java
@@ -4,9 +4,8 @@ import java.util.ArrayList;
 import java.util.Locale;
 import java.util.ResourceBundle;
 
-import com.sun.org.apache.bcel.internal.generic.IfInstruction;
-
 import de.deadlocker8.roadgame.logic.Board;
+import de.deadlocker8.roadgame.logic.EdgeType;
 import de.deadlocker8.roadgame.logic.Game;
 import de.deadlocker8.roadgame.logic.Tile;
 import javafx.event.EventHandler;
@@ -17,6 +16,9 @@ import javafx.scene.control.Alert.AlertType;
 import javafx.scene.control.Button;
 import javafx.scene.control.Label;
 import javafx.scene.image.Image;
+import javafx.scene.image.ImageView;
+import javafx.scene.input.MouseButton;
+import javafx.scene.input.MouseEvent;
 import javafx.scene.layout.AnchorPane;
 import javafx.scene.layout.GridPane;
 import javafx.scene.layout.StackPane;
@@ -68,61 +70,139 @@ public class Controller
 	
 	private void updateGrid(Board board, ArrayList<Point2D> possibleLocations)
 	{		
-		grid.getChildren().clear();
+		grid.getChildren().clear();				
+		
+		int width = board.getDimension().getWidth();
+		int height = board.getDimension().getHeight();
 		
-		int width = board.getWidth();
-		int height = board.getHeight();
+		Point2D center = board.getDimension().getCenterCoordinates();		
 		
-		//fill outer rim with void
 		for(int x = 0; x < width + 2; x++)
 		{
 			for(int y = 0; y < height + 2; y++)
 			{
 				if(x == 0 || y == 0 || x == width + 1 || y == height + 1)
-				{
-					Label label = new Label("X");
+				{				
 					if(possibleLocations != null)
 					{
-						//TODO x , y is alwasy positive, but possible locations can be negative --> transform coordinates
-						if(isInPossibleLocations(possibleLocations, x, y))
+						if(isInPossibleLocations(possibleLocations, center, x, y))
+						{
+							grid.add(createStackPaneForTile(null, true, -((int)center.getX() - x), -((int)center.getY() - y)), x, y);		
+						}
+						else
 						{
-							label.setStyle("-fx-background-color: red");
+							grid.add(createStackPaneForTile(null, false, 0, 0), x, y);		
 						}
 					}
-					
-					grid.add(label, y, x);
-					
+					else
+					{
+						grid.add(createStackPaneForTile(null, false, 0, 0), x, y);		
+					}	
 				}
 				else
 				{		
-					Tile tile = board.getTile(x-1, y-1);
+					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)
 					{					
-						grid.add(new Label(board.getTile(x-1, y-1).toShortString()), y, x);
+						grid.add(createStackPaneForTile(tile, false, 0, 0), x, y);						
 					}
 					else
 					{
-						Label label = new Label("X");
 						if(possibleLocations != null)
 						{
-							if(isInPossibleLocations(possibleLocations, x, y))
+							if(isInPossibleLocations(possibleLocations, center, x, y))
+							{
+								grid.add(createStackPaneForTile(null, true, x - (int)center.getX(), y - (int)center.getY()), x, y);		
+							}
+							else
 							{
-								label.setStyle("-fx-background-color: red");
+								grid.add(createStackPaneForTile(null, false, 0, 0), x, y);		
 							}
 						}
-						
-						grid.add(label, y, x);
+						else
+						{
+							grid.add(createStackPaneForTile(null, false, 0, 0), x, y);		
+						}	
 					}
 				}	
 			}
 		}		
 	}
 	
-	private boolean isInPossibleLocations(ArrayList<Point2D> possibleLocations, int x, int y)
+	private void placeTile(int x, int y)
+	{
+		System.out.println(x + "  " + y);
+		game.placeTile(game.getCurrentTile(), new Point2D(x, y));
+		nextTile();
+	}
+	
+	private StackPane createStackPaneForTile(Tile tile, boolean possible, int x, int y)
+	{
+		StackPane stack = new StackPane();	
+		
+		stack.getChildren().add(new ImageView(new Image("de/deadlocker8/roadgame/resources/empty.png")));
+		
+		if(tile == null)
+		{
+			if(possible)
+			{
+				stack.getChildren().add(new ImageView(new Image("de/deadlocker8/roadgame/resources/border.png")));	
+				stack.setOnMouseClicked(new EventHandler<MouseEvent>()
+				{
+					@Override
+					public void handle(MouseEvent event)
+					{
+						if(event.getButton().equals(MouseButton.PRIMARY))
+						{
+							placeTile(x, y);
+						}						
+					}
+				});
+			}
+		}
+		else
+		{
+			stack.getChildren().add(new ImageView(new Image("de/deadlocker8/roadgame/resources/green.png")));	
+			
+			if(tile.getN().equals(EdgeType.ROAD))
+			{			
+				ImageView imageViewRoadNorth = new ImageView(new Image("de/deadlocker8/roadgame/resources/road.png"));					
+				stack.getChildren().add(imageViewRoadNorth);
+			}	
+			
+			if(tile.getE().equals(EdgeType.ROAD))
+			{			
+				ImageView imageViewRoadEast = new ImageView(new Image("de/deadlocker8/roadgame/resources/road.png"));	
+				imageViewRoadEast.setRotate(90);
+				stack.getChildren().add(imageViewRoadEast);
+			}	
+			
+			if(tile.getS().equals(EdgeType.ROAD))
+			{			
+				ImageView imageViewRoadSouth = new ImageView(new Image("de/deadlocker8/roadgame/resources/road.png"));	
+				imageViewRoadSouth.setRotate(180);
+				stack.getChildren().add(imageViewRoadSouth);
+			}	
+			
+			if(tile.getW().equals(EdgeType.ROAD))
+			{			
+				ImageView imageViewRoadWest = new ImageView(new Image("de/deadlocker8/roadgame/resources/road.png"));	
+				imageViewRoadWest.setRotate(270);
+				stack.getChildren().add(imageViewRoadWest);
+			}	
+		}		
+		
+		return stack;
+	}
+	
+	private boolean isInPossibleLocations(ArrayList<Point2D> possibleLocations, Point2D center, int x, int y)
 	{
 		for(Point2D currentPoint : possibleLocations)
 		{
-			if((int)currentPoint.getX() == x && (int)currentPoint.getY() == y)
+			int currentX = (int)center.getX() + (int)currentPoint.getX(); 
+			int currentY = (int)center.getY() + (int)currentPoint.getY(); 
+			if(currentX == x && currentY == y)
 			{
 				return true;
 			}
@@ -136,15 +216,19 @@ public class Controller
 		game.setCurrentTile(game.getNextTile());
 		
 		stackPaneCurrentTile.getChildren().clear();
-		stackPaneCurrentTile.getChildren().add(new Label(game.getCurrentTile().toShortString()));
+		stackPaneCurrentTile.getChildren().add(createStackPaneForTile(game.getCurrentTile(), false, 0, 0));
+		System.out.println(game.getBoard());
 		
-		System.out.println(game.getPossibleLocations(game.getCurrentTile()));
 		updateGrid(game.getBoard(), game.getPossibleLocations(game.getCurrentTile()));
 	}
 	
 	public void rotateRight()
 	{
-	
+		game.getCurrentTile().rotateRight();
+		stackPaneCurrentTile.getChildren().clear();
+		stackPaneCurrentTile.getChildren().add(createStackPaneForTile(game.getCurrentTile(), false, 0, 0));	
+		
+		updateGrid(game.getBoard(), game.getPossibleLocations(game.getCurrentTile()));
 	}
 
 	public void about()
-- 
GitLab