From 647d708b50ff7aef63abae65011e4dffaad5120a Mon Sep 17 00:00:00 2001
From: deadlocker <deadlocker@gmx.de>
Date: Wed, 13 Apr 2016 17:52:01 +0200
Subject: [PATCH] -fixed design of non-valid cards -added functionality for 3
 AIs -added animation on card draw -added icon "direction" in UI -added
 "challengeCounter" in UI -...

---
 .../ColorChooserController$1.class            | Bin 1356 -> 1356 bytes
 .../ColorChooserController$2.class            | Bin 1353 -> 1353 bytes
 .../ColorChooserController$3.class            | Bin 1354 -> 1354 bytes
 .../ColorChooserController$4.class            | Bin 1355 -> 1355 bytes
 .../ColorChooserController$5.class            | Bin 0 -> 1020 bytes
 .../application/ColorChooserController.class  | Bin 1283 -> 1455 bytes
 class/application/Controller$1.class          | Bin 1482 -> 1610 bytes
 class/application/Controller$2.class          | Bin 3337 -> 1112 bytes
 class/application/Controller$3.class          | Bin 1586 -> 1256 bytes
 class/application/Controller$4.class          | Bin 1578 -> 3337 bytes
 class/application/Controller$5.class          | Bin 0 -> 1580 bytes
 class/application/Controller$6.class          | Bin 0 -> 1498 bytes
 class/application/Controller$7.class          | Bin 0 -> 2481 bytes
 class/application/Controller$8.class          | Bin 0 -> 2452 bytes
 class/application/Controller.class            | Bin 14429 -> 20703 bytes
 class/application/Main.class                  | Bin 1861 -> 1861 bytes
 class/application/MainGUI.fxml                |  61 +-
 class/application/Settings.fxml               |  70 ++
 class/images/DIRECTION_LEFT.png               | Bin 0 -> 9096 bytes
 class/images/DIRECTION_RIGHT.png              | Bin 0 -> 8649 bytes
 class/images/circle-all.png                   | Bin 0 -> 8410 bytes
 class/logic/AI.class                          | Bin 5702 -> 6027 bytes
 class/logic/Deck.class                        | Bin 3661 -> 3057 bytes
 class/logic/Game.class                        | Bin 6755 -> 9067 bytes
 class/logic/Player.class                      | Bin 4412 -> 4581 bytes
 src/application/ColorChooserController.java   |  10 +-
 src/application/Controller.java               | 710 ++++++++++++++----
 src/application/Main.java                     |   3 +-
 src/application/MainGUI.fxml                  |  61 +-
 src/application/Settings.fxml                 |  70 ++
 src/images/DIRECTION_LEFT.png                 | Bin 0 -> 9096 bytes
 src/images/DIRECTION_RIGHT.png                | Bin 0 -> 8649 bytes
 src/images/circle-all.png                     | Bin 0 -> 8410 bytes
 src/logic/AI.java                             |  58 +-
 src/logic/Deck.java                           |  27 +-
 src/logic/Game.java                           | 113 ++-
 src/logic/Player.java                         |  32 +-
 37 files changed, 988 insertions(+), 227 deletions(-)
 create mode 100644 class/application/ColorChooserController$5.class
 create mode 100644 class/application/Controller$5.class
 create mode 100644 class/application/Controller$6.class
 create mode 100644 class/application/Controller$7.class
 create mode 100644 class/application/Controller$8.class
 create mode 100644 class/application/Settings.fxml
 create mode 100644 class/images/DIRECTION_LEFT.png
 create mode 100644 class/images/DIRECTION_RIGHT.png
 create mode 100644 class/images/circle-all.png
 create mode 100644 src/application/Settings.fxml
 create mode 100644 src/images/DIRECTION_LEFT.png
 create mode 100644 src/images/DIRECTION_RIGHT.png
 create mode 100644 src/images/circle-all.png

diff --git a/class/application/ColorChooserController$1.class b/class/application/ColorChooserController$1.class
index 85395f688ebd45b8f0700226b84bc5c7cf105513..1c74f38cb7e934d7b98bdfd7a02d5b30867b2c5c 100644
GIT binary patch
delta 27
icmX@Zb%tw06$_*2<Z2dAPALX125AOC2ARocS?U33I0mEu

delta 27
icmX@Zb%tw06$_)t<Z2dAPDutX1}O$X2I<LXS?U333I?D6

diff --git a/class/application/ColorChooserController$2.class b/class/application/ColorChooserController$2.class
index fc6c75929efa6cda63727bb7e002f61112616edc..e993f20f323a2112ddccc48f8d6cf74a25cf095b 100644
GIT binary patch
delta 27
icmX@fb&_jCISZrw<O&u~P89|&22}<@2DQnjSn2_2>IS_4

delta 27
icmX@fb&_jCISZrQ<O&u~PGtrz1{DTD2Gz-@Sn2_2yau@d

diff --git a/class/application/ColorChooserController$3.class b/class/application/ColorChooserController$3.class
index 5230175f9388b5b1ab8302573a7f15d4ca958bd8..484b5d94df7df823b4b43eb0e6b17709ff07a4d1 100644
GIT binary patch
delta 27
icmX@bb&6|41q-9*<VqG#PCW)L27LxW27}3`S?U366b9-5

delta 27
icmX@bb&6|41q-9b<VqG#PF)5r20aEr2K~vWS?U35<_6{f

diff --git a/class/application/ColorChooserController$4.class b/class/application/ColorChooserController$4.class
index a3193630ce7f52340aabead89fafc6e35d77d3e1..f34045217f30e2017f9c3e5af9ff8c033bf52a91 100644
GIT binary patch
delta 27
icmX@jb((8KB@3hR<SG_VP74Mu21^D(2CK<uSn2_7J_i>7

delta 27
icmX@jb((8KB@3g`<SG_VPICq>1`7s32FuB3Sn2_75C;<g

diff --git a/class/application/ColorChooserController$5.class b/class/application/ColorChooserController$5.class
new file mode 100644
index 0000000000000000000000000000000000000000..aa0538e290b67fff8b8ac17023452860e8e0cb5e
GIT binary patch
literal 1020
zcmX^0Z`VEs1_l!b9d-sLMh2C{f`XjP<iwK9{5*Z<{G9wE=ZyUP;?yGN{JfH){G6QB
zA{A411{OvJfvm)`ME#t^ymWp4q^#8B5_SeQMg~ccXj+ASYFTPtiM}g{^hnH0$w@6@
zWMC`F$ShVdU}RA7A#95^BLkaFW?p8A9V3If1~D2m!x$M@obyvsIT;ukczGDu892BY
zm>Kwa7&sXO7#Wx~KnnPMGV@aXN^_G^i$W5Ua#9%?gnaUo6LZ26i!wocs2~f-sf-M2
zMA)lh3UX=&*prM5vKl_n5GXE5Oi$Gh&&*57F9(N%wPqL>g9L*VJA))6g9I*BJPgtx
z*Rm()=M|UcrZO_Hf`gKgK?=9Qj11y%Yr(1^0S~s2kwJlnL6kv^k%22XzqBYh)h!d`
zYiaCps|RuxBLin}W_n&?Noi3kBZDW{UgU_j28&>gWE+?irtj^n85#Ip^OAG&i!<}m
zeN#&^@>AFu)EOC+2qy*}22BPnMg|s8dSGPGhkF)cOE4&;t<j<imRhYrvCiX}mzP@P
zoRe5woLbDFz`)4B%)rRN%D^Zf07@nd3=GT+3=EtMTnvm1+zbp177R=bObiSRTw2;&
z8F;j|Gw^L>U|?Wk5Cn;VWk9-Z8H5-Z7<d>M!J@(pA`A=+jG(ZFnqteq2v*Cgy^TQ}
z-2f*B76xaq0b&qE3=jht7+4u(7-Sh31soYf8RVcwX+j;usil2@L1G(&Ji<6Ou>Fi+
nqd;zEVNe9SRf$0vOsg=cGB7Z(FsLzTFld8a$_UoMz`y_iuFd)x

literal 0
HcmV?d00001

diff --git a/class/application/ColorChooserController.class b/class/application/ColorChooserController.class
index ba11f7c2f89e2ed9473d440537ec127f2ec99b69..1378dc08149456c94e4e45105791504745ea56aa 100644
GIT binary patch
delta 277
zcmZqXTF=dO>ff$?3=9k=3@#hFc$k^l8B8W`WKt6_<zg^qFymq1VK8T8P}lI8D4=9%
ztr^C}V98+3&S1sJAe5C@mY7zdUtE%yo~j=VB6%2W7?c?q1dCHk{PUc1@{3c0QVUB{
zi%T|(F|#u=a!;0Hk>^~@z{bGLz`zhV*^R}eUVAr#airFE2GeZ}78@BD7?>CY85kI(
z7}yvX7(^Ka8RQw17&IA-8H^cR7;G5=7+e{I7#J87ASN&fGl(#NKp=xHgB=4S$W#V<
u1_uTv1||kauxU;V&I}9;S`4fVk|2c)3=C>eS{p=z3^M>R7#J9gAv6Fya46US

delta 164
zcmZ3_-OR;x>ff$?3=9k=3|1Stc$hb@VrFO5<YEwFU|`^3U}RumU}X?y5Mf|oU}O+w
z5My9u;A3E5n9RV&z|6qF;5zvhi%aB21_lNu20;b}1~CR!1_lNZ20;cn1|<d!24e;z
z1{VffuxSbq9Z=I47+e{Q8BD-7xH6bBm@zOhFfo{eO|oFHWME)WVqlrv&Z+<a;y)2R

diff --git a/class/application/Controller$1.class b/class/application/Controller$1.class
index 5f739f9a5a101f6660e74bcd18fc309a2e51c369..1e159b04bcc10e758a54a6ad35ca4ba9fa4b5df2 100644
GIT binary patch
delta 693
zcmX@beTs+c)W2Q(7#J8#7$P@vone$#Vr1aWEDp}dFVD<N_smPn=VFj!(B@&#VbGn#
zB+sVL!(hN*I9ZiRRl=CTl%2tZk%22GKRq*9-z7CUn}@-S!F+NOlTJN5gC!$_a8_bj
zqJC*fW{$pNQBh*0PiAom7lQ=@KZvm5VX$SeV`N}XOi5v65Y_MjE6z#GOV{^L%1TWx
zvDS>@Vvt~P;9+oNaAIVT$jvWHbxtfwaVyHt1z8r7ACQw+nOeliAOY2kuxT<MGy7yU
zW}SMjl%mA))D)0DMg|@qh*Lp4Yeoi+#GD)uvzU=V6k<EV0FYCy85zWU@{<#D!V-%z
z6O(dMLn;eWLqH5h24!p-Y>>^jvu0%AogB=p$>=w^mRW@{VDcj7sf^*1Em#s6lPAw&
zk*~kNz{J49z`zi$wS|Fa3xoJJ2HBYmK5&jQ%K`>FI8S{RgCU%w1!w7PV=(gF&0rC^
zox#daS7#f8HP|%WZ4CAs85kH?7z7y@7^E237#J8b7&I8N7#tX~89W$r82lLOa~Z-I
z@)?8}7#Or5?qCpR5Mcm;a0X`v7Y0TK2L>?)R|Yo*CI$}%J_dIN4+driPX-1C9tK9J
zh!+DhgEs>M11kgLZ-y`dM+Q*_9|lGSZUzPhO$H_gCI$uuPA%;N48GeK{6P+40y~I}
wfsuj1jDZnsIY<o)Lm&eK0~13KLok>QVF(4gUV<TvA%cN{fs26=qy^+Q0JVXZF#rGn

delta 582
zcmX@bbBdem)W2Q(7#J8#7$P=uonh3{Vr1Y<Pb~?^NvupQVq_4|(Dcd4PtQ!&hlp5n
zF~~9K@G$5y=uQ5}D9>iV!(hl@G+B&ERl<b9jGe)hk%0@M-X%3Tn}@-i!D4bSlTJMs
zgB61fJA*YN0}n(RVjM_;Eh7WJ2GkPg#G({y%`lK^dypj#j11x$nm$>HWr_NwC7C(;
zjzvX@l|GrpCDvRF5)4i}49*NLj10WRFc*VtWn_@hK+`h$FB69h$mwo84DJj9j0`L(
zMTzB%46LbTsd*)g4Dyo|8RaLhW!7QwWn_?@EXXX&%EiFQ;6M34^Hj#L$x~Sp8GR>z
zXOXX8%fQUQ#K6E1r?rKFXA6V)HU`<548d@YGRp!6S2#}{&eDdn^tUk>Z)30o@j)1D
zg!(oHyKM}PaK7tC1_lOZ20;b}1~CR!1_p*825E*62789kdWK+zD27;u7zQD*B-kko
z!VDq|AP~pk!Qjcj$l%4mz`)AD_?sbCz>z_e!JC1Rft!JWL6d<A>~>Bq?E?%x+Zg;n
z)-ZvsVPjxqU|?Vbn+h_Mg&}}}fq{u3kRb?62Q!2)Ffgz%2um=8GK4cQFn~e_q=kWj
F0RWo%bL{{C

diff --git a/class/application/Controller$2.class b/class/application/Controller$2.class
index a0aa43b035592b38636ea5ba4e940b4eadbfcad3..8772805082f719d2f4069e28ab38c667cdc86f64 100644
GIT binary patch
literal 1112
zcmX^0Z`VEs1_l!bYjy@EMh1z*f`XjP<iwK9{5*Z<{JfH){G6QBA{8Tc1{OvJfvm)`
zME#t^ymWp4q^#8B5_SeQMg~ccXj+ASYFTPtiM}g{^hnH0$w@6@WMC`F$ShVdU}TW+
z!EUlOBLkaFW?p8A9V3IZ1};UKVT=qc&iN^+oD7T%ygUr-3>;hx%nbZI44e!Cj10^g
zAO-wBnR%&xrMXF|MInhvIjM{cLO%J)i8*13MVTNzRFDPaBt`})9CoP~ft-{9_5dS;
ztcDMY?;MjsAp`cKwPqL>g9L*VJA))6gBW(-@i0g;$S^W+Bqk@P7K6jV9Je1~HWeqQ
z=B4T<LjqslskEddKhK(rL5@Lzok5<FK^p2HY|3~T6d9Bl8Mum5OTsdXGr@ttq7kJT
z#>pVTpu)qT%Am%`z>=Pro65+*<CBx0o|&xgo|v0z&BdU>pvBIh$;iNk5anUe28Awb
zaY<rP2_pk5ID$bT2Xz6Mua6ugj11yv0R{^yb_P%)z@?Fkfsw(8he4D<jFEvWIKQ+g
zIn^x_6odSTG^hvC%*enQoSB}NSW;S)%E;ge4l?8fX$=;^niy?RrI4L%XU)jK@0ypK
zlV6;fm+qTdl98Xn!(a*WJSW)mpfF-&;PK4MOD%HFNh~f-EoM+)U}RusU}RurU=$Dl
zrAP(_24)5Z22KW$Z@3v47%Ui=7?>Cs7`U{ww=(c(ZD-)y$iTqB#2^R~1IvJPPhb#Y
zU|`^3U<8W_Gl(!SFff9Gf`O3%WJ(a!6fvzW3_Lp+#F@7-$by(#7?ig$s3T0|1KU28
zftz6(gDAsvu&H8TTf`V3rZO;yG3YSpGB64_GKezhLCx2Mn$M}FeSkrK8-pRjNH(ye
p7{Nw?Ji@|Y4EBHtgDIFcV=!l6U|?a8V6b4Y0z01(tb>7p0RX>F2J!#^

literal 3337
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

diff --git a/class/application/Controller$3.class b/class/application/Controller$3.class
index 4110b5483de2867c4528fd4f6ee2bd18a4a22fed..5af37a53a20cac3ee4c586dd3c0da87139da798f 100644
GIT binary patch
delta 756
zcmdnQ^MaG>)W2Q(7#J8#7+fcERr0XeWaed-*fBClYxqnQ5R<dk3}a+qan4Uk<z!%F
z;N@XpXW-ysU}oUwVc=vCn5@fK#lguS!63!XAUSzGqcpQLgUn<FCW(4E1_gEoc}51V
zoc#36WPSI<+*BS0MFu5C2KMyS5|`BEY(@q?4NV`2G>C7_#URI^!o#4-pvK4`oSs_Z
zoROH5lbV;F>YQJiSCU%9$iS?j=?PM$!NZ`*pvB0*4K^w<1*DykK?upXdWfJk7lRIi
z9y^0B+#w*PJPi5_28;}xDMg9p&WS}S#f%IZ8lG^cK(%W6WF?j*>X(*e=IA>X6(v^s
zWEPiLb1_IT81XO|Gng<kNaW_1rGgA_E6UFW861)ykds&ma_QvLOp=rBnboDmHNeKC
zRp_UdrRJ6ByMjn-%`kQb%gGa&<=L!x7(^MwCU0Zzu6JT^W@O+f&d4wK%uCB>WDtXB
z)z3-HOV<xBDay=CxAp`@2aji7UTTqZPGWI!YB7TX10w@710w?~1EYWdD0&ze7?>Ft
z7&sZY7#JD285kHW7?>EC7#JA1w6wP}@Mvvk;M>T+z`(>H2oeL!fOOY?W)NavVBle3
z1Pco@h%hiPFoIkMH71dP1*}+8YYPJp2ybB!-^L&dXDP#3>f0E!w=o!^+wy}!gW)IG
z5;2HD3=m5g7&IA78Pd!c7zG>|L>bJX_Gv<$&8ek*fWcxLgB8L&Hn1ZZ!DfMc#=>9&
g_K_`v9hkOfaA06yU}2D8aAa@+dxsIMgMono0Gj@c*Z=?k

literal 1586
zcmX^0Z`VEs1_l#`5OxM8Mh1z*f`XjP<iwK9{5*Z<{JfH){G6QBA{AqH1{OvJfvm)`
zME#t^ymWp4q^#8B5_SeQMg~ccXj+ASYFTPtiM}g{^hnH0$w@6@WMC`F$ShVdU}TW+
z!EUlOBZEL$Vvb5)YI%5OafWk#PJR(11Fug`etKrIKA3CG$iM+olAKtS!pOh_lS(W~
zv1Vjov&qcMEU{x`Fwwwe155+RXlob;q+2tLk%7fIKP8oufssLwhk>1e1H=;MVc=xo
z0<lDS7`PdDxEPoj#CaHa86+4Pm^DC}_<b_-QvFJElTwR95|eUL85x9p@{<#D!V-%z
zL42qn3&`_~3{p58reX|oe+D?H7#U<Wd{DyCF&PvG;Lx<z4C7)@U{GRbP-J8f!yb-2
z49W~Dj10oX8TsYTnMKJtsYt;opaJtXI1C`hsqrwVgS;f1k(rW;riGJ1fkBgpL5o3~
zk%1*WF*g+v?(T`Xsn%Q!x(xd440?<VT#$$YiSjTQFc>m2aHgl01mq-Ef}&qQLlbH<
zM8ukl!I;66oxy~Wfd`@yBF@8L#$e9Kz@DC3;*y%2&B!3Gp$QHS{nC=m9DT>4qQpv{
z%;FMjP&iofFjz5IGcxcN!z_a6k${9Cx)zXcjTvlt80;AA85uYVauO?@!6``!9xC9(
z0Cgxx4(vZikPatC1{oA(FjdfiWMp6kCwovV<BUE=2HxP3#N=$>!~$r_5QjJwHPcvY
zhOskvFfvHsGKh<Tk->|HL6$*|k%22XzqBYh)h!d0`uGt!RS%?@k%2QfGd(Y{q_ilN
zk--xZl1SOs8Z3fpJ2cDMph_X9LOW|l27cGP<edEC%)E5p)RK(+6dr~^h9E`;q1^nk
zR8Yu;<h!IMra<Du3hv3`<kY-W{mk6N^i+LM5E+)4T8@$xF@lxHGcPZ-$T=smxHz?#
zL4kphfti7kft7(-Kme3a85jhFK)Do5b2IQTFfcGPFfi~k@G&ql@G~$lI599WurM$%
zh-hhVWf0KP*~%cKrMs0uL~A>P*hU5h1||kc1_lN$1||jukPb#p1}O#x1|9}RkRAqU
z1{tupEQ1_KmVtp`83Qv|ZGhGm2BBjNf?8V`1VGGf4D!nvxInyZ45}asgtstgY-7;b
z#$dFK!2-&MQrj4Gw6-vaY-6y2Xm$X(g&FJ?IR<tH21Y&xc18gPAx1$4QAQC48AdS%
z14eNMe?|$g`@|q_fVz)?A%MY|!G(d5!Igo5frWudluf{qL6*S{>Sj#_Ca`)=E$ssg
y?%NnVL6$*0&Ia}<BiK+-5U?<Kg9F8f!52*XG5CXxRA2~T2nGifBUlFm0|NkutAU&V

diff --git a/class/application/Controller$4.class b/class/application/Controller$4.class
index bccccc2fa9f7fb94a704391dfd153344a519d915..83d0a0d6d7d5d44b27d64481536e0e22438f65a6 100644
GIT binary patch
literal 3337
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

literal 1578
zcmX^0Z`VEs1_l#`5OxM8Mh1z*f`XjP<iwK9{5*Z<{JfH){G6QBA{7&M1{OvJfvm)`
zME#t^ymWp4q^#8B5_SeQMg~ccXj+ASYFTPtiM}g{^hnH0$w@6@WMC`F$ShVdU}TW+
z!EUlOBZEL$Vvb5)YI%5OafWk#PJR(11Fug`etKrIKA3CG$iN0tl9<WJzy+0X^t5JV
z-~fpxCl;kJGVnmfofC^vK<aHW^D;~97#Zv|aM=sf0J6{;%5n6BvB2hNhA}d*IOnIN
zaxyS72=g$oGjM=dqC5<o3|t_VI1d9i0}qHL$-}_Qz{kbF%plFfz|SDV$iS=t($4Rb
znV0HUnwykb6q1;flgh{-<ddJAm=l&*lnLTP1zAAB#K<6p!?7wRAU|b*1C^0MR>KD+
z#2u4Cu>}ryYt1k&1{DT1b_P{O1~Kd*&cmS2puxx>T%3_#?wnbaoRf+a@B$jppn!xt
z#5gS;25pd+gflWzQqi<<G3YYrvoq*1GH^hm%+ZsF!GOV#k%2uuwZtVgIh&C|TtgG=
zV*S#R%p85kqN2n~pUmPCYmifoc^FI>Oc@zCi&IM+Jt69qV2%LA2gs}F8a2Z>8B`d|
zc^E7hEEySC(i3x25lO&3F*ns3<Sc6*1{(%jMh1?8oWx2{gfcQn!Au5mtu<kO1tl6T
z273lab_NGV1}=z4K<0o<aAIVTLD2@&1x`7jNM;46d{Fd(91G70$nnC+z#CkWn4ImK
zSOAT3akN;3#UDF^2P1<7E`zuj7#X~H7!(<l7#X;N^Gl18Q{6H_$%-G5S@l4g85uZ(
zGt=`DOG=AU85ukw;g6Jat-&I2w}Nel=2{z6DP(WhSu-;5yXGb5<QHe=rTeCqWaOvt
zFa$CLF*1nc=9i^9dV&HrB;O@9F$EHr>ad`5^tASbg&ZinVQhFP@_6Rur4~8oBo-H^
z7BeU?FfuSRFfy<*um}i%avlSNfDkC(foX0A9x%<zz{kMAz|6qFz|SDSz{nuTz`)?a
zz{J4Hz`!7-rM;CwNK0ocgNT;yRt7OGNtUe)5?b3Cq&6}zFfcL5GB7Z3F)%SOFfcNR
zGTJc6F)%RjFff92GRQM1fW;LVl%S^0V_*iW_0ZbFAaaaBP-_c=5Qw>rL3ud?7l^lw
zK@&u2ZD9}t;cW~$+Zc>MB3l^DKmuA@7$mkaSV1(|f!x3hc7q%PI|BowBLh35GlLML
z3xg=5JA(|PCxafN7lS*aH`rZb5WAu70{PLI!G(d5!Igo5frWudluf{qL6N}?>Q+q#
zCa`)=E$ssg?%NnVL6$*0%m(%#BiK-o*I5|6!GYn!;0vbx82rITsxSmF1cL*J5v+rO
GfdK#~l6pV@

diff --git a/class/application/Controller$5.class b/class/application/Controller$5.class
new file mode 100644
index 0000000000000000000000000000000000000000..50f44e4cf0791a6e12b8034d9836a60254a4090e
GIT binary patch
literal 1580
zcmX^0Z`VEs1_l#`5OxM8Mh1z*f`XjP<iwK9{5*Z<{JfH){G6QBA{A411{OvJfvm)`
zME#t^ymWp4q^#8B5_SeQMg~ccXj+ASYFTPtiM}g{^hnH0$w@6@WMC`F$ShVdU}TW+
z!EUlOBZEL$Vvb5)YI%5OafWk#PJR(11Fug`etKrIKA3CG$iM+olAKtS!pOh_lS(W~
zv1Vjov&qcMEU{x`Fwwwe155+RXlob;q+2tLk%7fIKP8oufssLwhk>1e1H=;MVc=xo
z0<lDS7`PdDxEPoj#CaHa86+4Pm^DC}_<b_-QvFJElTwR95|eUL85x9p@{<#D!V-%z
zL42qn3&`_~3{p58reX?me+D?H7#U<Wd{DyCF&PvG;Lx<z4C7)@U{GRbP-J8f!yb-2
z49W~Dj10oX8TsYTnMKJtsYt;opaJtXI1C`hsqrwVgS^C>k(q)}%*mj@pvl9a#h}f|
zz>=Prn~Df=_r%;(Yc2*|27Pu0Jw^sDNECrYc^C{B3>g_X(^E?VauO>+5ig*j3AGa<
zV$H>1%wWpSV8Y121JMW(=V35oFlS_7PfsmzNlngXWDwWT1P6qEX-Q^|zGG2QVx>=J
zafvl31T1+NtQf2r8F-6f7D4n#K*A1P3&@|w47NNBb`1863>*bHiIvXaG$aKN4{$Po
zIus-a_Man2hZ7@%42m+CDrgWgGO&UZJScu~MjRspZ*WOsa<*?`0W?jBL!645U92_3
z*cm(+86<ES#KpkK;Kjor%OJ<dz!jWdT9lmXmI+FC{D?fN2hz;Qz!{vGo|jlsT9nGj
z;0Xyyqzr2f7D2Tgnptg7rI6E~oi!r^ziVD{PJVG_Ub=5;Nk)DO4?`eB5F>+7Zhl!R
zDC9!&T~ZTMAn{=Z_hfN$YF?^-W^Q77s=g<P49iR{N6Ca3!OG*AmzP@PoRe5woLbDF
zz`)4B%)rRN%D^lj0Lq~Z3<5%+{0XMH8F&~N7?>Ft7<d`@7#JD&85kIx7?>DX7#J8t
zw6wP}2x#eSWf0QR-O3=MwVgq1BLf2i6N4lJ0|OTW69WTC2jdh5DFy}x9tK8`9tLR!
z8L+r4gB(bffq`Ke12b4{fYufUp<@h!T3Z+dK+J6n^2-^xK)h`Xsvru4w=igIW6;^g
zV6=_F0?LO{+Zc4TwlIinW3Yi}b^y7B8SEB026hGp#+eN4jI$Yp80RpEGR|j^VO+>y
zz_^IPpK&qRePR$dK;6f{5WwKf;KIPj;L5<jz{0>J$|m5*Aj{web+aY|6IeZ`mi7S#
y_iYTGAj=>gX9Ihb5o{<Z2v``r!GYq#;0vbx82rITDlh~v1cL*L5v+rOfdK$WD1)E?

literal 0
HcmV?d00001

diff --git a/class/application/Controller$6.class b/class/application/Controller$6.class
new file mode 100644
index 0000000000000000000000000000000000000000..3bf96ae40a12298d8a832db127f13f189970680a
GIT binary patch
literal 1498
zcmX^0Z`VEs1_l#`0Col@Mh1z*f`XjP<iwK9{5*Z<{JfH){G6QBA{8@s1{OvJfvm)`
zME#t^ymWp4q^#8B5_SeQMg~ccXj+ASYFTPtiM}g{^hnH0$w@6@WMC`F$ShVdU}TW+
z!EUlOBZEL$Vvb5)YI%5OafWk#PJR(11Fug`etKrIKA3CG$iN0tl9<WJzy+0X^t5JV
z-~fpxCl;kJGVnmfofC^vK<aHW^D;~97#Zv|aM=sf0J6{;%5n6BvB2hNhA}d*IOnIN
zaxyS72=g$oGjM=dqC5<o3|t_VI1d9i0}qHL$-}_Qz{kbF%plFfz|SDV$iS=t($4Rb
znV0HUnwykb6q1;flgh{-<ddJAm=l&*lnLTP1zAAB#K<6p!?7x6AU|b*1C^0MR>KD+
z#2u4Cu>}ryYt1k&1{DT1b_P{O1~Kd*&cmS2puxx>T%3_#?wnbaoRf+a@B$jppn!xt
z#5gS;25pd+cr!9n5Q;$->GCk>G3YZga2BVQIC{FICTBA;@WPC6^t9Ft<77}_Fyvt{
zVlZZ8U`bERO-00&dtz>?H5Y>^gE>2c86yJ+B+4B<c^E7hEEyR%3UU%FLGi%IAO$lL
z#I@FhIS~}sTnyF>w(JZxj0{{5{UB38CfG4D$e?J0=>kVMC~jE62^JLUID?asfj77$
zF*(~eu>cxV;%I>n3wCw}7e)pNTn2G5FfzFDFeox8F*0xk=a&{Gr@Cc=QUgCCkLiIl
zGcs@nXQt;RmXsEyGBS9ABN{owS%XEeW;PpCDdbdPXU)jK@0ypKlV6;fm+qTdl98Xn
z!{E!{$H*X(n_rgd=m`qgkbIZa#1u#*s>6cL(bL)!7IL8QhOyzH$m5xpms;eUlUQ7w
zTFjupz{tSNz{tSLz#<?3$}kKJ0z#nd0;ahcc)&C-10Mqe12Y2y13!ZR10#bV0|SEx
z0}}%)0|SGUmiAT#AuXM)3?f>(TN%W(Bw4mHNN8<mklM(=z`(>H%fP_E#lXbCz`)2L
z%6ObXj)8%Jhk+5KlR=(A0W7Y_paeB_Is-FUt)tc!29aY7f?8V`gh0$~49d$HxInyZ
z44NQHYYT(eHU=FKa|?q3h^MuML1G(&2}HFO$Z}?|<#G({3=E8C7}y!lF$gi9XAot)
z#2~|Xg+ZP1DuV;#HL!!kAeKTM#K7RlV9(&dz{udpz`(%5z$D5h;K-oJ-~@G~CIb^#
zJ*SrT0S4!746Y!{AU<US`-~B6D9Fz&4DR4i@L=!+(_ReTU?Wu+d>H(}A;SpP!N9-(
E0JX1W;s5{u

literal 0
HcmV?d00001

diff --git a/class/application/Controller$7.class b/class/application/Controller$7.class
new file mode 100644
index 0000000000000000000000000000000000000000..2eaef6fcc54693b6cfbb760248ece358e8144d99
GIT binary patch
literal 2481
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
VU|?a8VJKvn0FHM?unq<W1^{0Qh%f*E

literal 0
HcmV?d00001

diff --git a/class/application/Controller$8.class b/class/application/Controller$8.class
new file mode 100644
index 0000000000000000000000000000000000000000..f0bab148e9474b147897c65235e50a0deb680447
GIT binary patch
literal 2452
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
NaAY%rbuch6001qTdvgE)

literal 0
HcmV?d00001

diff --git a/class/application/Controller.class b/class/application/Controller.class
index 5dd6d2b17b27bddd18875d2c7a9482104c43abe2..02b838e5e9596bac1ddb95e100477043cbca5fd7 100644
GIT binary patch
literal 20703
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
FNdOyY>#hI*

literal 14429
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

diff --git a/class/application/Main.class b/class/application/Main.class
index 1f8389d7ab360c6c97e78972a18cef74c369315b..08935e4292693a679681f849b984d2e497e64a36 100644
GIT binary patch
delta 51
zcmX@gca(1f4-->Mz-B(CDi%?BhC~JhhExVch71NJhD-((hFk`<$#dD-S+y8g7_=vA
HvdaJfF8vBy

delta 51
zcmX@gca(1f4--?<fz5nORV<=%42cZ#45<tX3>gfH44Dkd47m)dljpLvvuZN1FlbHI
HWS0Q|Kw}EQ

diff --git a/class/application/MainGUI.fxml b/class/application/MainGUI.fxml
index 3d499e5..e4034b7 100644
--- a/class/application/MainGUI.fxml
+++ b/class/application/MainGUI.fxml
@@ -1,25 +1,74 @@
 <?xml version="1.0" encoding="UTF-8"?>
 
+<?import javafx.geometry.Insets?>
+<?import javafx.scene.control.Button?>
 <?import javafx.scene.control.Label?>
 <?import javafx.scene.image.ImageView?>
 <?import javafx.scene.layout.AnchorPane?>
+<?import javafx.scene.layout.HBox?>
 <?import javafx.scene.shape.Circle?>
 <?import javafx.scene.text.Font?>
 
-<AnchorPane fx:id="mainPane" prefHeight="600.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/8.0.65" xmlns:fx="http://javafx.com/fxml/1" fx:controller="application.Controller">
+<AnchorPane fx:id="mainPane" prefHeight="650.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/8.0.65" xmlns:fx="http://javafx.com/fxml/1" fx:controller="application.Controller">
    <children>
-      <ImageView fx:id="iconDeck" fitHeight="90.0" fitWidth="57.0" layoutX="447.0" layoutY="230.0" pickOnBounds="true" preserveRatio="true" />
-      <ImageView fx:id="iconLastCard" fitHeight="90.0" fitWidth="57.0" layoutX="277.0" layoutY="230.0" pickOnBounds="true" preserveRatio="true" />
-      <Label fx:id="labelCurrentPlayer" alignment="CENTER" contentDisplay="CENTER" layoutX="320.0" layoutY="377.0" prefHeight="31.0" prefWidth="162.0" textAlignment="CENTER">
+      <ImageView fx:id="iconDeck" fitHeight="90.0" fitWidth="57.0" layoutX="447.0" layoutY="253.0" pickOnBounds="true" preserveRatio="true" />
+      <ImageView fx:id="iconLastCard" fitHeight="90.0" fitWidth="57.0" layoutX="277.0" layoutY="253.0" pickOnBounds="true" preserveRatio="true" />
+      <Label fx:id="labelCurrentPlayer" alignment="CENTER" contentDisplay="CENTER" layoutX="250.0" layoutY="420.0" prefHeight="31.0" prefWidth="286.0" textAlignment="CENTER">
          <font>
             <Font name="System Bold" size="19.0" />
          </font>
       </Label>
-      <Circle fx:id="circleWishColor" fill="DODGERBLUE" layoutX="392.0" layoutY="275.0" radius="16.0" stroke="BLACK" strokeType="INSIDE" strokeWidth="0.0" />
-      <Label fx:id="labelWishColor" layoutX="355.0" layoutY="230.0" text="Wunschfarbe">
+      <Circle fx:id="circleWishColor" fill="DODGERBLUE" layoutX="392.0" layoutY="298.0" radius="16.0" stroke="BLACK" strokeType="INSIDE" strokeWidth="0.0" />
+      <Label fx:id="labelWishColor" layoutX="355.0" layoutY="253.0" text="Wunschfarbe">
          <font>
             <Font name="System Bold" size="12.0" />
          </font>
       </Label>
+      <ImageView fx:id="imageViewWishColor" fitHeight="40.0" fitWidth="40.0" layoutX="372.0" layoutY="278.0" pickOnBounds="true" preserveRatio="true" />
+      <HBox fx:id="hboxInfo" alignment="CENTER" layoutX="207.0" layoutY="611.0" prefHeight="25.0" prefWidth="338.0">
+         <children>
+            <Label fx:id="labelInfo" alignment="CENTER" contentDisplay="CENTER" prefHeight="30.0" prefWidth="255.0" text="Du kannst nicht kontern. Ziehe xx Karten." textAlignment="CENTER">
+               <font>
+                  <Font name="System Bold" size="13.0" />
+               </font>
+            </Label>
+            <Button fx:id="buttonInfo" mnemonicParsing="false" text="OK">
+               <HBox.margin>
+                  <Insets left="15.0" />
+               </HBox.margin>
+            </Button>
+         </children>
+      </HBox>
+      <Label fx:id="labelChallengeCounter" alignment="CENTER" contentDisplay="CENTER" layoutX="297.0" layoutY="352.0" prefHeight="17.0" prefWidth="190.0" text="Verlierer zieht 12 Karten" textAlignment="CENTER">
+         <font>
+            <Font name="System Bold" size="14.0" />
+         </font>
+      </Label>
+      <ImageView fx:id="imageViewDirection" fitHeight="30.0" fitWidth="30.0" layoutX="543.0" layoutY="282.0" pickOnBounds="true" preserveRatio="true" />
+      <Label fx:id="labelDirection" layoutX="520.0" layoutY="252.0" text="Spielrichtung:">
+         <font>
+            <Font name="System Bold" size="12.0" />
+         </font>
+      </Label>
+      <Label fx:id="labelAI2Name" alignment="CENTER" contentDisplay="CENTER" layoutX="661.0" layoutY="95.0" prefHeight="19.0" prefWidth="106.0" text="Computer 2" textAlignment="CENTER">
+         <font>
+            <Font name="System Bold" size="13.0" />
+         </font>
+      </Label>
+      <Label fx:id="labelAI3Name" alignment="CENTER" contentDisplay="CENTER" layoutX="36.0" layoutY="95.0" prefHeight="19.0" prefWidth="106.0" text="Computer 3" textAlignment="CENTER">
+         <font>
+            <Font name="System Bold" size="13.0" />
+         </font>
+      </Label>
+      <Label fx:id="labelAI1Name" alignment="CENTER" contentDisplay="CENTER" layoutX="340.0" layoutY="16.0" prefHeight="19.0" prefWidth="106.0" text="Computer 1" textAlignment="CENTER">
+         <font>
+            <Font name="System Bold" size="13.0" />
+         </font>
+      </Label>
+      <Button fx:id="buttonStart" layoutX="360.0" layoutY="390.0" mnemonicParsing="false" text="START">
+         <font>
+            <Font name="System Bold" size="14.0" />
+         </font>
+      </Button>
    </children>
 </AnchorPane>
diff --git a/class/application/Settings.fxml b/class/application/Settings.fxml
new file mode 100644
index 0000000..e8b4a5e
--- /dev/null
+++ b/class/application/Settings.fxml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<?import javafx.geometry.Insets?>
+<?import javafx.scene.control.Label?>
+<?import javafx.scene.control.Slider?>
+<?import javafx.scene.layout.AnchorPane?>
+<?import javafx.scene.layout.HBox?>
+<?import javafx.scene.layout.VBox?>
+<?import javafx.scene.text.Font?>
+
+
+<AnchorPane prefHeight="400.0" prefWidth="600.0" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/8.0.65">
+   <children>
+      <VBox layoutX="45.0" layoutY="40.0" prefHeight="320.0" prefWidth="511.0">
+         <children>
+            <HBox prefHeight="44.0" prefWidth="412.0">
+               <children>
+                  <Label alignment="TOP_RIGHT" contentDisplay="TOP" prefHeight="20.0" prefWidth="150.0" text="Gegner:" textAlignment="RIGHT">
+                     <font>
+                        <Font name="System Bold" size="14.0" />
+                     </font>
+                  </Label>
+                  <Slider blockIncrement="1.0" majorTickUnit="1.0" max="3.0" min="1.0" minorTickCount="0" prefHeight="44.0" prefWidth="230.0" showTickLabels="true" showTickMarks="true" snapToTicks="true">
+                     <HBox.margin>
+                        <Insets left="50.0" />
+                     </HBox.margin>
+                  </Slider>
+               </children>
+            </HBox>
+            <HBox prefHeight="44.0" prefWidth="412.0">
+               <children>
+                  <Label alignment="TOP_RIGHT" contentDisplay="TOP" prefHeight="20.0" prefWidth="150.0" text="Startkarten:">
+                     <font>
+                        <Font name="System Bold" size="14.0" />
+                     </font>
+                  </Label>
+                  <Slider blockIncrement="1.0" majorTickUnit="1.0" max="10.0" min="3.0" minorTickCount="0" prefHeight="44.0" prefWidth="233.0" showTickLabels="true" showTickMarks="true" snapToTicks="true">
+                     <HBox.margin>
+                        <Insets left="50.0" />
+                     </HBox.margin>
+                  </Slider>
+               </children>
+               <VBox.margin>
+                  <Insets top="25.0" />
+               </VBox.margin>
+            </HBox>
+            <HBox prefHeight="44.0" prefWidth="412.0">
+               <children>
+                  <Label alignment="TOP_RIGHT" contentDisplay="TOP" prefHeight="20.0" prefWidth="150.0" text="Gegner Schnelligkeit:">
+                     <font>
+                        <Font name="System Bold" size="14.0" />
+                     </font>
+                     <HBox.margin>
+                        <Insets />
+                     </HBox.margin>
+                  </Label>
+                  <Slider blockIncrement="1.0" majorTickUnit="1.0" max="4.0" min="1.0" minorTickCount="0" prefHeight="44.0" prefWidth="233.0" showTickLabels="true" showTickMarks="true" snapToTicks="true">
+                     <HBox.margin>
+                        <Insets left="50.0" />
+                     </HBox.margin>
+                  </Slider>
+               </children>
+               <VBox.margin>
+                  <Insets top="25.0" />
+               </VBox.margin>
+            </HBox>
+         </children>
+      </VBox>
+   </children>
+</AnchorPane>
diff --git a/class/images/DIRECTION_LEFT.png b/class/images/DIRECTION_LEFT.png
new file mode 100644
index 0000000000000000000000000000000000000000..706648400fff06bf709c5d7043d0ad5110883dea
GIT binary patch
literal 9096
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

literal 0
HcmV?d00001

diff --git a/class/images/DIRECTION_RIGHT.png b/class/images/DIRECTION_RIGHT.png
new file mode 100644
index 0000000000000000000000000000000000000000..40ed3602ff3ff41be31c8decdd24ebdde5f3c1f5
GIT binary patch
literal 8649
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%0Dk*BRQG(3y$
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

literal 0
HcmV?d00001

diff --git a/class/images/circle-all.png b/class/images/circle-all.png
new file mode 100644
index 0000000000000000000000000000000000000000..52aaf07c8cb4b4e6963f47c806155d9b3078b52e
GIT binary patch
literal 8410
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
KpUXO@geCxUYTxJp

literal 0
HcmV?d00001

diff --git a/class/logic/AI.class b/class/logic/AI.class
index 68664ed635474773ba6a443f1bf0ad73a92f5fe3..df353ee3ae663b8b959e6662320e38974158bf54 100644
GIT binary patch
delta 2631
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

delta 2281
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
OP7{}72h|Hqj4S})`u{or

diff --git a/class/logic/Deck.class b/class/logic/Deck.class
index 99c39a2a9fc6e052f2d75d33bbdc907f736e4020..284a93fb80529382331825a609ac3c30afdc8008 100644
GIT binary patch
literal 3057
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
ZQj~!q25cqBYYYsmP%9Z37Jy6Ig#bMUn-Bm1

literal 3661
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

diff --git a/class/logic/Game.class b/class/logic/Game.class
index 8ae00fbb42cdc13ac97f064a4ffbb982b656d220..96d0da5970d79a85319aa8ca68ad9face9bcbbc4 100644
GIT binary patch
literal 9067
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

literal 6755
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
Y4cS85F{}*ChH{(?jEtZb2@_)+0QbmKKL7v#

diff --git a/class/logic/Player.class b/class/logic/Player.class
index a991580beea6eb679688e8daee102f1c1ff3f109..64d765b10b80130190a1a0418170d1fa24fbc3e7 100644
GIT binary patch
delta 2335
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

delta 2214
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
RRH2G<u`@6-oCL?;DFEe3-An)g

diff --git a/src/application/ColorChooserController.java b/src/application/ColorChooserController.java
index 3dd0f96..4bf9af6 100644
--- a/src/application/ColorChooserController.java
+++ b/src/application/ColorChooserController.java
@@ -5,6 +5,7 @@ import javafx.fxml.FXML;
 import javafx.scene.input.MouseEvent;
 import javafx.scene.shape.Rectangle;
 import javafx.stage.Stage;
+import javafx.stage.WindowEvent;
 import logic.Color;
 
 public class ColorChooserController
@@ -57,6 +58,13 @@ public class ColorChooserController
 			}
 		});
 		
-		//TODO prevent closing without choosing a color --> but cancel button
+		stage.setOnCloseRequest(new EventHandler<WindowEvent>()
+		{
+			@Override
+			public void handle(WindowEvent event)
+			{
+				event.consume();				
+			}
+		});
 	}
 }
\ No newline at end of file
diff --git a/src/application/Controller.java b/src/application/Controller.java
index 1855243..510ebe8 100644
--- a/src/application/Controller.java
+++ b/src/application/Controller.java
@@ -20,12 +20,14 @@ import javafx.scene.Scene;
 import javafx.scene.SnapshotParameters;
 import javafx.scene.control.Alert;
 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.image.WritableImage;
 import javafx.scene.input.MouseEvent;
 import javafx.scene.layout.AnchorPane;
+import javafx.scene.layout.HBox;
 import javafx.scene.shape.Circle;
 import javafx.stage.Modality;
 import javafx.stage.Stage;
@@ -34,7 +36,9 @@ import logic.AI;
 import logic.Card;
 import logic.CardType;
 import logic.Color;
+import logic.Direction;
 import logic.Game;
+import logic.Player;
 
 public class Controller
 {
@@ -44,99 +48,233 @@ public class Controller
 	@FXML private AnchorPane mainPane;
 	@FXML private Label labelWishColor;
 	@FXML private Circle circleWishColor;
+	@FXML private ImageView imageViewWishColor;
+	@FXML private HBox hboxInfo;
+	@FXML private Label labelInfo;
+	@FXML private Button buttonInfo;
+	@FXML private Label labelChallengeCounter;
+	@FXML private ImageView imageViewDirection;
+	@FXML private Label labelDirection;
+	@FXML private Label labelAI1Name;
+	@FXML private Label labelAI2Name;
+	@FXML private Label labelAI3Name;
+	@FXML private Button buttonStart;	
 	
+
 	public Game game;
 	public Color chosenWishColor;
+	public int drawCounter;
 
 	public Stage stage;
 	public Image icon = new Image("images/icon.png");
 	private final ResourceBundle bundle = ResourceBundle.getBundle("application/", Locale.GERMANY);
-	
+
 	private final double CARD_HEIGHT = 90.0;
-	private final double CARD_WIDTH = 57.0;	
-	private final double CARD_SPACING_HORIZONTAL_LARGE = 14.0;
-	private final double CARD_SPACING_HORIZONTAL_MEDIUM = -3.0;
-	private final double CARD_SPACING_HORIZONTAL_SMALL = -25.0;	
-	private final double CARD_SPACING_HORIZONTAL_ULTRA_SMALL = -35.0;	
+	private final double CARD_WIDTH = 57.0;
 	
+	private final double CARD_SPACING_LARGE = 14.0;
+	private final double CARD_SPACING_MEDIUM = - 3.0;
+	private final double CARD_SPACING_SMALL = - 25.0;
+	private final double CARD_SPACING_ULTRA_SMALL = - 35.0;	
+
 	private Point2D PLAYER_STARTING_POINT;
-	private final Point2D AI_1_STARTING_POINT = new Point2D(100.0, 30.0);
-	
+	private final Point2D AI_1_STARTING_POINT = new Point2D(100.0, 50.0);	
+	private Point2D AI_2_STARTING_POINT;
+	private Point2D AI_3_STARTING_POINT;
+
 	private final javafx.scene.paint.Color COLOR_YELLOW = javafx.scene.paint.Color.web("#FFAA00");
 	private final javafx.scene.paint.Color COLOR_RED = javafx.scene.paint.Color.web("#FF5555");
 	private final javafx.scene.paint.Color COLOR_BLUE = javafx.scene.paint.Color.web("#5555FD");
-	private final javafx.scene.paint.Color COLOR_GREEN = javafx.scene.paint.Color.web("#55AA55");
-	private final javafx.scene.paint.Color COLOR_CARD_INVALID = javafx.scene.paint.Color.web("#CCCCCC");
-	
-		
+	private final javafx.scene.paint.Color COLOR_GREEN = javafx.scene.paint.Color.web("#55AA55");	
+
 	public void init()
 	{
-		PLAYER_STARTING_POINT = new Point2D(100.0, stage.getScene().getHeight() - 30.0 - CARD_HEIGHT);
-		
+		imageViewWishColor.setImage(new Image("/images/circle-all.png"));
+
+		PLAYER_STARTING_POINT = new Point2D(100.0, stage.getScene().getHeight() - 60.0 - CARD_HEIGHT);
+		AI_2_STARTING_POINT = new Point2D(stage.getScene().getWidth() - CARD_HEIGHT - 30, 50.0);
+		AI_3_STARTING_POINT = new Point2D(60.0, 50.0);
+
 		iconDeck.setImage(createEmptyBackCard());
 		iconDeck.addEventHandler(MouseEvent.MOUSE_CLICKED, new EventHandler<MouseEvent>()
 		{
 			@Override
 			public void handle(MouseEvent event)
 			{
-				if(game.isRunning() && game.getCurrentPlayer() == 1)
+				if(game.isRunning() && game.getCurrentPlayer() == 1 && !game.isShowingInfo())
 				{
-					game.getPlayer().drawCard(game.getDeck().drawCard(game.getDeadDeck()));
-					setPlayerDeck(game.getPlayer().getDeck());
-
-					// TODO move card toPlayerDeck moveCardToDeadDeck(imageView,
-					// card, newWishColor);
-					// --> in "onFinish"
-					game.draw();
+					Card drawedCard = game.getDeck().drawCard(game.getDeadDeck());
+					ArrayList<Card> allCards = new ArrayList<Card>();
+					allCards.add(drawedCard);				
+					moveCardFromDeckToPlayer(allCards);			
 				}
 			}
 		});
+		
+		hideWishColor();
+		hideInfo();
+		hideLabelChallengeCounter();
+		setImageViewDirection(Direction.RIGHT);		
+		labelAI1Name.setVisible(false);
+		labelAI2Name.setVisible(false);
+		labelAI3Name.setVisible(false);
+		buttonStart.setVisible(false);
 
-	
 		startGame();
 	}
 
 	public void setStage(Stage stage)
 	{
-		this.stage = stage;	
+		this.stage = stage;
 	}
 
 	public void startGame()
 	{
-		hideCircleWishColor();
+		hideWishColor();		
+		hideInfo();
+		hideLabelChallengeCounter();
 		
-		// DEBUG
-		game = new Game(this, 1);
+		drawCounter = 0;		
+
+		// DEBUG	
+		game = new Game(this, 3);
+		setLabelNames(game.getPlayer(), game.getAIs());
 		game.newGame(5);
+		
+		buttonStart.setOnAction(new EventHandler<ActionEvent>()
+		{
+			@Override
+			public void handle(ActionEvent event)
+			{
+				buttonStart.setVisible(false);
+				game.start();				
+			}
+		});
+		buttonStart.setVisible(true);		
 	}
 	
+	public void setLabelNames(Player player, ArrayList<AI> ais)
+	{	
+		labelAI2Name.setVisible(false);
+		labelAI3Name.setVisible(false);
+		
+		labelAI1Name.setText(ais.get(0).getName());
+		labelAI1Name.setVisible(true);		
+		
+		if(ais.size() >= 2)
+		{
+			labelAI2Name.setText(ais.get(1).getName());
+			labelAI2Name.setVisible(true);
+		}
+		
+		if(ais.size() == 3)
+		{			
+			labelAI3Name.setText(ais.get(2).getName());
+			labelAI3Name.setVisible(true);
+		}
+	}
+	
+
 	public void showCircleWishColor(Color color)
 	{
+		hideImageViewWishColor();
+
 		switch(color)
 		{
-			case YELLOW:	circleWishColor.setFill(COLOR_YELLOW);
-							break;
-			case RED:		circleWishColor.setFill(COLOR_RED);
-							break;
-			case BLUE:		circleWishColor.setFill(COLOR_BLUE);
-							break;
-			case GREEN:		circleWishColor.setFill(COLOR_GREEN);
-							break;
-			case ALL:		//TODO show quartered circle (all four colors)
-							break;
-			default: 		break;
+			case YELLOW:
+				circleWishColor.setFill(COLOR_YELLOW);
+				circleWishColor.setVisible(true);
+				break;
+			case RED:
+				circleWishColor.setFill(COLOR_RED);
+				circleWishColor.setVisible(true);
+				break;
+			case BLUE:
+				circleWishColor.setFill(COLOR_BLUE);
+				circleWishColor.setVisible(true);
+				break;
+			case GREEN:
+				circleWishColor.setFill(COLOR_GREEN);
+				circleWishColor.setVisible(true);
+				break;
+			case ALL:
+				showImageViewWishColor();
+				break;
+			default:
+				break;
 		}
-		
+
 		labelWishColor.setVisible(true);
-		circleWishColor.setVisible(true);	
 	}
-	
+
+	public void showImageViewWishColor()
+	{
+		hideCircleWishColor();
+
+		imageViewWishColor.setVisible(true);
+	}
+
 	public void hideCircleWishColor()
 	{
 		labelWishColor.setVisible(false);
-		circleWishColor.setVisible(false);	
+		circleWishColor.setVisible(false);
+	}
+
+	public void hideImageViewWishColor()
+	{
+		imageViewWishColor.setVisible(false);
+		circleWishColor.setVisible(false);
+	}
+
+	public void hideWishColor()
+	{
+		hideCircleWishColor();
+		hideImageViewWishColor();
+	}
+
+	public void hideInfo()
+	{		
+		hboxInfo.setVisible(false);
+	}
+
+	public void showInfo(String text, int numberOfCards)
+	{
+		labelInfo.setText(text);
+		buttonInfo.setOnAction(new EventHandler<ActionEvent>()
+		{
+			@Override
+			public void handle(ActionEvent event)
+			{
+				moveCardFromDeckToPlayer(game.getDeck().drawCards(game.getChallengeCounter(), game.getDeadDeck()));				
+			}
+		});
+
+		hboxInfo.setVisible(true);
 	}
 	
+	public void hideLabelChallengeCounter()
+	{
+		labelChallengeCounter.setVisible(false);
+	}
+	
+	public void showLabelChallengeCounter(String text)
+	{
+		labelChallengeCounter.setText(text);
+		labelChallengeCounter.setVisible(true);
+	}
+	
+	public void setImageViewDirection(Direction direction)
+	{
+		if(direction.equals(Direction.RIGHT))
+		{
+			imageViewDirection.setImage(new Image("/images/DIRECTION_RIGHT.png"));
+		}
+		else
+		{
+			imageViewDirection.setImage(new Image("/images/DIRECTION_LEFT.png"));
+		}
+	}
+
 	public void setLabelCurrentPlayer(String text)
 	{
 		labelCurrentPlayer.setText(text);
@@ -169,14 +307,16 @@ public class Controller
 
 		if(!valid)
 		{
-			WritableImage snapshot = imageView.snapshot(new SnapshotParameters(), null);
-			
+			SnapshotParameters parameters = new SnapshotParameters();
+			parameters.setFill(javafx.scene.paint.Color.TRANSPARENT);
+			WritableImage snapshot = imageView.snapshot(parameters, null);
+
 			if(card.getType().equals(CardType.DRAW_FOUR) && card.getType().equals(CardType.WILD))
 			{
 				for(int x = 0; x < snapshot.getWidth(); x++)
 				{
 					for(int y = 0; y < snapshot.getHeight(); y++)
-					{					
+					{
 						javafx.scene.paint.Color oldColor = snapshot.getPixelReader().getColor(x, y).desaturate().desaturate().brighter();
 						snapshot.getPixelWriter().setColor(x, y, new javafx.scene.paint.Color(oldColor.getRed(), oldColor.getGreen(), oldColor.getBlue(), oldColor.getOpacity() * 1.0));
 					}
@@ -188,14 +328,13 @@ public class Controller
 				for(int x = 0; x < snapshot.getWidth(); x++)
 				{
 					for(int y = 0; y < snapshot.getHeight(); y++)
-					{					
-						javafx.scene.paint.Color oldColor = snapshot.getPixelReader().getColor(x, y).desaturate().desaturate().desaturate();
+					{
+						javafx.scene.paint.Color oldColor = snapshot.getPixelReader().getColor(x, y).darker().desaturate();						
 						snapshot.getPixelWriter().setColor(x, y, new javafx.scene.paint.Color(oldColor.getRed(), oldColor.getGreen(), oldColor.getBlue(), oldColor.getOpacity() * 1.0));
 					}
 				}
 				imageView.setImage(snapshot);
 			}
-			
 		}
 		Controller main = this;
 
@@ -240,7 +379,7 @@ public class Controller
 							chosenWishColor = null;
 						}
 
-						moveCardToDeadDeck(imageView, card, chosenWishColor);					
+						moveCardToDeadDeck(imageView, card, chosenWishColor);
 					}
 				}
 			}
@@ -250,18 +389,18 @@ public class Controller
 	}
 
 	public void moveCardToDeadDeck(ImageView view, Card card, Color newWishColor)
-	{			
-		Point2D deckPosition = iconLastCard.localToScene(Point2D.ZERO);	
-	
+	{
+		Point2D deckPosition = iconLastCard.localToScene(Point2D.ZERO);
+
 		TranslateTransition translateTransition = new TranslateTransition();
 		translateTransition.setDuration(Duration.millis(500));
 		translateTransition.setNode(view);
 		translateTransition.setCycleCount(1);
-		translateTransition.setAutoReverse(false);	
+		translateTransition.setAutoReverse(false);
 		translateTransition.setFromX(0);
 		translateTransition.setFromY(0);
-		translateTransition.setToX(- (view.getX() - deckPosition.getX()));
-		translateTransition.setToY(- (view.getY() - deckPosition.getY()));	
+		translateTransition.setToX( - (view.getX() - deckPosition.getX()));
+		translateTransition.setToY( - (view.getY() - deckPosition.getY()));
 		translateTransition.setOnFinished(new EventHandler<ActionEvent>()
 		{
 			@Override
@@ -273,10 +412,10 @@ public class Controller
 				}
 				else
 				{
-					hideCircleWishColor();
+					hideWishColor();
 				}
 				setPlayerDeck(game.getPlayer().getDeck());
-				game.playCard(game.getPlayer().playCard(card), newWishColor);				
+				game.playCard(game.getPlayer().playCard(card), newWishColor);
 			}
 		});
 
@@ -286,33 +425,33 @@ public class Controller
 	public void moveAICardToDeadDeck(AI ai, int currentPlayer, Card card, Color newWishColor)
 	{
 		ObservableList<Node> nodes = mainPane.getChildren();
-		ArrayList<Integer> possibleNodes = new ArrayList<Integer>();		
-		for(int i = 0; i < nodes.size(); i++) 
+		ArrayList<Integer> possibleNodes = new ArrayList<Integer>();
+		for(int i = 0; i < nodes.size(); i++)
 		{
-			Node current = nodes.get(i);		
+			Node current = nodes.get(i);
 			if(current.getId().contains("ai" + ai.getID()))
-			{							
-				possibleNodes.add(i);				
+			{
+				possibleNodes.add(i);
 			}
-		}				
-	
+		}
+
 		Random random = new Random();
-		int viewNumber = random.nextInt(possibleNodes.size());	
+		int viewNumber = random.nextInt(possibleNodes.size());
 
-		ImageView view = (ImageView)mainPane.getChildren().get(possibleNodes.get(viewNumber));		
-		view.setImage(new Image("images/" + card.getType() + "-" + card.getColor() + ".png"));		
+		ImageView view = (ImageView)mainPane.getChildren().get(possibleNodes.get(viewNumber));
+		view.setImage(new Image("images/" + card.getType() + "-" + card.getColor() + ".png"));
+
+		Point2D deckPosition = iconLastCard.localToScene(Point2D.ZERO);
 
-		Point2D deckPosition = iconLastCard.localToScene(Point2D.ZERO);	
-		
 		TranslateTransition translateTransition = new TranslateTransition();
 		translateTransition.setDuration(Duration.millis(500));
 		translateTransition.setNode(view);
 		translateTransition.setCycleCount(1);
-		translateTransition.setAutoReverse(false);	
+		translateTransition.setAutoReverse(false);
 		translateTransition.setFromX(0);
 		translateTransition.setFromY(0);
-		translateTransition.setToX(- (view.getX() - deckPosition.getX()));
-		translateTransition.setToY(- (view.getY() - deckPosition.getY()));	
+		translateTransition.setToX( - (view.getX() - deckPosition.getX()));
+		translateTransition.setToY( - (view.getY() - deckPosition.getY()));
 		translateTransition.setOnFinished(new EventHandler<ActionEvent>()
 		{
 			@Override
@@ -324,21 +463,234 @@ public class Controller
 				}
 				else
 				{
-					hideCircleWishColor();
+					hideWishColor();
 				}
-				setAIDeck(ai, ai.getDeck());
+				setAIDeck(ai);
 				game.playCard(ai.playCard(card), newWishColor);
 			}
 		});
 
-		translateTransition.play();	
+		translateTransition.play();
 	}
 	
+	public void moveCardFromDeckToPlayer(ArrayList<Card> cards)
+	{
+		Point2D deckPosition = iconDeck.localToScene(Point2D.ZERO);
+		
+		ImageView view = createCard(cards.get(drawCounter), true);
+		view.setId("drawAnimation");
+		view.setX(deckPosition.getX());
+		view.setY(deckPosition.getY());
+		mainPane.getChildren().add(view);	
+		
+		TranslateTransition translateTransition = new TranslateTransition();
+		translateTransition.setDuration(Duration.millis(500));
+		translateTransition.setNode(view);
+		translateTransition.setCycleCount(1);
+		translateTransition.setAutoReverse(false);
+		translateTransition.setFromX(0);
+		translateTransition.setFromY(0);
+		translateTransition.setToX( - (view.getX() - getPositionOfRightCard(null)));
+		translateTransition.setToY( - (view.getY() - PLAYER_STARTING_POINT.getY()));
+		translateTransition.setOnFinished(new EventHandler<ActionEvent>()
+		{
+			@Override
+			public void handle(ActionEvent event)
+			{
+				ObservableList<Node> nodes = mainPane.getChildren();
+				Iterator<Node> iterator = nodes.iterator();
+				while(iterator.hasNext())
+				{
+					if(iterator.next().getId().equals("drawAnimation"))
+					{
+						iterator.remove();
+					}
+				}
+				
+				game.getPlayer().drawCard(cards.get(drawCounter));
+				setPlayerDeck(game.getPlayer().getDeck());
+				drawCounter++;
+				
+				if(drawCounter < cards.size())
+				{				
+					moveCardFromDeckToPlayer(cards);
+				}
+				else				
+				{
+					game.setShowingInfo(false);
+					hideInfo();
+					drawCounter = 0;
+					game.draw();
+				}						
+			}
+		});
+
+		translateTransition.play();
+	}
+	
+	private double getPositionOfRightCard(AI ai)
+	{	
+		if(ai == null)
+		{
+			double maxWidth = stage.getScene().getWidth() - (PLAYER_STARTING_POINT.getX() * 2) - CARD_WIDTH;
+			int deckSize = game.getPlayer().getDeckSize();
+			if((deckSize * (CARD_WIDTH + CARD_SPACING_LARGE)) > maxWidth)
+			{
+				if((deckSize * (CARD_WIDTH + CARD_SPACING_MEDIUM)) > maxWidth)
+				{
+					if((deckSize * (CARD_WIDTH + CARD_SPACING_SMALL)) > maxWidth)
+					{
+						return (PLAYER_STARTING_POINT.getX() + ((deckSize + 1) * (CARD_WIDTH + CARD_SPACING_ULTRA_SMALL)));
+					}
+					else
+					{
+						return (PLAYER_STARTING_POINT.getX() + ((deckSize + 1) * (CARD_WIDTH + CARD_SPACING_SMALL)));
+					}
+				}
+				else
+				{
+					return (PLAYER_STARTING_POINT.getX() + ((deckSize + 1) * (CARD_WIDTH + CARD_SPACING_MEDIUM)));
+				}
+			}
+			else
+			{
+				return (PLAYER_STARTING_POINT.getX() + ((deckSize + 1) * (CARD_WIDTH + CARD_SPACING_LARGE)));
+			}	
+		}
+		//AI 1 (Above Player)
+		else
+		{
+			double maxWidth = stage.getScene().getWidth() - (AI_1_STARTING_POINT.getX() * 2) - CARD_WIDTH;
+			int deckSize = ai.getDeckSize();
+			if((deckSize * (CARD_WIDTH + CARD_SPACING_LARGE)) > maxWidth)
+			{
+				if((deckSize * (CARD_WIDTH + CARD_SPACING_MEDIUM)) > maxWidth)
+				{
+					if((deckSize * (CARD_WIDTH + CARD_SPACING_SMALL)) > maxWidth)
+					{
+						return (AI_1_STARTING_POINT.getX() + ((deckSize + 1) * (CARD_WIDTH + CARD_SPACING_ULTRA_SMALL)));
+					}
+					else
+					{
+						return (AI_1_STARTING_POINT.getX() + ((deckSize + 1) * (CARD_WIDTH + CARD_SPACING_SMALL)));
+					}
+				}
+				else
+				{
+					return (AI_1_STARTING_POINT.getX() + ((deckSize + 1) * (CARD_WIDTH + CARD_SPACING_MEDIUM)));
+				}
+			}
+			else
+			{
+				return (AI_1_STARTING_POINT.getX() + ((deckSize + 1) * (CARD_WIDTH + CARD_SPACING_LARGE)));
+			}	
+		}		
+	}
+	
+	private double getPositionOfBottomCard(AI ai)
+	{			
+		double maxHeight = stage.getScene().getHeight() - ((AI_2_STARTING_POINT.getY() + 50.0) * 2) - CARD_WIDTH;
+		int deckSize = ai.getDeckSize();					
+
+		if((deckSize * (CARD_WIDTH + CARD_SPACING_LARGE)) > maxHeight)
+		{
+			if((deckSize * (CARD_WIDTH + CARD_SPACING_MEDIUM)) > maxHeight)
+			{
+				if((deckSize * (CARD_WIDTH + CARD_SPACING_SMALL)) > maxHeight)
+				{
+					return AI_2_STARTING_POINT.getY() + ((deckSize + 1) * (CARD_WIDTH + CARD_SPACING_ULTRA_SMALL));
+				}
+				else
+				{
+					return AI_2_STARTING_POINT.getY() + ((deckSize + 1) * (CARD_WIDTH + CARD_SPACING_SMALL));
+				}
+			}
+			else
+			{
+				return AI_2_STARTING_POINT.getY() + ((deckSize + 1) * (CARD_WIDTH + CARD_SPACING_MEDIUM));
+			}
+		}
+		else
+		{
+			return AI_2_STARTING_POINT.getY() + ((deckSize + 1) * (CARD_WIDTH + CARD_SPACING_LARGE));
+		}			
+	}
+	
+	public void moveCardFromDeckToAI(AI ai, ArrayList<Card> cards)
+	{
+		Card card = game.getDeck().drawCard(game.getDeadDeck());
+		
+		Point2D deckPosition = iconDeck.localToScene(Point2D.ZERO);
+		
+		ImageView view = createBackCard();
+		view.setId("drawAnimation");
+		view.setX(deckPosition.getX());
+		view.setY(deckPosition.getY());
+		mainPane.getChildren().add(view);	
+		
+		TranslateTransition translateTransition = new TranslateTransition();
+		translateTransition.setDuration(Duration.millis(500));
+		translateTransition.setNode(view);
+		translateTransition.setCycleCount(1);
+		translateTransition.setAutoReverse(false);
+		translateTransition.setFromX(0);
+		translateTransition.setFromY(0);
+		
+		switch(ai.getID())
+		{
+			case 1:		translateTransition.setToX( - (view.getX() - getPositionOfRightCard(ai)));
+						translateTransition.setToY( - (view.getY() - AI_1_STARTING_POINT.getY()));
+						break;
+			case 2:		translateTransition.setToX( - (view.getX() - AI_2_STARTING_POINT.getX()));
+						translateTransition.setToY( - (view.getY() - getPositionOfBottomCard(ai)));
+						break;				
+			case 3:		translateTransition.setToX( - (view.getX() - AI_3_STARTING_POINT.getX()));
+						translateTransition.setToY( - (view.getY() - getPositionOfBottomCard(ai)));
+						break;				
+			default:	break;
+		}
+	
+		translateTransition.setOnFinished(new EventHandler<ActionEvent>()
+		{
+			@Override
+			public void handle(ActionEvent event)
+			{
+				ObservableList<Node> nodes = mainPane.getChildren();
+				Iterator<Node> iterator = nodes.iterator();
+				while(iterator.hasNext())
+				{
+					if(iterator.next().getId().equals("drawAnimation"))
+					{
+						iterator.remove();
+					}
+				}
+				
+				ai.drawCard(cards.get(drawCounter));
+				setAIDeck(ai);
+				drawCounter++;
+				
+				if(drawCounter < cards.size())
+				{				
+					moveCardFromDeckToAI(ai, cards);
+				}
+				else				
+				{
+					game.setShowingInfo(false);
+					hideInfo();
+					drawCounter = 0;
+					game.draw();
+				}						
+			}
+		});
+
+		translateTransition.play();
+	}
+
 	public void clearPlayerDeck()
 	{
 		ObservableList<Node> nodes = mainPane.getChildren();
 		Iterator<Node> iterator = nodes.iterator();
-		while(iterator.hasNext()) 
+		while(iterator.hasNext())
 		{
 			if(iterator.next().getId().equals("player"))
 			{
@@ -348,42 +700,44 @@ public class Controller
 	}
 
 	public void setPlayerDeck(ArrayList<Card> deck)
-	{	
+	{
 		clearPlayerDeck();
-		
+
 		int counter = 1;
-		
+
 		for(Card currentCard : deck)
 		{
 			ImageView current = createCard(currentCard, true);
-			
+
 			current.setId("player");
 			mainPane.getChildren().add(current);
-			if((deck.size() * (CARD_WIDTH + CARD_SPACING_HORIZONTAL_LARGE)) > (stage.getScene().getWidth() - PLAYER_STARTING_POINT.getX() * 2))
+			
+			double maxWidth = stage.getScene().getWidth() - (PLAYER_STARTING_POINT.getX() * 2) - CARD_WIDTH;
+			if((deck.size() * (CARD_WIDTH + CARD_SPACING_LARGE)) > maxWidth)
 			{
-				if((deck.size() * (CARD_WIDTH + CARD_SPACING_HORIZONTAL_MEDIUM)) > (stage.getScene().getWidth() - PLAYER_STARTING_POINT.getX() * 2))
+				if((deck.size() * (CARD_WIDTH + CARD_SPACING_MEDIUM)) > maxWidth)
 				{
-					if((deck.size() * (CARD_WIDTH + CARD_SPACING_HORIZONTAL_SMALL)) > (stage.getScene().getWidth() - PLAYER_STARTING_POINT.getX() * 2))
+					if((deck.size() * (CARD_WIDTH + CARD_SPACING_SMALL)) > maxWidth)
 					{
-						current.setX(PLAYER_STARTING_POINT.getX() + (counter * (CARD_WIDTH + CARD_SPACING_HORIZONTAL_ULTRA_SMALL)));
+						current.setX(PLAYER_STARTING_POINT.getX() + (counter * (CARD_WIDTH + CARD_SPACING_ULTRA_SMALL)));
 					}
 					else
 					{
-						current.setX(PLAYER_STARTING_POINT.getX() + (counter * (CARD_WIDTH + CARD_SPACING_HORIZONTAL_SMALL)));
+						current.setX(PLAYER_STARTING_POINT.getX() + (counter * (CARD_WIDTH + CARD_SPACING_SMALL)));
 					}
 				}
 				else
 				{
-					current.setX(PLAYER_STARTING_POINT.getX() + (counter * (CARD_WIDTH + CARD_SPACING_HORIZONTAL_MEDIUM)));	
+					current.setX(PLAYER_STARTING_POINT.getX() + (counter * (CARD_WIDTH + CARD_SPACING_MEDIUM)));
 				}
 			}
 			else
 			{
-				current.setX(PLAYER_STARTING_POINT.getX() + (counter * (CARD_WIDTH + CARD_SPACING_HORIZONTAL_LARGE)));	
+				current.setX(PLAYER_STARTING_POINT.getX() + (counter * (CARD_WIDTH + CARD_SPACING_LARGE)));
 			}
-			
-			current.setY(PLAYER_STARTING_POINT.getY());		
-			
+
+			current.setY(PLAYER_STARTING_POINT.getY());
+
 			counter++;
 		}
 	}
@@ -391,62 +745,62 @@ public class Controller
 	public void setValidPlayerDeck(ArrayList<Card> deck, ArrayList<Card> validDeck)
 	{
 		clearPlayerDeck();
-		
+
 		int counter = 1;
-		
+
 		for(Card currentCard : deck)
 		{
 			ImageView current;
-					
+
 			if(validDeck.contains(currentCard))
 			{
 				current = createCard(currentCard, true);
+				current.setY(PLAYER_STARTING_POINT.getY() - CARD_HEIGHT/4);
 			}
 			else
 			{
 				current = createCard(currentCard, false);
+				current.setY(PLAYER_STARTING_POINT.getY());
 			}
-			
+
 			current.setId("player");
 
 			mainPane.getChildren().add(current);
-			
+
 			double maxWidth = stage.getScene().getWidth() - (PLAYER_STARTING_POINT.getX() * 2) - CARD_WIDTH;
-			
-			if((deck.size() * (CARD_WIDTH + CARD_SPACING_HORIZONTAL_LARGE)) > maxWidth)
+
+			if((deck.size() * (CARD_WIDTH + CARD_SPACING_LARGE)) > maxWidth)
 			{
-				if((deck.size() * (CARD_WIDTH + CARD_SPACING_HORIZONTAL_MEDIUM)) > maxWidth)
+				if((deck.size() * (CARD_WIDTH + CARD_SPACING_MEDIUM)) > maxWidth)
 				{
-					if((deck.size() * (CARD_WIDTH + CARD_SPACING_HORIZONTAL_SMALL)) > maxWidth)
+					if((deck.size() * (CARD_WIDTH + CARD_SPACING_SMALL)) > maxWidth)
 					{
-						current.setX(PLAYER_STARTING_POINT.getX() + (counter * (CARD_WIDTH + CARD_SPACING_HORIZONTAL_ULTRA_SMALL)));
+						current.setX(PLAYER_STARTING_POINT.getX() + (counter * (CARD_WIDTH + CARD_SPACING_ULTRA_SMALL)));
 					}
 					else
 					{
-						current.setX(PLAYER_STARTING_POINT.getX() + (counter * (CARD_WIDTH + CARD_SPACING_HORIZONTAL_SMALL)));
+						current.setX(PLAYER_STARTING_POINT.getX() + (counter * (CARD_WIDTH + CARD_SPACING_SMALL)));
 					}
 				}
 				else
 				{
-					current.setX(PLAYER_STARTING_POINT.getX() + (counter * (CARD_WIDTH + CARD_SPACING_HORIZONTAL_MEDIUM)));	
+					current.setX(PLAYER_STARTING_POINT.getX() + (counter * (CARD_WIDTH + CARD_SPACING_MEDIUM)));
 				}
 			}
 			else
 			{
-				current.setX(PLAYER_STARTING_POINT.getX() + (counter * (CARD_WIDTH + CARD_SPACING_HORIZONTAL_LARGE)));	
+				current.setX(PLAYER_STARTING_POINT.getX() + (counter * (CARD_WIDTH + CARD_SPACING_LARGE)));
 			}
 			
-			current.setY(PLAYER_STARTING_POINT.getY());							
-			
 			counter++;
 		}
 	}
-	
+
 	public void clearAIDeck(AI ai)
 	{
 		ObservableList<Node> nodes = mainPane.getChildren();
 		Iterator<Node> iterator = nodes.iterator();
-		while(iterator.hasNext()) 
+		while(iterator.hasNext())
 		{
 			if(iterator.next().getId().contains("ai" + ai.getID()))
 			{
@@ -454,59 +808,135 @@ public class Controller
 			}
 		}
 	}
-	
-	public void setAIDeck(AI ai, ArrayList<Card> deck)
+
+	public void setAIDeck(AI ai)
 	{
 		clearAIDeck(ai);
 		
+		ArrayList<Card> deck = ai.getDeck();
+
 		int counter = 1;
-		
+
 		for(Card currentCard : deck)
 		{
 			ImageView current = createBackCard();
-			
+
 			current.setId("ai" + ai.getID());
 			
-			//TODO other AIs (vertical) --> flip imageViews by 90 degrees
 			mainPane.getChildren().add(current);
-			double maxWidth = stage.getScene().getWidth() - (AI_1_STARTING_POINT.getX() * 2) - CARD_WIDTH;
 			
-			if((deck.size() * (CARD_WIDTH + CARD_SPACING_HORIZONTAL_LARGE)) > maxWidth)
-			{
-				if((deck.size() * (CARD_WIDTH + CARD_SPACING_HORIZONTAL_MEDIUM)) > maxWidth)
-				{
-					if((deck.size() * (CARD_WIDTH + CARD_SPACING_HORIZONTAL_SMALL)) > maxWidth)
-					{
-						current.setX(AI_1_STARTING_POINT.getX() + (counter * (CARD_WIDTH + CARD_SPACING_HORIZONTAL_ULTRA_SMALL)));
-					}
-					else
-					{
-						current.setX(AI_1_STARTING_POINT.getX() + (counter * (CARD_WIDTH + CARD_SPACING_HORIZONTAL_SMALL)));
-					}
-				}
-				else
-				{
-					current.setX(AI_1_STARTING_POINT.getX() + (counter * (CARD_WIDTH + CARD_SPACING_HORIZONTAL_MEDIUM)));	
-				}
-			}
-			else
+			double maxWidth;
+			double maxHeight;
+			int deckSize;
+			
+			switch(ai.getID())
 			{
-				current.setX(AI_1_STARTING_POINT.getX() + (counter * (CARD_WIDTH + CARD_SPACING_HORIZONTAL_LARGE)));	
-			}				
+				case 1:	maxWidth = stage.getScene().getWidth() - ((AI_1_STARTING_POINT.getX() + 25.0) * 2) - CARD_WIDTH;
+						deckSize = ai.getDeckSize();
+
+						if((deckSize * (CARD_WIDTH + CARD_SPACING_LARGE)) > maxWidth)
+						{
+							if((deckSize * (CARD_WIDTH + CARD_SPACING_MEDIUM)) > maxWidth)
+							{
+								if((deckSize * (CARD_WIDTH + CARD_SPACING_SMALL)) > maxWidth)
+								{
+									current.setX(AI_1_STARTING_POINT.getX() + (counter * (CARD_WIDTH + CARD_SPACING_ULTRA_SMALL)));
+								}
+								else
+								{
+									current.setX(AI_1_STARTING_POINT.getX() + (counter * (CARD_WIDTH + CARD_SPACING_SMALL)));
+								}
+							}
+							else
+							{
+								current.setX(AI_1_STARTING_POINT.getX() + (counter * (CARD_WIDTH + CARD_SPACING_MEDIUM)));
+							}
+						}
+						else
+						{
+							current.setX(AI_1_STARTING_POINT.getX() + (counter * (CARD_WIDTH + CARD_SPACING_LARGE)));
+						}
+		
+						current.setY(AI_1_STARTING_POINT.getY());
+						break;
+						
+				case 2:	maxHeight = stage.getScene().getHeight() - ((AI_2_STARTING_POINT.getY() + 50.0) * 2) - CARD_WIDTH;
+						deckSize = ai.getDeckSize();
+						
+						current.setRotate(90.0);
+		
+						if((deckSize * (CARD_WIDTH + CARD_SPACING_LARGE)) > maxHeight)
+						{
+							if((deckSize * (CARD_WIDTH + CARD_SPACING_MEDIUM)) > maxHeight)
+							{
+								if((deckSize * (CARD_WIDTH + CARD_SPACING_SMALL)) > maxHeight)
+								{
+									current.setY(AI_2_STARTING_POINT.getY() + (counter * (CARD_WIDTH + CARD_SPACING_ULTRA_SMALL)));
+								}
+								else
+								{
+									current.setY(AI_2_STARTING_POINT.getY() + (counter * (CARD_WIDTH + CARD_SPACING_SMALL)));
+								}
+							}
+							else
+							{
+								current.setY(AI_2_STARTING_POINT.getY() + (counter * (CARD_WIDTH + CARD_SPACING_MEDIUM)));
+							}
+						}
+						else
+						{
+							current.setY(AI_2_STARTING_POINT.getY() + (counter * (CARD_WIDTH + CARD_SPACING_LARGE)));
+						}
+		
+						current.setX(AI_2_STARTING_POINT.getX());
+						break;
+						
+				case 3:	maxHeight = stage.getScene().getHeight() - ((AI_3_STARTING_POINT.getY() + 50.0) * 2) - CARD_WIDTH;
+						deckSize = ai.getDeckSize();
+						
+						current.setRotate(90.0);
+		
+						if((deckSize * (CARD_WIDTH + CARD_SPACING_LARGE)) > maxHeight)
+						{
+							if((deckSize * (CARD_WIDTH + CARD_SPACING_MEDIUM)) > maxHeight)
+							{
+								if((deckSize * (CARD_WIDTH + CARD_SPACING_SMALL)) > maxHeight)
+								{
+									current.setY(AI_3_STARTING_POINT.getY() + (counter * (CARD_WIDTH + CARD_SPACING_ULTRA_SMALL)));
+								}
+								else
+								{
+									current.setY(AI_3_STARTING_POINT.getY() + (counter * (CARD_WIDTH + CARD_SPACING_SMALL)));
+								}
+							}
+							else
+							{
+								current.setY(AI_3_STARTING_POINT.getY() + (counter * (CARD_WIDTH + CARD_SPACING_MEDIUM)));
+							}
+						}
+						else
+						{
+							current.setY(AI_3_STARTING_POINT.getY() + (counter * (CARD_WIDTH + CARD_SPACING_LARGE)));
+						}
+		
+						current.setX(AI_3_STARTING_POINT.getX());
+						break;
+				default: break;
+			}	
 			
-			counter++;		
-		}		
+			counter++;
+		}
 	}
-	
+
 	public void clearAllDecks(ArrayList<AI> ais)
 	{
 		clearPlayerDeck();
-		
+
 		for(AI currentAI : ais)
 		{
 			clearAIDeck(currentAI);
-		}		
-	}
+		}
+	}	
 
 	public void about()
 	{
diff --git a/src/application/Main.java b/src/application/Main.java
index 3729b32..0199cb4 100644
--- a/src/application/Main.java
+++ b/src/application/Main.java
@@ -17,7 +17,7 @@ public class Main extends Application
 			FXMLLoader loader = new FXMLLoader(getClass().getResource("MainGUI.fxml"));
 			Parent root = (Parent)loader.load();
 
-			Scene scene = new Scene(root, 800, 600);
+			Scene scene = new Scene(root, 800, 650);
 
 			stage.setResizable(true);
 			stage.setTitle("UNO");
@@ -27,6 +27,7 @@ public class Main extends Application
 			controller.setStage(stage);			
 			controller.init();			
 			
+			//TODO set minWidth and Height
 			stage.getIcons().add(new Image("images/icon.png"));
 			stage.show();		
 		}
diff --git a/src/application/MainGUI.fxml b/src/application/MainGUI.fxml
index 3d499e5..e4034b7 100644
--- a/src/application/MainGUI.fxml
+++ b/src/application/MainGUI.fxml
@@ -1,25 +1,74 @@
 <?xml version="1.0" encoding="UTF-8"?>
 
+<?import javafx.geometry.Insets?>
+<?import javafx.scene.control.Button?>
 <?import javafx.scene.control.Label?>
 <?import javafx.scene.image.ImageView?>
 <?import javafx.scene.layout.AnchorPane?>
+<?import javafx.scene.layout.HBox?>
 <?import javafx.scene.shape.Circle?>
 <?import javafx.scene.text.Font?>
 
-<AnchorPane fx:id="mainPane" prefHeight="600.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/8.0.65" xmlns:fx="http://javafx.com/fxml/1" fx:controller="application.Controller">
+<AnchorPane fx:id="mainPane" prefHeight="650.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/8.0.65" xmlns:fx="http://javafx.com/fxml/1" fx:controller="application.Controller">
    <children>
-      <ImageView fx:id="iconDeck" fitHeight="90.0" fitWidth="57.0" layoutX="447.0" layoutY="230.0" pickOnBounds="true" preserveRatio="true" />
-      <ImageView fx:id="iconLastCard" fitHeight="90.0" fitWidth="57.0" layoutX="277.0" layoutY="230.0" pickOnBounds="true" preserveRatio="true" />
-      <Label fx:id="labelCurrentPlayer" alignment="CENTER" contentDisplay="CENTER" layoutX="320.0" layoutY="377.0" prefHeight="31.0" prefWidth="162.0" textAlignment="CENTER">
+      <ImageView fx:id="iconDeck" fitHeight="90.0" fitWidth="57.0" layoutX="447.0" layoutY="253.0" pickOnBounds="true" preserveRatio="true" />
+      <ImageView fx:id="iconLastCard" fitHeight="90.0" fitWidth="57.0" layoutX="277.0" layoutY="253.0" pickOnBounds="true" preserveRatio="true" />
+      <Label fx:id="labelCurrentPlayer" alignment="CENTER" contentDisplay="CENTER" layoutX="250.0" layoutY="420.0" prefHeight="31.0" prefWidth="286.0" textAlignment="CENTER">
          <font>
             <Font name="System Bold" size="19.0" />
          </font>
       </Label>
-      <Circle fx:id="circleWishColor" fill="DODGERBLUE" layoutX="392.0" layoutY="275.0" radius="16.0" stroke="BLACK" strokeType="INSIDE" strokeWidth="0.0" />
-      <Label fx:id="labelWishColor" layoutX="355.0" layoutY="230.0" text="Wunschfarbe">
+      <Circle fx:id="circleWishColor" fill="DODGERBLUE" layoutX="392.0" layoutY="298.0" radius="16.0" stroke="BLACK" strokeType="INSIDE" strokeWidth="0.0" />
+      <Label fx:id="labelWishColor" layoutX="355.0" layoutY="253.0" text="Wunschfarbe">
          <font>
             <Font name="System Bold" size="12.0" />
          </font>
       </Label>
+      <ImageView fx:id="imageViewWishColor" fitHeight="40.0" fitWidth="40.0" layoutX="372.0" layoutY="278.0" pickOnBounds="true" preserveRatio="true" />
+      <HBox fx:id="hboxInfo" alignment="CENTER" layoutX="207.0" layoutY="611.0" prefHeight="25.0" prefWidth="338.0">
+         <children>
+            <Label fx:id="labelInfo" alignment="CENTER" contentDisplay="CENTER" prefHeight="30.0" prefWidth="255.0" text="Du kannst nicht kontern. Ziehe xx Karten." textAlignment="CENTER">
+               <font>
+                  <Font name="System Bold" size="13.0" />
+               </font>
+            </Label>
+            <Button fx:id="buttonInfo" mnemonicParsing="false" text="OK">
+               <HBox.margin>
+                  <Insets left="15.0" />
+               </HBox.margin>
+            </Button>
+         </children>
+      </HBox>
+      <Label fx:id="labelChallengeCounter" alignment="CENTER" contentDisplay="CENTER" layoutX="297.0" layoutY="352.0" prefHeight="17.0" prefWidth="190.0" text="Verlierer zieht 12 Karten" textAlignment="CENTER">
+         <font>
+            <Font name="System Bold" size="14.0" />
+         </font>
+      </Label>
+      <ImageView fx:id="imageViewDirection" fitHeight="30.0" fitWidth="30.0" layoutX="543.0" layoutY="282.0" pickOnBounds="true" preserveRatio="true" />
+      <Label fx:id="labelDirection" layoutX="520.0" layoutY="252.0" text="Spielrichtung:">
+         <font>
+            <Font name="System Bold" size="12.0" />
+         </font>
+      </Label>
+      <Label fx:id="labelAI2Name" alignment="CENTER" contentDisplay="CENTER" layoutX="661.0" layoutY="95.0" prefHeight="19.0" prefWidth="106.0" text="Computer 2" textAlignment="CENTER">
+         <font>
+            <Font name="System Bold" size="13.0" />
+         </font>
+      </Label>
+      <Label fx:id="labelAI3Name" alignment="CENTER" contentDisplay="CENTER" layoutX="36.0" layoutY="95.0" prefHeight="19.0" prefWidth="106.0" text="Computer 3" textAlignment="CENTER">
+         <font>
+            <Font name="System Bold" size="13.0" />
+         </font>
+      </Label>
+      <Label fx:id="labelAI1Name" alignment="CENTER" contentDisplay="CENTER" layoutX="340.0" layoutY="16.0" prefHeight="19.0" prefWidth="106.0" text="Computer 1" textAlignment="CENTER">
+         <font>
+            <Font name="System Bold" size="13.0" />
+         </font>
+      </Label>
+      <Button fx:id="buttonStart" layoutX="360.0" layoutY="390.0" mnemonicParsing="false" text="START">
+         <font>
+            <Font name="System Bold" size="14.0" />
+         </font>
+      </Button>
    </children>
 </AnchorPane>
diff --git a/src/application/Settings.fxml b/src/application/Settings.fxml
new file mode 100644
index 0000000..e8b4a5e
--- /dev/null
+++ b/src/application/Settings.fxml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<?import javafx.geometry.Insets?>
+<?import javafx.scene.control.Label?>
+<?import javafx.scene.control.Slider?>
+<?import javafx.scene.layout.AnchorPane?>
+<?import javafx.scene.layout.HBox?>
+<?import javafx.scene.layout.VBox?>
+<?import javafx.scene.text.Font?>
+
+
+<AnchorPane prefHeight="400.0" prefWidth="600.0" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/8.0.65">
+   <children>
+      <VBox layoutX="45.0" layoutY="40.0" prefHeight="320.0" prefWidth="511.0">
+         <children>
+            <HBox prefHeight="44.0" prefWidth="412.0">
+               <children>
+                  <Label alignment="TOP_RIGHT" contentDisplay="TOP" prefHeight="20.0" prefWidth="150.0" text="Gegner:" textAlignment="RIGHT">
+                     <font>
+                        <Font name="System Bold" size="14.0" />
+                     </font>
+                  </Label>
+                  <Slider blockIncrement="1.0" majorTickUnit="1.0" max="3.0" min="1.0" minorTickCount="0" prefHeight="44.0" prefWidth="230.0" showTickLabels="true" showTickMarks="true" snapToTicks="true">
+                     <HBox.margin>
+                        <Insets left="50.0" />
+                     </HBox.margin>
+                  </Slider>
+               </children>
+            </HBox>
+            <HBox prefHeight="44.0" prefWidth="412.0">
+               <children>
+                  <Label alignment="TOP_RIGHT" contentDisplay="TOP" prefHeight="20.0" prefWidth="150.0" text="Startkarten:">
+                     <font>
+                        <Font name="System Bold" size="14.0" />
+                     </font>
+                  </Label>
+                  <Slider blockIncrement="1.0" majorTickUnit="1.0" max="10.0" min="3.0" minorTickCount="0" prefHeight="44.0" prefWidth="233.0" showTickLabels="true" showTickMarks="true" snapToTicks="true">
+                     <HBox.margin>
+                        <Insets left="50.0" />
+                     </HBox.margin>
+                  </Slider>
+               </children>
+               <VBox.margin>
+                  <Insets top="25.0" />
+               </VBox.margin>
+            </HBox>
+            <HBox prefHeight="44.0" prefWidth="412.0">
+               <children>
+                  <Label alignment="TOP_RIGHT" contentDisplay="TOP" prefHeight="20.0" prefWidth="150.0" text="Gegner Schnelligkeit:">
+                     <font>
+                        <Font name="System Bold" size="14.0" />
+                     </font>
+                     <HBox.margin>
+                        <Insets />
+                     </HBox.margin>
+                  </Label>
+                  <Slider blockIncrement="1.0" majorTickUnit="1.0" max="4.0" min="1.0" minorTickCount="0" prefHeight="44.0" prefWidth="233.0" showTickLabels="true" showTickMarks="true" snapToTicks="true">
+                     <HBox.margin>
+                        <Insets left="50.0" />
+                     </HBox.margin>
+                  </Slider>
+               </children>
+               <VBox.margin>
+                  <Insets top="25.0" />
+               </VBox.margin>
+            </HBox>
+         </children>
+      </VBox>
+   </children>
+</AnchorPane>
diff --git a/src/images/DIRECTION_LEFT.png b/src/images/DIRECTION_LEFT.png
new file mode 100644
index 0000000000000000000000000000000000000000..706648400fff06bf709c5d7043d0ad5110883dea
GIT binary patch
literal 9096
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

literal 0
HcmV?d00001

diff --git a/src/images/DIRECTION_RIGHT.png b/src/images/DIRECTION_RIGHT.png
new file mode 100644
index 0000000000000000000000000000000000000000..40ed3602ff3ff41be31c8decdd24ebdde5f3c1f5
GIT binary patch
literal 8649
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%0Dk*BRQG(3y$
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

literal 0
HcmV?d00001

diff --git a/src/images/circle-all.png b/src/images/circle-all.png
new file mode 100644
index 0000000000000000000000000000000000000000..52aaf07c8cb4b4e6963f47c806155d9b3078b52e
GIT binary patch
literal 8410
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
KpUXO@geCxUYTxJp

literal 0
HcmV?d00001

diff --git a/src/logic/AI.java b/src/logic/AI.java
index b18d333..30414e2 100644
--- a/src/logic/AI.java
+++ b/src/logic/AI.java
@@ -43,13 +43,13 @@ public class AI
 	public void drawCard(Card card)
 	{
 		deck.add(card);
-		game.getController().setAIDeck(this, deck);
+		game.getController().setAIDeck(this);
 	}
 
 	public void drawCards(ArrayList<Card> cards)
 	{
 		deck.addAll(cards);
-		game.getController().setAIDeck(this, deck);
+		game.getController().setAIDeck(this);
 	}
 
 	public Card playCard(Card card)
@@ -59,19 +59,25 @@ public class AI
 	}
 
 	public ArrayList<Card> getValidCards(Card lastCard, Color wishColor, boolean challenge)
-	{
-		ArrayList<Card> validCards = new ArrayList<Card>();
-
+	{	
+		ArrayList<Card> validCards = new ArrayList<Card>();		
 		if(challenge)
 		{
 			for(Card currentCard : deck)
-			{
+			{	
 				if(wishColor == null)
 				{
 					if(currentCard.getType().equals(CardType.DRAW_TWO) || currentCard.getType().equals(CardType.DRAW_FOUR))
 					{
 						validCards.add(currentCard);
 					}
+				}	
+				else if(wishColor.equals(Color.ALL))
+				{										
+					if(currentCard.getType().equals(CardType.DRAW_TWO) || currentCard.getType().equals(CardType.DRAW_FOUR))
+					{
+						validCards.add(currentCard);
+					}						
 				}
 				else
 				{
@@ -85,14 +91,23 @@ public class AI
 		else
 		{
 			if(wishColor == null)
+			{	
+				for(Card currentCard : deck)
+				{								
+					if(currentCard.getColor().equals(lastCard.getColor()) || currentCard.getType().equals(lastCard.getType()) || currentCard.getType().equals(CardType.WILD) || currentCard.getType().equals(CardType.DRAW_FOUR))
+					{
+						validCards.add(currentCard);
+					}						
+				}
+			}
+			else if(wishColor.equals(Color.ALL))
 			{
 				for(Card currentCard : deck)
-				{
-					if(currentCard.getColor().equals(lastCard.getColor()) || currentCard.getType().equals(lastCard.getType()) || currentCard.getType().equals(CardType.WILD)
-							|| currentCard.getType().equals(CardType.DRAW_FOUR))
+				{								
+					if(!currentCard.getType().equals(CardType.WILD) && !currentCard.getType().equals(CardType.DRAW_FOUR))
 					{
 						validCards.add(currentCard);
-					}
+					}						
 				}
 			}
 			else
@@ -102,11 +117,11 @@ public class AI
 					if(currentCard.getColor().equals(wishColor))
 					{
 						validCards.add(currentCard);
-					}
+					}	
 				}
-			}
-		}
-
+			}		
+		}		
+	
 		return validCards;
 	}
 
@@ -134,17 +149,18 @@ public class AI
 		{
 			if(challenge)
 			{
-				drawCards(game.getDeck().drawCards(game.getChallengeCounter(), game.getDeadDeck()));	
 				System.out.println("draw " + game.getChallengeCounter() + " cards");
-				System.out.println("deack after draw: " + deck);
-				game.draw();
+				ArrayList<Card> drawedCards = game.getDeck().drawCards(game.getChallengeCounter(), game.getDeadDeck());	
+				game.getController().moveCardFromDeckToAI(this, drawedCards);
+				System.out.println("deack after draw: " + deck);				
 			}
 			else
 			{
-				drawCard(game.getDeck().drawCard(game.getDeadDeck()));	
 				System.out.println("draw one card");
-				System.out.println("deack after draw: " + deck);
-				game.draw();
+				ArrayList<Card> drawedCards = new ArrayList<Card>();
+				drawedCards.add(game.getDeck().drawCard(game.getDeadDeck()));
+				game.getController().moveCardFromDeckToAI(this, drawedCards);				
+				System.out.println("deack after draw: " + deck);				
 			}		
 		}	
 		else
@@ -174,7 +190,7 @@ public class AI
 				}			
 			}
 			
-			game.getController().moveAICardToDeadDeck(this,game.getCurrentPlayer(), playedCard, newWishColor);			
+			game.getController().moveAICardToDeadDeck(this, game.getCurrentPlayer(), playedCard, newWishColor);			
 		}	
 	}
 	
diff --git a/src/logic/Deck.java b/src/logic/Deck.java
index df00708..766c0a3 100644
--- a/src/logic/Deck.java
+++ b/src/logic/Deck.java
@@ -14,7 +14,7 @@ public class Deck
 		
 		for(Color currentColor : Color.values())
 		{			
-			if(currentColor != Color.BLACK)
+			if(currentColor != Color.BLACK && currentColor != Color.ALL)
 			{	
 				cards.add(new Card(CardType.ZERO, currentColor, 0));
 				
@@ -92,28 +92,5 @@ public class Deck
 		return cards;
 	}	
 	
-	//TODO --> refill should let newest card of deadDeck in deadDeck
-	public static void main(String[] args)
-	{
-		Deck deck = new Deck();
-		System.out.println(deck.getCards());
-	//	deck.shuffle();
-		System.out.println(deck.getCards());	
-		System.out.println();
-		
-		DeadDeck deadDeck = new DeadDeck();
-		
-		for(int i = 0; i < 107; i++)
-		{
-			System.out.println(i);
-			
-				Card newCard = deck.drawCard(deadDeck);
-				deadDeck.add(newCard);
-				System.out.println(newCard);	
-				
-				System.out.println(newCard.equals(new Card(CardType.DRAW_TWO, Color.RED, 0)));
-		}	
-		
-		
-	}
+	//TODO --> refill should let newest card of deadDeck in deadDeck	
 }
\ No newline at end of file
diff --git a/src/logic/Game.java b/src/logic/Game.java
index 00969b3..dca0ec9 100644
--- a/src/logic/Game.java
+++ b/src/logic/Game.java
@@ -3,6 +3,9 @@ package logic;
 import java.util.ArrayList;
 import java.util.Random;
 
+import javafx.scene.control.Alert;
+import javafx.scene.control.Alert.AlertType;
+import javafx.stage.Stage;
 import application.Controller;
 
 public class Game
@@ -23,6 +26,7 @@ public class Game
 	private boolean skipped;
 	private int counter;
 	private boolean running;
+	private boolean showingInfo;
 	
 	public Game(Controller controller, int numberOfAIs)
 	{
@@ -31,10 +35,22 @@ public class Game
 		deadDeck = new DeadDeck();
 		player = new Player("Spieler", this);
 		ais = new ArrayList<AI>();
-		for(int i = 1; i <= numberOfAIs; i++)
+		
+		if(numberOfAIs == 1)
+		{
+			ais.add(new AI("Computer 1", 1, this));
+		}
+		else if(numberOfAIs == 2)
 		{
-			ais.add(new AI("AI " + i, i-1, this));
+			ais.add(new AI("Computer 1", 1, this));
+			ais.add(new AI("Computer 2", 2, this));
 		}
+		else if(numberOfAIs == 3)
+		{
+			ais.add(new AI("Computer 3", 3, this));
+			ais.add(new AI("Computer 1", 1, this));
+			ais.add(new AI("Computer 2", 2, this));
+		}		
 
 		gameCount = 0;
 		challengeCounter = 0;
@@ -42,7 +58,7 @@ public class Game
 
 	public void newGame(int numberOfStartingCards)
 	{
-		deck = new Deck();
+		deck = new Deck();	
 		deck.shuffle();
 		deadDeck = new DeadDeck();
 		gameCount++;
@@ -51,8 +67,10 @@ public class Game
 		wishColor = null;
 		challenge = false;
 		direction = Direction.RIGHT;
+		controller.setImageViewDirection(Direction.RIGHT);		
 		lastPlayerDraw = false;
 		skipped = false;
+		showingInfo = false;
 
 		player.initialize();
 
@@ -65,16 +83,28 @@ public class Game
 		}
 		
 		deadDeck.add(deck.drawCard(deadDeck));
-		lastCard = deadDeck.getCards().get(deadDeck.getCards().size()-1);	
+		lastCard = deadDeck.getCards().get(deadDeck.getCards().size()-1);			
+		
 		controller.setLastCard(lastCard);	
-		if(lastCard.getType().equals(CardType.DRAW_FOUR) || lastCard.getType().equals(CardType.WILD))
+		if(lastCard.getType().equals(CardType.WILD))
 		{
 			wishColor = Color.ALL;
 			controller.chosenWishColor = wishColor;
 			controller.showCircleWishColor(wishColor);
 		}
-		
-		start();
+		else if(lastCard.getType().equals(CardType.DRAW_FOUR))
+		{
+			wishColor = Color.ALL;
+			controller.chosenWishColor = wishColor;
+			controller.showCircleWishColor(wishColor);
+			challenge = true;
+			challengeCounter = 4;
+		}
+		else if(lastCard.getType().equals(CardType.DRAW_TWO))
+		{			
+			challenge = true;
+			challengeCounter = 2;
+		}
 	}
 
 	public int getGameCount()
@@ -123,15 +153,15 @@ public class Game
 				if(direction.equals(Direction.RIGHT))
 				{
 					direction = Direction.LEFT;
+					controller.setImageViewDirection(Direction.LEFT);		
+
 				}
 				else
 				{
 					direction = Direction.RIGHT;
-				}
-				//TODO show icon direction in UI
-			}	
-							
-			//TODO mark currentPlayer in UI
+					controller.setImageViewDirection(Direction.RIGHT);	
+				}				
+			}		
 			
 			if(currentPlayer == 1)
 			{			
@@ -148,7 +178,17 @@ public class Game
 				
 				controller.setLabelCurrentPlayer(currentAI.getName() + " ist am Zug");
 				
-				controller.setAIDeck(currentAI, currentAI.getDeck());					
+				controller.setAIDeck(currentAI);	
+				
+				try
+				{
+					Thread.sleep(500);
+				}
+				catch(InterruptedException e)
+				{
+					//ERRORHANDLING
+					e.printStackTrace();
+				}
 				
 				currentAI.turn(lastCard, wishColor, challenge);							
 			}
@@ -194,9 +234,7 @@ public class Game
 	}
 
 	private void end(String name)
-	{
-		//TODO alert 
-		
+	{			
 		controller.clearAllDecks(ais);
 		
 		System.err.println("Player " + name + " wins!");
@@ -206,11 +244,31 @@ public class Game
 		if(currentPlayer == 1)
 		{
 			controller.setLabelCurrentPlayer(player.getName() + " gewinnt!");
+			
+			Alert alert = new Alert(AlertType.INFORMATION);
+			alert.setTitle("Sieg!");
+			alert.setHeaderText("");
+			alert.setContentText("Du gewinnst");
+			alert.initOwner(controller.stage);
+			Stage dialogStage = (Stage)alert.getDialogPane().getScene().getWindow();
+			dialogStage.getIcons().add(controller.icon);
+			alert.show();
 		}
 		else
 		{
 			controller.setLabelCurrentPlayer(ais.get(currentPlayer - 2).getName() + " gewinnt!");
-		}		
+			
+			Alert alert = new Alert(AlertType.INFORMATION);
+			alert.setTitle("Niederlage!");
+			alert.setHeaderText("");
+			alert.setContentText(ais.get(currentPlayer - 2).getName() + " hat gewonnen.");
+			alert.initOwner(controller.stage);
+			Stage dialogStage = (Stage)alert.getDialogPane().getScene().getWindow();
+			dialogStage.getIcons().add(controller.icon);
+			alert.show();
+		}	
+		
+		
 	}
 
 	public Deck getDeck()
@@ -233,6 +291,11 @@ public class Game
 		return player;
 	}
 	
+	public ArrayList<AI> getAIs()
+	{
+		return ais;
+	}
+	
 	public boolean isRunning()
 	{
 		return running;
@@ -248,11 +311,22 @@ public class Game
 		return controller;
 	}
 	
+	public boolean isShowingInfo()
+	{
+		return showingInfo;
+	}
+	
+	public void setShowingInfo(boolean showingInfo)
+	{
+		this.showingInfo = showingInfo;
+	}
+	
 	public void draw()
 	{		
 		challenge = false;
 		challengeCounter = 0;	
 		lastPlayerDraw = true;
+		controller.hideLabelChallengeCounter();
 		
 		run();
 	}		
@@ -267,16 +341,19 @@ public class Game
 		{
 			challenge = true;
 			challengeCounter += 2;
+			controller.showLabelChallengeCounter("Verlierer zieht " + challengeCounter + " Karten");
 		}	
 		else if(card.getType().equals(CardType.DRAW_FOUR))
 		{
 			challenge = true;
-			challengeCounter += 4;			
+			challengeCounter += 4;
+			controller.showLabelChallengeCounter("Verlierer zieht " + challengeCounter + " Karten");
 		}
 		else
 		{
 			challenge = false;
 			challengeCounter = 0;
+			controller.hideLabelChallengeCounter();
 		}
 		
 		lastPlayerDraw = false;
diff --git a/src/logic/Player.java b/src/logic/Player.java
index 3ce4543..df490f3 100644
--- a/src/logic/Player.java
+++ b/src/logic/Player.java
@@ -42,6 +42,7 @@ public class Player
 	{
 		deck.addAll(cards);
 		game.getController().setPlayerDeck(deck);
+		game.getController().hideInfo();
 	}
 	
 	public Card playCard(Card card)
@@ -52,8 +53,7 @@ public class Player
 	
 	public ArrayList<Card> getValidCards(Card lastCard, Color wishColor, boolean challenge)
 	{	
-		ArrayList<Card> validCards = new ArrayList<Card>();
-		
+		ArrayList<Card> validCards = new ArrayList<Card>();		
 		if(challenge)
 		{
 			for(Card currentCard : deck)
@@ -64,6 +64,13 @@ public class Player
 					{
 						validCards.add(currentCard);
 					}
+				}	
+				else if(wishColor.equals(Color.ALL))
+				{										
+					if(currentCard.getType().equals(CardType.DRAW_TWO) || currentCard.getType().equals(CardType.DRAW_FOUR))
+					{
+						validCards.add(currentCard);
+					}						
 				}
 				else
 				{
@@ -86,6 +93,16 @@ public class Player
 					}						
 				}
 			}
+			else if(wishColor.equals(Color.ALL))
+			{
+				for(Card currentCard : deck)
+				{								
+					if(!currentCard.getType().equals(CardType.WILD) && !currentCard.getType().equals(CardType.DRAW_FOUR))
+					{
+						validCards.add(currentCard);
+					}						
+				}
+			}
 			else
 			{
 				for(Card currentCard : deck)
@@ -124,11 +141,9 @@ public class Player
 		if(validDeck.size() == 0)
 		{
 			if(challenge)
-			{
-				//TODO notification
-				drawCards(game.getDeck().drawCards(game.getChallengeCounter(), game.getDeadDeck()));	
-				System.out.println("You can't challenge --> please draw " + game.getChallengeCounter() + " cards");
-				game.draw();
+			{					
+				game.setShowingInfo(true);
+				game.getController().showInfo("Du kannst nicht kontern. Ziehe " + game.getChallengeCounter() + " Karten.", game.getChallengeCounter());
 			}
 			else
 			{			
@@ -137,8 +152,7 @@ public class Player
 		}
 		else
 		{
-			System.out.println("choose");
-			//playerInput (draw or turnCard)		
+			System.out.println("choose");			
 		}	
 	}
 }
\ No newline at end of file
-- 
GitLab