From 72533b290953c84e06ddc7362346f244202f135e Mon Sep 17 00:00:00 2001
From: deadlocker8 <goldi.96@gmx.de>
Date: Mon, 11 Apr 2016 20:15:57 +0200
Subject: [PATCH] -started animations -added card-draw if click on deck -added
 transparency to invalid cards in deck

---
 .classpath                                    |   1 +
 class/application/ColorChooser.fxml           |  20 ++
 .../ColorChooserController$1.class            | Bin 0 -> 1356 bytes
 .../ColorChooserController$2.class            | Bin 0 -> 1353 bytes
 .../ColorChooserController$3.class            | Bin 0 -> 1354 bytes
 .../ColorChooserController$4.class            | Bin 0 -> 1355 bytes
 .../application/ColorChooserController.class  | Bin 0 -> 1283 bytes
 class/application/Controller$1.class          | Bin 1595 -> 1482 bytes
 class/application/Controller$2.class          | Bin 0 -> 3337 bytes
 class/application/Controller$3.class          | Bin 0 -> 1310 bytes
 class/application/Controller$4.class          | Bin 0 -> 1297 bytes
 class/application/Controller.class            | Bin 5977 -> 10738 bytes
 class/application/MainGUI.fxml                |   6 +-
 class/images/SEVEN-GREEN.png                  | Bin 5263 -> 9872 bytes
 class/logic/AI.class                          | Bin 5350 -> 5515 bytes
 class/logic/Game.class                        | Bin 6186 -> 6453 bytes
 class/logic/Player.class                      | Bin 4351 -> 4412 bytes
 src/application/ColorChooser.fxml             |  20 ++
 src/application/ColorChooserController.java   |  62 ++++
 src/application/Controller.java               | 269 ++++++++++++++++--
 src/application/MainGUI.fxml                  |   6 +-
 src/images/SEVEN-GREEN.png                    | Bin 5263 -> 9872 bytes
 src/logic/AI.java                             |   6 +-
 src/logic/Game.java                           |  49 ++--
 src/logic/Player.java                         |  17 +-
 25 files changed, 392 insertions(+), 64 deletions(-)
 create mode 100644 class/application/ColorChooser.fxml
 create mode 100644 class/application/ColorChooserController$1.class
 create mode 100644 class/application/ColorChooserController$2.class
 create mode 100644 class/application/ColorChooserController$3.class
 create mode 100644 class/application/ColorChooserController$4.class
 create mode 100644 class/application/ColorChooserController.class
 create mode 100644 class/application/Controller$2.class
 create mode 100644 class/application/Controller$3.class
 create mode 100644 class/application/Controller$4.class
 create mode 100644 src/application/ColorChooser.fxml
 create mode 100644 src/application/ColorChooserController.java

diff --git a/.classpath b/.classpath
index 92aea57..bcd2772 100644
--- a/.classpath
+++ b/.classpath
@@ -3,5 +3,6 @@
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
 	<classpathentry kind="con" path="org.eclipse.fx.ide.jdt.core.JAVAFX_CONTAINER"/>
+	<classpathentry combineaccessrules="false" kind="src" path="/_Tools"/>
 	<classpathentry kind="output" path="class"/>
 </classpath>
diff --git a/class/application/ColorChooser.fxml b/class/application/ColorChooser.fxml
new file mode 100644
index 0000000..38868c9
--- /dev/null
+++ b/class/application/ColorChooser.fxml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<?import javafx.scene.control.Label?>
+<?import javafx.scene.layout.AnchorPane?>
+<?import javafx.scene.shape.Rectangle?>
+<?import javafx.scene.text.Font?>
+
+<AnchorPane prefHeight="300.0" prefWidth="300.0" xmlns="http://javafx.com/javafx/8.0.65" xmlns:fx="http://javafx.com/fxml/1" fx:controller="application.ColorChooserController">
+   <children>
+      <Label layoutX="39.0" layoutY="29.0" text="Wähle deine Wunschfarbe">
+         <font>
+            <Font name="System Bold" size="18.0" />
+         </font>
+      </Label>
+      <Rectangle fx:id="rectRed" arcHeight="5.0" arcWidth="5.0" fill="#ff1f1f" height="58.0" layoutX="170.0" layoutY="101.0" stroke="BLACK" strokeType="INSIDE" strokeWidth="0.0" width="58.0" />
+      <Rectangle fx:id="rectYellow" arcHeight="5.0" arcWidth="5.0" fill="#ffd821" height="58.0" layoutX="73.0" layoutY="101.0" stroke="BLACK" strokeType="INSIDE" strokeWidth="0.0" width="58.0" />
+      <Rectangle fx:id="rectGreen" arcHeight="5.0" arcWidth="5.0" fill="#44a119" height="58.0" layoutX="170.0" layoutY="190.0" stroke="BLACK" strokeType="INSIDE" strokeWidth="0.0" width="58.0" />
+      <Rectangle fx:id="rectBlue" arcHeight="5.0" arcWidth="5.0" fill="#215eff" height="58.0" layoutX="73.0" layoutY="190.0" stroke="BLACK" strokeType="INSIDE" strokeWidth="0.0" width="58.0" />
+   </children>
+</AnchorPane>
diff --git a/class/application/ColorChooserController$1.class b/class/application/ColorChooserController$1.class
new file mode 100644
index 0000000000000000000000000000000000000000..85395f688ebd45b8f0700226b84bc5c7cf105513
GIT binary patch
literal 1356
zcmX^0Z`VEs1_l!bM|K7#Mh2C{f`XjP<iwK9{5*Z<{G9wE=ZyUP;?yGN{JfH){G6QB
zA{9e+1{OvJfvm)`ME#t^ymWp4q^#8B5_SeQMg~ccXj+ASYFTPtiM}g{^hnH0$w@6@
zWMC`F$ShVdU}RA7A#95^BLiPqVvb5O++Ico2{e5$7g;khaDvnpmn5dAGBSwxKpg?*
z>j#5Gtr;2EY%=pQOY9gKf;G_0!RAYAG&OL$uo<oy#>l|poS%})$-u}U$iu+SzyV?j
z^DuBSaDiB&JPh0nJX{RS4B|WtybKbI49prJP5eHYd8vM-xk;%-A&E&jsf-LlKKaRs
zIbn%KnIJw?kOdTSj0|dMZo=kn6+@6$Gr(ca$e^SFcW!cOUaEd(UO{PzzHfeMaVj`&
ztTn?p859_l*clWV8Mt%u(=(GHvChMw%%H-^z!vH1<KrLB$iVA^Bx%jbpvIuV&Y;f7
zAch)~uu$S*&;)7cPtM3MPR$F?EY1L@B`yYS23>Xr9YzKr%qZev&;tbwYjRG0aVjGN
zD>w-;GRPC~0V9Jr+>>A}kW^=_8OF|F%*Y@Mvk0sIxfmE3OnDe&8RQrlxPtRbi;`2_
zGC|QG4R$X^+Sdb_#>l`KoSB}NSW;S)%E;gcb{}#^um+1@%>*_usbZ|ov9_~jWZ-wr
z0|h~5Ub=5;Nk)DOJA(})gA!^uV~cqn20I3OMg|s8DraQShX)FBE<j5_u;{V|r9~dk
zyu8#R=bXgi;?!aW1qMb2W(GzERt9DP0Z@WwU=R=jC1)_r&A`LJz`)GFz`)DE$H2(I
z&%nUo#K6SB!oa{FqNTl+K|o7qD}#`h?p6j7t?dkA8yOfFm>47(7#O%1m>3wqIz$+x
z7#J9M7#Kl%7^E3wz~ZtDa$s2o20sQSuv#IlEet}N805DysA_Ft5ZT6{g)of|>;_2&
zE(R$EK?Z5CiDD34P!ky#gc$T03>X*%92sO8454OgLe1vX(mudow2i?8VI&*aL5yId
mKu%?0FatZ@oWTN2TQXQNFfgz%SToo%IDkFG2-d;CzyJUWhFE+6

literal 0
HcmV?d00001

diff --git a/class/application/ColorChooserController$2.class b/class/application/ColorChooserController$2.class
new file mode 100644
index 0000000000000000000000000000000000000000..fc6c75929efa6cda63727bb7e002f61112616edc
GIT binary patch
literal 1353
zcmX^0Z`VEs1_l!bM|K7#Mh2C{f`XjP<iwK9{5*Z<{G9wE=ZyUP;?yGN{JfH){G6QB
zA{8Tc1{OvJfvm)`ME#t^ymWp4q^#8B5_SeQMg~ccXj+ASYFTPtiM}g{^hnH0$w@6@
zWMC`F$ShVdU}RA7A#95^BLiPqVvb5O++Ico2{e5$7g;khaDvnpmn5dAGBSwxKpg?*
z>j#5Gtr;2EY%=pQOY9gKf;G_0!RAYAG&OL$uo<oy#>l|poS%})$-u}U$iu+SzyV?j
z^DuBSaDiB&JPh0nJX{RS4B|WtybKbI49prJP5eHYd8vM-xk;%-A&E&jsf-LlKKaRs
zIbn%KnIJw?kOdTSj0|dMZo=kn6(f*WGr(ca$e^SFcW!cOUaEd(UO{PzzHfeMaVj`&
ztTn?p859_l*clWV8Mt%u(=(GHvChMw%%H-^z#Qc2!pOkugCt|k$)Lud!Oo!0$RLIq
zjj$l%VbBEW<xkGYFHX%1&n(UWCnPQgZ3bO-1|3EQA<X#UVbBAG3TtvsesL-z11mWF
zFfzy!a6Ti0INXO|Es!K<tr^D7V9dxM3$qBT=eZad8BBQ?WEtcb8MuP;ON)|I-7-OO
zAPsgeM#9$vna0S#8JwA(msnC-l*-892X-HFF0clRV9fzGFsWj!&at+$W@O-Z%>xBN
zW?s5)YDq?Z3Oj=hBZCrZIAe=;9tJxGdqxHpP!eZk(1!;Kauz^KJ+SDq1|>uu&%C_U
zBIlgM;^Nd|1_cI224)6E237`U0Rd2IW?&Ey0;Odz&CS5Wz`(%Fz`(%Ez{kMIz|X+I
z;Kabhz{0@5Aflzcl|evDXDfq{mhM&t5v}bEVjCG47?>C&85kJ27?>Csz&hj@q!<_&
zco-N#dKjb`WWeIG402#u1_nO{Ca_u|tt|{fn;7J`GN@{8VG!BIpoK7v59|hI1}+8_
z20;c@u!&+2T~HGl7=#$~84MU01soY<84RIjYeLQD)Y3k{V6=_F1Ysl_*g=e7qd-n&
jVK4(b-kiY#Oj|NoF)%Q&FjzC#GB|)e#0b{Gz`y_i2D?|H

literal 0
HcmV?d00001

diff --git a/class/application/ColorChooserController$3.class b/class/application/ColorChooserController$3.class
new file mode 100644
index 0000000000000000000000000000000000000000..5230175f9388b5b1ab8302573a7f15d4ca958bd8
GIT binary patch
literal 1354
zcmX^0Z`VEs1_l!bM|K7#Mh2C{f`XjP<iwK9{5*Z<{G9wE=ZyUP;?yGN{JfH){G6QB
zA{AqH1{OvJfvm)`ME#t^ymWp4q^#8B5_SeQMg~ccXj+ASYFTPtiM}g{^hnH0$w@6@
zWMC`F$ShVdU}RA7A#95^BLiPqVvb5O++Ico2{e5$7g;khaDvnpmn5dAGBSwxKpg?*
z>j#5Gtr;2EY%=pQOY9gKf;G_0!RAYAG&OL$uo<oy#>l|poS%})$-u}U$iu+SzyV?j
z^DuBSaDiB&JPh0nJX{RS4B|WtybKbI49prJP5eHYd8vM-xk;%-A&E&jsf-LlKKaRs
zIbn%KnIJw?kOdTSj0|dMZo=kn6=RTBGr(ca$e^SFcW!cOUaEd(UO{PzzHfeMaVj`&
ztTn?p859_l*clWV8Mt%u(=(GHvChMw%%H-^z~bZ+>dMH#>w_d^&B>s~pux_d&d4B!
z8jr9r;$hGPY35JP$S+RK3(qXh0H-7_25kmib_N|r1|iG{;$hGO1q*9(PJVGJBLgcq
z0WmVj6L3ExgE-uaU@ed|XRR5=&S1>QAPchytM9oO7#U1?7-Sjb7#X;N^Gl18Q{6H_
zksu9rFGkAO1DVFiz!{vGo|jlsT9nGj;0JaeayGCAi(t(HHZZATtj@8vvu0%Acg+I@
zL1tdMZ)!<KehNE-4I_gRYB*zycOC{i275*Z7El^zWYC8P3UVGmOFppZvIeC@9?!hI
z)FS7c#Ny)AVg>~UMh0dEMg~>}W&r_Ea%Nx<5CSD;FwM=t!@$76%)r3F%fQFL$iUCQ
zz~IEd#K6M9z#yWfy_G>gOJ^&Cke2RN1`)083}PD@7#NrsBpDbOxEPoi7{EF-7^D~&
z7<d>ML3$XZ8DzlXvJ7%ySq26_1}3mtA+0S8LYo-mw=$?|ZDA1E#-N2TjSuVwT?Q@&
zJqAGreXxmQ5M59c85o2Z^cf5o7zG>|WEl*hW@|#t=G4+Yz+kkE!31F>8`wdNV52}z
kWnnM_JKmhZ0!&*nSTQg#urOFN*fKbPJ;Vss!N9-(0Kv^z8UO$Q

literal 0
HcmV?d00001

diff --git a/class/application/ColorChooserController$4.class b/class/application/ColorChooserController$4.class
new file mode 100644
index 0000000000000000000000000000000000000000..a3193630ce7f52340aabead89fafc6e35d77d3e1
GIT binary patch
literal 1355
zcmX^0Z`VEs1_l!bM|K7#Mh2C{f`XjP<iwK9{5*Z<{G9wE=ZyUP;?yGN{JfH){G6QB
zA{7&M1{OvJfvm)`ME#t^ymWp4q^#8B5_SeQMg~ccXj+ASYFTPtiM}g{^hnH0$w@6@
zWMC`F$ShVdU}RA7A#95^BLiPqVvb5O++Ico2{e5$7g;khaDvnpmn5dAGBSwxKpg?*
z>j#5Gtr;2EY%=pQOY9gKf;G_0!RAYAG&OL$uo<oy#>l|poS%})$-u}U$iu+SzyV?j
z^DuBSaDiB&JPh0nJX{RS4B|WtybKbI49prJP5eHYd8vM-xk;%-A&E&jsf-LlKKaRs
zIbn%KnIJw?kOdTSj0|dMZo=kn6%&wGGr(ca$e^SFcW!cOUaEd(UO{PzzHfeMaVj`&
ztTn?p859_l*clWV8Mt%u(=(GHvChMw%%H-^!0I04>gvbH!0Uq~XU)l=#-PE@pw7r3
zh8mHuK;mK01nK5a&d4uL%?r;g&HyJRE(UD|U3LZ?Mg}3w7~)~j1BDA~a!!76DkB3c
zI0Z2>$P@4YBZD~Hk6<m3L}#rT#?D~O$RG=|2&?zG7#JB$c^G6F<QN&ag7Zs@l2hF>
zL9rkWb}vTK*8`cx$iNw#nVy$eQd*SC$lwQdA96mh28&?L12!<JVyw=wwzFnr;CIaf
z1wm$Bx^HSpMt%xAgAF5t5^6YOi+COeI|h431{P2vXJpWa2MTf~KubTc=&}YSMIO(*
zywoD+oW$bd)M5q&21W*E21W)}24(>PP<m!y5D)^TW-!goz{9}6z|6qFz{|kLz{tSQ
zz`)?dz{J49z`!7)rM;CwKuc#UgOHZ)Rt6ER?F?cY85kIt7$g}O7`Pai7#P4hj2NUC
z7#MgM7(sd%q#0zu;<5~KU|9wRKL#eSS|P113__b2<hL@YYHeW<*~XxSFpUrF26F~3
z1`7s321~GsVh~+W6B!tU81xwo7#IZ{8Dtp@p=N7B&F0k7KEPnKjll$ABpcX4j9{Zc
lPGw;*13TWF!2(QMGFUM%Ft9LKGuSdXfIY+r*1^EQ003~fSdIVy

literal 0
HcmV?d00001

diff --git a/class/application/ColorChooserController.class b/class/application/ColorChooserController.class
new file mode 100644
index 0000000000000000000000000000000000000000..ba11f7c2f89e2ed9473d440537ec127f2ec99b69
GIT binary patch
literal 1283
zcmX^0Z`VEs1_l!bD|QAZMh2zCf`XjP<iwK9{5*Z<{G9wE=ZyUP;?yGN{JfH){G6QB
zB6bEAMh1bb#Ii*FoW#6zegCAa)Z`LI2Ckyi<dVqLoSgh}Mg}<_kb<-d{o>@*yj1<-
zjKqRe{h-w3lEl39oK$N@2Fak(ypqh^)UeFr%%q%D$Gp7!60ohsj0{3B&1n_6Ir?r9
zzCPBB4D2A|gHlr%88|>Jr<~GMMg~q0)4eD)HII>j%_cK1v&4>(fmuT{jFExGIX@+p
zi-DOzfQNyHftQhi-zPIK)vq)+DYYmhF)1e%WKVu_Voq3MQ6`8F6=W&N$Sh`LQ1Kxg
z64s0iEFe1>8T2(^PA)D<Oi$Gh29efiM!*8lS~HB3fssLihk=!Wjh#V?kwJy9T`GoL
z43Z2oAiu~mG6ZX&nT;)?aN3W}t(sw64Dt+$><kKw3^MrQj)y^sL79<3usF5EKhHP6
zv^do{Co?%46ftt}P)IFH%`4G&1(6<!c_}%mMNm(x@-T3MJgrWgr;WH6)EHzyp{2#c
zzy;E%L!3rqE(UFgMtvRzZjeSp;xw9YF&Hq&Ffy=$Ba)Fp1Y2M+GH@ls^8+J;1X^Uk
zBbt$cD>%QjC^^+F6O`Vhv1cefP;fIc@Ob9sr4~8oBo-H^7BeU^FfuSRFfgz%FoBW@
z10w@F0|Nsa10w?m0|NsSC=@ZoxWMwL>bS9pF@iD#10w?;0|SFT10w??0|NuA)^-N|
zjbNh%p%yVPa4`rmFfi~y6fg)gh%hiPFfxcTh(R?^W?%z5(p75<gZOR+$w)07?d=TG
z+Zg1uwlJvdW>A9&Xg~xscQa^11au(+db=46AOc3)7~~L^i!rb=FffQP2r|eqC^2X-
z7&90#xG>m)9isrT5b78P23H1S1{1IYT^URn%ovy$m>A5#-mqY>WME)WVqjsAWPkuQ
M2*sccr41l70964uqW}N^

literal 0
HcmV?d00001

diff --git a/class/application/Controller$1.class b/class/application/Controller$1.class
index 51b66919e71c48372e4c9fa9a1ea11909dccc0b2..154ab12fbf846e42a90063e45e5a95853ff7e53a 100644
GIT binary patch
delta 975
zcmdnZbBdem)W2Q(7#J8#7$PQeRr0XeWaed-*fBClYxqnQ5R<dk3}a+qan4Uk<z!%F
z;N@XpXW-ysU}oUwVc=vCn9Rpm&&|mo!63!XAj!xeHc>#Vo`*r2L57imB|R}Wm63tR
zCnrBWGg;p~F*ntki$RV-ft^8~k%0>#%EO?@pv1_)nOPiEnwOWEm(Iw*tf3hNQmewl
zpvs`e$RLoOTH;(<RFs-m5|EQvnOX!^;t5is!NZ`*pvB0*nVt%fo4kNYtX_^mhlfFz
zL64DvJw3I=B{eylk%3P`6Y3TaAM6$b9tJ}OBSr>pu%g5ikOU)x5RyWOm^BxJ34<9s
zgDKqMAeB4}<_s2$3>+y%iRI3TMJbF7avBgD>h)bxp*mr9f)rSDF<3F!urpXQGVnnB
z5AhAiAX`QTeyDDJuv*P9kZOC7Hyjul#5FX1vJ%S@^-D`KbMzgHiV`b*GK)*BxfmoE
zoOl?V8C)0{c#EMyP-Fmd9wUQ<239>FljRuPco^In1Q;1uK+d16$gIQ18(fl@ob8)f
z5R#ablRCMZS%$@zkwJE{9*Zm&7Xu@MKM#W_gV^Lt%oFOvz&b%Gg^_{BGcPZ-$T=sm
zxHz?#L4kphfti7kft7(#Kme3j7#J9s85kHi89+vGGcYh%FfcJNF)%Q2X=!g|;L+O7
zz_*csfq{uZ5F`ec0qM445Mp3p;9+0{iwZM{FfcGMg6wBtWZ<r6U|?9wzzkL#r?rKF
zXA6V)HU`<548d@YGRp!6S2#}{&eDdn^tUk>Z)30o@j)1Dg!(oHyKM}PaK0<ZY0O}!
zi7~J;FfiCNNHaJx)Y~&SF$6QXGsH4@g54<waS8*(oeT_d3?2-g42%q33=E)<_{|V2
z;K(4#;0<y-0|SF5Gzd7gv=1=&Y-8{PSpx|HHn5Kw!KQ*jiG?8m96EsvL0~$VA%uZJ
VjDdwgf+3V492_`|U@Z&`3;-f*w+sLP

literal 1595
zcmX^0Z`VEs1_l#`7<L9GMh1z*f`XjP<iwK9{5*Z<{JfH){G6QBA{9e+1{OvJfvm)`
zME#t^ymWp4q^#8B5_SeQMg~ccXj+ASYFTPtiM}g{^hnH0$w@6@WMC`F$ShVdU}TW+
z!EUlOBLinyVvb5#VoqiXBLia;BLfGBpPX2f!pOkmlarsGnXK=eSd?PT$iQZknU`5&
z$H<_efy=lkWF4Aej0`N!`6;QK42%qdJPhm%93Yl34+AFy7l<Xw!@$kJ!^ObNAkM?U
z%OJtXz^nn%#P5@tm+DuVo0M7<l9-f}%E%z(lb@WJ6P8$%3F1QqSwOyHWRSw)7!^a1
zn=`;+!N{Pb;R6k*;^fr4RQ=4ng3=Ow-~7_zRB)JCYld+#C@?6oGbl1La3TE7!=TKd
z!pOj$o>~%8Spag1h9;6HL1NaN3~CG-><sFR415TUAQ>J8O$IGS29|J79~VXj0d##_
z3~CHIJPf)FdW;NgsfDG9ImL_&q7a87$FsF&6vzq#9tJ~@ahxtej^Xic{-Hsf48{zm
z><lK13}V>hmxsZO!JLtSB|R}W6%n8AiMgrPTnv^B*6a*caNmMNc^GUMY#A9i(^E?V
zauO>+X-EL>Ux<h`7lS>6BRhiwBLfe_w-9k21}6q*Mh1?8oWx2{f?;Hk(m?XCHFBtd
zEq4X!aARbUK~V<NlAn`bWDQCTtl)&r$RJN3{umi}@>0vgGmA5vL3$Y(cu|aEWZ(@h
zNlec6O)LN>A9e;`Mh0$(2cR0nAt8^Nm#j6z*ck#C8D#OM9xet(h9DjWSq3>q2Cm@z
z(xT*4w@gsN<wxXVJ&*~E44lE4>3NAIrA4WX41Qogp+q%U1l0-9>}&&*!jXXOtQi^j
zUGtK2@{2R`(tT4)GV)V+7$O;>7#X;di&7IyQX$czixS>ZnrO!6CZ?zAdxFTY%+zvg
zMg|_wyu8#R=bXgi;?!aW1qMb2W(GzERt9DP0Z^7^U=R=jWoR(X&A`LJz`)GFz`)DE
z$H2(I&%nUo#K6SB!oa{FqNTl+K|o7pD}#`h?p6j7t?dkA8yOfFm>47(7#O%1m>3wq
zI{X==7#J9M7#Kl%7^E3wz~ZtDa$s2ohQ$obU>jVtwlE0IWUy!S)!M=!vW-E06NBnD
z2JKl4f^fe6HU{l*tt|`!TNsR>)HVhSh_s!~HU<}v{mfwd#TZx_7#Knr*crkYI2j@s
z)EQzKoEhT5Zc%{P2XzYrgA0Q@g9ig611EzOgC~O*0~3Qc0|Ns$1JfS{b#?}yUkuU$
zjtsI4eozN%GBANX$El@#fWdzoLm<djh_BhezGMX30`fl#Lohf*LKs59bQnW80|NsK
SgE2z{Lo_&)7{NLi7#IL?h<~X7

diff --git a/class/application/Controller$2.class b/class/application/Controller$2.class
new file mode 100644
index 0000000000000000000000000000000000000000..6a6a82ff33f514c2bb8a046e5a3be2ca0f72c852
GIT binary patch
literal 3337
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

literal 0
HcmV?d00001

diff --git a/class/application/Controller$3.class b/class/application/Controller$3.class
new file mode 100644
index 0000000000000000000000000000000000000000..091fa891b3c63021ded8942c8403116b95207def
GIT binary patch
literal 1310
zcmX^0Z`VEs1_l!b7j_0FMh1z*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!EUlOBLhcSVvb63Vo?es1CLKmetKrIzH?$xiZvsH07xb;wLCntIKw$VC%=f1ffuF%
z#I<H*V6(~0%Pg^DWH8adWdlqH$V?a;tXngTk%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~Dj0`O4iMgqWaCA@1O||A?P-D<wXHaKk;DUrMNR)>`lR=A-fipd|Bp@fT5)@Yg
z8k*4HfrwahG3YSpu`}p0GVnk&Ld1C(^cf5o88`}Z5-ULw#mFF~0o4fNTEk2Mb3m3G
zfpi!%GRUAPgK2?B1uHlKfx-)CKrk|hqXiQzfY=!<7#SpRY2;#HWU%64kY$i#WZ(+U
zFD*(=b;|_B8$TkA>wz>gGH?cGrspM=loq8jGI)Zc1UbQ5gGI0=b{kYF<oL6*W@O-Z
z%}dV7FV4(M_f0Ly$WP&6aAa^|WDv^DFG~f5R7k!{YGR5@YH~IsgB9G9#mT98srs3@
ziRr2Oo**(TGqv0r7IausG>>OqUTTqZPGWI!YB7TX10w@710w?~1G9htD1|dH2nd1F
zH<;#T;9+23U}j)o;AP-rU}WHDU|?`!U}9ilU|<l@(%#A-prx~wK}bt?D}#vEb_TJH
z3=9lR43Z2C3|tIM3=Ci$hZ&?87#MgM7(sd%q#0zu;<5~KU|9x+2nJ@bS_Q2w3<6si
z<e}6y234&s3_{x&w6(S{h-_mpL^t~cgFM4Yu-Re|{ZO+R7!(*x7)%)$1soY<8O)%z
zXfiN?RdH%*A7C)w#$bssjt%TIMzB#JN3$?kgS}zHU<;=080;As7+4q-7#tX!!Cqqo
J>tJAD005)SJuUzM

literal 0
HcmV?d00001

diff --git a/class/application/Controller$4.class b/class/application/Controller$4.class
new file mode 100644
index 0000000000000000000000000000000000000000..5200445f2fd0a8b6748aea9edda41cde39bc77c0
GIT binary patch
literal 1297
zcmX^0Z`VEs1_l!b7j_0FMh1z*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!EUlOBLiDmVvb5;CL;rvPfmV%X0pDcr!^x32S_wIu_%R+fd?w?oLH1%&B!1ClF3Ug
z56>*laL&)kFJffig{c5>K}OnS=4F=HF*4X`;IbF0!_m_k$^x4XV}s4n3}a+qan4Uk
z<z!%F5awZEXW#&_M0prE8Mr_!aUKS41|ASgl81qpfsc!UnL(O|fuBK!k%3tQq@CX<
zGcVPzG&d==C?qi{CzX*w$R|HJF()jsC=<ko3bKHLiIG7HhhtStKz_;q2Pz|jtcDLt
zh&v{OVhbGZ)|z3Q3@Qw2><p@m3}V<roQFZ3L4%QjB|R}W6%n@XiMgrPTnt(aI_wPE
zj0_yGnBZa1Wzb_};3&vRtOSJ+BZHI%ERaCap^41lVlZGZVrMX9WZ;762bl^o!I+Uj
z21Of87d)I<!Knun1UUW1$RLj9bC{pm87vqXByefuVqj#j;$cu^P-0}@3eGPrN=|jl
z1VsfuB7y6HG&3@A24|+{C6<&Hr7|*jf<qZOwOfNlu%>hyR4L>rv9o4m;CIbS&dD#%
z%uDx8Ey>7F;bCxOaAIT-$;~fIb@T*<Ye>FJYGR5@YH~IsgBmQT2qjJ)&%C_UBIlgM
z;^Nd|1_cI224)6E237_Z0Rd2AWnd5x0wq;2&CS3Arg<6o7#J9s85kJ&83Y&@83Y*^
z7(5u57+4t?7^Jkcw=xK6>1<^X(bC<@Af_eBvXwzXYdeF~Mg|53CI(ps1_mw$CI$uu
zMg~!a&kS-53=BLBj3Av1@(c=KaYY6tsHs5=%wV-rT3Z-|wlFAbZDA16+QJ~VjX_gu
z3xmWq27Po>e=tZg`~;gS2GI#Mm4QKu!Gyt-fl<JbL6N}>YQ81|6Id0emi7S#^KA^4
u2;<nmj$#BG1#&J6gEiO#HVn34+K$1Vfq{XAL50DA!5Qo+Mz9VB1_l7;v@_cP

literal 0
HcmV?d00001

diff --git a/class/application/Controller.class b/class/application/Controller.class
index 6266957965d0fc7670da3eab97f411957e16d2aa..6afc1b70e257b2fdf4f41c1bf254efe22010c1b2 100644
GIT binary patch
literal 10738
zcmX^0Z`VEs1_l!*L3RcvMh3COf`XjP<iwK9{5*Z<{JfH){G6QBB6bEAMh1bb#Ii*F
zoW#6zegCAa)Z`LI2A<61{5+q;;u7b?q7+63IUkUcv<m&=<kY-W{mk6N^i+LM5E+)4
zT5iqAAQ@DeSCW~V8kSj{nUs_2n3tDd0=BD|kwFNiIjtf$N8c^N*T<TXfdgcLOKNg9
zBLiPXQhr51PGV(h5kx==rU7DGPGV(#X^FmvQ+|atBLh1~wWFsYBZE**Vp3|3b7@gg
zYF-IMKO=(-s@`OXPxXC3N<r4<CT8XZB<7_uGAN*`gxcbmmz<Gb1X5wm$iR}Gn48MT
zz~hsXpPrel@1B^OYR$;NpPZ3joSGM&S)AdVpOat2$iNF#0OndVGO!kxB&Me_GKj#f
z0P*#MK_tjnklz^@(7cHhsMd@OY)PegDLJVyRr;kRnK}AFsm1xFMaij7U^$Q~o6Nk-
z5<5l)W)00SMg|t={FGEK24)6%9tLR!8FmImMg|F7F~`B6%*enGwzXIv<RZO-ymT%G
z1qM}+W;I3zQ4O&3AqgY6q$o2l-C8q@lYx;zgNH$!L4t!pi;;l`IbCrw=rHK9Gw8yS
z6xh)|`N@ensXPq&3<iu0?C!2XzK(v8uv7u@7et9Q7lRRl2|I%^)X@+*R6p}Dm@=3#
zGH|A+mOui5k--6rGa(K~vff$~NeI<QYmkpDco-xZq!=0aeKPY>{YrC_Qj0<olR)7w
z1a@3lVo@fD4;5r7$;d2bWRUPd_B|q3f#WzYvjk+aJr4sX0~;3uBZDIkgA;=@BZF{q
zQEFmIs%vgRNu^U_ayBH3$!I{Fh%J*@b1}FwxU)03F*3;DicU~Q<YDk&@ML7*C{8T_
zXHG^2SxDeuH53$=-VDC%3_gquvZ%)96_l3f`{tJxr@EG<=9Ta;_%Zl1GVuEPhX%XG
zJNtM#d%L=Tybslt3R0vGRvJ=SkZR4&5Xi_Nfjw+g47nHr7=l4*EQFCkS_4-QYKDP4
z9mc~D&Je-Kz@M0s0yf_x5tJ>87#YmqK0~)19MfqP`bgqXUDldm><m$i3|xr(%*7DN
z5Cd{dEF*&qPRDqH!ite0o`*q@K?tNJk%u9PA(@eZJukH!R4gzuuxNOKvLGnz!TFq#
zK^*QvaB%?5{t%PWc^E_)#26Vwi&IO$WfMv<21++sJPf=Hd|V7U40-Gfxr_`_(6EM-
zi74e74?{kK8Y2UHacW6OYDEbn14{{*f)u<c`InJ_8*C%2VCUC>6<vu%DbU<q%EQ14
zNwMWT3>6HOj0{|m6bnhHx+q$raHm>OiUg<JY959fP{QX(ho?)HWN^I#D_KD%TXQfp
zFfxch3nY-dZc<`$HmFo$WZ;9i0Fhl3@MIUb#Vw$S^<;AhYhVBYP=e~<Vd!M&Vr1Yc
zPAzfEEb&OqOwRy?n1+jH7@LC+LSY{dLqA9%D7@S<OTsf#N-`K3IKj>XS-{RPiIG7Z
z6e-97>{ObWlagA*!7zo9fgP;2Sf7hwB7-Uy!*qt3><lyDi4Wvu9)?*Avl$uK(^E@8
z`G%1}NJA4TK0spDAl-9$80Im|XJlYYEGS6LOJQWtg(NMA&5$}9R>Fa+aY$(mb&NF!
z!$L*|MqQ9ei$NwWK{EiN8jk@W$1meySkAD5kpUEm;Chacfgj;oP(5hP!LW*vfdv#{
zAgk8!Fsx-*$H>4@k`J+fkwF9+X%KfqM6KBwHZU^Cg8~v>N(JX778GaXmjomhCFZ7<
zq!tx(F|22h2gToJ9)>LpTR~+UR1G6TIwUag=(dIx36RVKju-v#qRbLdkq#~?p`M4E
zflUb)!*+(9><l{?85B@li$yID!!Cy1j0}9~sU-oK6{$Hvsfj76MT`te&;UTQ2T6@J
zH^W|r{p<|;7#ZZS*n*@I6dwl|8RRrPJ<;-DL1JcJi9R@ztU-=G#KUly;Rup*Kwc;0
z9Ecigc7|in>KN{3B;&aljxwC!VK~WfijjdWJ+&k#H3i%jaREu3;bAxnk^rR`_oCF)
zJdogd9)=4bK~S1^$|+3+iCyAhxC|2GN>45EFGx(zEU9F(zibQ!Ao=T{Y<z=}fnCGJ
z#l=N4jGN&W!yR^p+jxQq;(8v2yA1b0X(hD;92$%a@*19=sEGl|H`bs!XFJ0K9)^b?
z=YSd+kn#Z(h>v*~o`6I_z5y2o><rIvS8_&N3{M$efZY9(ks%Iey%L3#+pTfcgsAR?
zq&9G(1r<Zqph}0eEHNiDg^__VijhGHn{rTaAksP`17igv1EVJ+17js414n*N3N&=k
zTBOK9!^pq_YC1DA@CKJ8CTII57C@UqLb>^6si49vB;O@9F$L0sw?fO3=#ED5Hl#8J
zI{{n+eP{T|&hP_TxTaO;r>ExUrj`^{>IdX!=9L(^@G$&h_|3?`66G4?&&VJN^DnwG
zaMkmdhv6T?e?|tL98fDXBtIC`e_>=Wfx8bw7d$Uv$gndqGBT(@Gi734W-hpcqaRX~
zm{**WSdt26WP&<aT#O71@@x+E4xn0xfs2uik%OI)osmHVsu|ocbtx?Z8^FWJ$;idX
zz?PetlLKm0N@}>k-GHLdnv0Qvk%xzomyr)rjl)b}WRQgW2UUk=7)Xx*52GNX5Tt?N
zm!Fc#$RGw+4=E8rqM+2z$iOJV!zc=B+3*&pmN-`?=cGF4m*$m#j1lKylwg!(WZ)}K
zEpaR@$qz~`OD!r+1vP!5AQnmUFv@`HOi&}pttdY?0;Eljhfy9`Fp`VmJEI~GqY@}L
zv81P#fK{pRFsg!7v4I*f`4J#B>O71ZFg1}NleBmkwGnC}*%@_lXFy{vMjb|d9tLSf
z18{U>Z;V>wNr)gDjd&Q18BG`&K!M?(=a!k5S)2hX;^g4rhqaLj(rU)TXwD$R$iPyN
zlUT{fz*3f(TF%J8lb2eK)N$kiHFE;;i@~Xek%1>AH8~r>6)wR{T8s>8umq1c30gBU
zh=6jYqbGXaRD-qO96j-QpOb-+(UFINpFx0&(V5YeozVroxW(u(^Dw$Gx-&9xr>B-U
zXJqE26s6`dGN>Y|ykyXjLoz6X6zlsZ6{i-JfyyMG%;FMjZbnZ=Z+1p6Mg~P_9>J}c
zhtY@87c_!Ul3J8l0_uN@LG6I_7(Jol*6fV_j10mc^B@wAMMa5~AnUjo{TSrA8G{%@
z*cpQv8H5l@V0w8NLm5FG>O62m8nxX5ZEvwNMldo6g0#YGMo>25Vhm@D;$e&iHGNn?
z4c-(E##lxMro>Dx#(2g=cE$u)?-;42#>1Gzn9Rt)mReYvm{W|_^@iG~8O6ou$C%2)
zm<CeHoS2dV@<9d<V<ux3Xjmk%*bnSjW)00KcE%i-E#LwnC^0W3KbMO!n?W9ANInl^
z0b?N}150scRVui`_T*yBW-R7mEMY7KcWNq1JoCWKVoyy^kdAU5#tKkn!JM920&*U-
z$pLA|K^@4+Sj||=&R7Gp8REan;*!){9>zMxdPWB3{8Er^a01rP%-0Vn%FHVXE-6Y)
z%(doXY-DU^XKaGS7^*Z6V+&&|BLjN@NJmZ{$O#Zrz?MKApc%%_*p9nMFyUfsW9$SK
z30;f~b~x)~Xpw+FcQ7(=A=EK4u;%5bq!u$WD1#l9R-unO^@1`cSQR8q!V;V{BLi<i
zeld9T43vyOi2z9%Jn4c)z>*<DUW^RFU==9I4>TxL1deUgAr?pqux4c70u@A%5e`NM
zG1S40%7RpAt!@D`8MjAlU`mjx5Ibu|21w<F>N{L&wZLXT)WW@pOEIVrh79vT8W|Fh
zLKsaqxIx4joSB}NSW;S)%E+LGRhbPm`aq?lwVkzQ7zZP$g9R$AQ;R?uYatKgB2f9w
zR+I`VM?smun~TAfaVZbuGEi@u6*S0_0xGvs*&OV^6+HtN<7&pW?2Kzra)3*IX;Mxq
z592z<^^6ScWr;bZss3r81Pra_A$bU*${JMGZscLy#JHJ}fxkGl#3{d|BtI82D9Om6
z0r3iIghPT5oDZOefO@i#Fc&#9Zs%d#0WuF1em<#bB{0)iK(!4c1A8*4f(La6xS<IP
z6eh5=j260R!N$lSRGeB825NmG#|*4{3NCx#@e1jMp&1B{E>DQR(4^4pg7_2FNHis&
zR)`<tK_13Kpdyk3G)R(|nODrnzzJ?3Ly`>_sQKb)2;y)tFftzFVQ6G%0)_ht9>$ZP
zZ~_etgya{%f{8UTDZjLYo$(B=F&M|3)S?nj#&e7p*cs0wT8NNr0dhl8evUp^kqVdu
zb?bQ;FEU<YWZ?GnbMp`Kbqw+J_d}}L@oKf^Vm!@w1yqb(Wn|EVgd99Y;IIyyzOOSf
zupOS0lv<>~!FZFAfg`b?Krb&bH<gRQi19WL;~mDkkbzZ5zZ{Wqz)1@t2<;|Ak}OmR
z<ed9Fj1NGW0@Uye$t=l91qnXlVSEe{1f@F<a0eJPI>o{Gl#ziqEVZaOGe6Ht0R%W0
zpEEM>fEtsT`FUU`aWKAQWZ>iFa!D*H&4nmZ;9z`>q$(w`B$b2lEhB>>FBhmWS_D<4
zpb(Uwlv-4x;GUn8lAD;9$IAtB%X=Qi4<NUI+OD8++SEMoP#H+-6A$BO#xINvyy>YW
zE}4lr`RSn1e?|snXrlrnY!QmAxfs7O{$OYPjy`|^iw1;J9>$-HzaXP0&^`#P(E>Lg
zEN;!k_=oWyJL6wyvjkO^hw(oX10<HhGxJjN%R!@zkOCK^5H!D_50S8DXJSG!0xSa_
zm*iq%WMbiAVg<F-Kz&)y<ovv1F2>VL>^w{yOq`&eMMi$PV_r&lVrB`brvNb?k~jSe
zK&`jL9MBv`A}HD8oNxiBbZbTi?i6s4f~{s`;0gxMU$|w0M%MX35doQo(gQW47#Vmx
z^YT)QoO2S3i$S$1C)f~Bc41ItU}RusU|`^8U;+(JGB7f*GcYi)F)%W4FfcGMfri*I
z#JCu^F~oSVi19M;VW{J05I_@S1P%Q%FfcGO2s4O)X;B6-FfGm?!N9;E1e!o#U;vvX
z%^<_T$RNwWz!1W~!obMDz#yl!ok31(H-kc?kkWPrm8}fwT0)we7_@gV7;a@S-w5`D
zCD;@e1_lOo1{MYr20;c>23ZDm1}g>z1|Enh4Au-bU^{K$Hsms}g5`|0wlLUfZD(-U
z#^3^CZesA-%@7c&wVfeo8$+npZidK6Etc&J(OVhfw6-wBacpBqKv*lrz{<eDV9CJE
zV8tNI;LD)J;KyLZ;E!arG2H4DhE%BM>=>9Bm_X5>rM;CQ4PhD=STvY{l_3Odf*6?3
z1~mZ`ZJ?lIWME{-U{Hga<p?#4Q)>%DruH_5Y;@xy7&sUrk&NSn8^_5|z);8lGOmcB
z7;2m+0}I$vL9HzeC0g1n+ZoEXF;s11a6vaVmO+3a4#`+SxUqr^wG4F(j0{YmSsSRa
zCJfBrz~%zSWc_vql@0Ky10_ZVh9t0Akm%xqn#BaFVW1`?GO&UjrnsBIH4<*hc7|pj
zZ4rjnZ4B+&A`IQz7<#o41`9EO(nLCgAVUU&1Vbi+JVQ3v5=gKrLM;(w5MY=9&Jj$Y
zL3@aGj4K%U!8zn6%(~qS6C;HtZ)cdQy^UeoHikJu3$`&V(%#0f6vSS+jbYI?hSl2{
zRJJoT`{_a)qziG7%q)gF-Q5i9BeyebWZcHE$%=*9jCDCf1hX02at3EfmTe5%L|H}I
zb~5Z?X0T!h@ehLdyBUr~O0sWbI1VCCgNSn=;-Uz{mF(>d*LE`8WMODwV-#g;2Wh!K
zWA^{;Ev$^9tYGe=8MFT{(gjJlXj!r7f|K;qNG%y{NfzDh49~YQgzAEViJ1YEb?g}U
z85kG}7>pST8LSwJ7#tZ&7+e|37=jtf86p`f8R8kL8S)uw80IikGOT7OXV}G1&v1aD
zk>M~yGsAU;P2eDnVc=w7V7LhlQV<K020*M=46hlO7>pT~frFWuA($bTVGF|>1{Q`e
zh7^Xk4DT3N8Dbdx8QwFzV_;**XV7K%!0?fQo#8Np7{ez98wM7J&kPI<;tZ_+7$Vsj
zT-h16GyY*<Wwigr!1t3ukb#lm3&U4vtVuAify=i#?M)2dwlVy%VgV&%D4TURBSYkN
zMkXsZNj4Ei<{gZz+Zeee*|fJY@=LO@Y-1FbWMkgOC??6qw~bK>Ov*~KNwREXRFGud
z#;A~9zKu~CBA^BmPy-2QO0w-{)QQy6(cR9dw~f(Il5HEKDI%*_G4L@kFl=YwWZ1zV
z%CL(;j$t>0Cc_>EeTKaZrVRTStQqz*I5HeyaA!Ek5W#SWA(P=SLj}VbhFXTR;9&KD
z_y!)Vb&M9^l*+(R2hL<n3=9l)jFt={49pCi45f@#48Ivz7(^K|8Lb(9Gq5tqF(feB
zFxrCjFxoNNLqdtEn1P*vmw|y%Lu(78!!|}ID;7zXos1rg3|6eW8T}%+GX_|(EoV@b
zWZlUa$jESjG2Dt>l6@Ovq%dR5HpaM_4BV1zAbv_XNJTm$!>s?;cQa;3ZfDE|DFg*U
z-ZsV}GY&~MQI2hlWd|5stvDq)L3tLQiFA-Mkq$;C+Q#4_$q9`$E~FUb-o#i1li0@C
z0E<r^NghOe@<?)mB9sRlp*-LS<pD=1h?JG&k>mzNC>JO~LGcOZt4VTgV^mAu#;7UD
zvzxIkQcD{YpB<q1<blQ~3plG}F-S2mFkEEdWVpm2#BiBGn&AqA9K$sREr#n177RBT
z92l-Jcrn~#2xhp?5YO<CA)Db5!)%5p3`-fFGHhgc&aj{16~hUJ*9?~#-Z0!^c+2pB
z;T^*>hW89_7(Ot3V))3&#PEqxh~YD%62l*G{P%&<52FSw{uwnGV;Q?a1u3HjEdCia
zVDZl=&)CD*%fP}Q#3;t-!`R2b${@|i%h=BdD&4dg#26<sPGVqZ2xhp-IGJ$@13N=J
z!%4=e4DT2?7_u4mf>RbJ!%~K3a4O<r*vL>0PDR`dC!nc_hjAJM1A_u6t%2>D4!3It
z+^(4nY~bw5&%pGLL5`i#lbtb$ozYK`fst_*<7@^d#yOyJpK&gzk_S5x)C`#kO^Cia
z;AH5xoIy?(miEBuZXP(@aq8}5T)@bnyOR-|=<c(av1o5&TntLA{*r7E4Ghz*ShXZs
zLG>0WF$y!z+s3#AYP=--PR8X-4B?XOB8)3`Fs|CcxB<l6BFZA*p3$BR7TMOq!U!@8
zY{ObmPKLz16N3P#3B$m_$jHFY$iyJT$ikq`$i|?{$i!gA$i-mE$iv{r$j1=QD8LZU
zD9Dh<D8x|7D9q5!D8|so$ipy$Q34#JkQ_Y|7NZO^8Fw;H0Jp{_f@6<~fuErZ9DAU`
zIe~E(!#f5R20sP|#@!5c46F>{4CagzL8Tl#E*QXO?17sxodIUX3<hR!T&Od!{ACb=
z#D&y<1`!5!b_PavMn8xMBLh2Q5Cg++25$yN#=VUD;BmAc6h}<_46NX?eG@bg{dB=`
zWW}<aK><{3KuQRtSmFYSE?{H;QQ%O#!(zq?jwklz3@M;E0BK>EZpEepDk=`lWZ>75
zWCKSS$8rW9ElD=!?F?mB9FiQUk;egzJPt(UafmQ(5oJY=JXS`K1z>AuAR^C?L70Jo
zQHFtoQI<h~QI0{FQGr2|QHjBTQI5fiQH{ZtQG+3fQHLR#QI8>oQJ*25(TJgd(UhTr
z(VU^3(Sl(Tqb0)<MjM9Zj2a9Z8STIk390cm!6R}LG$I)oHZdM%oWQ`u0GibWWk_ZQ
z0ft53C}m-=WhezlDJw$|Lnt^(*%(q7n88uX!B7B=Tn=#LYJr<CAag;H3o&;O+}!C5
zFmq=>Ysgdvw!aL*kVuvJ&mhXc0gGnTnEub8fGNe!Fddu>{(z)h|1+3@Xh<SK)y=@j
zcmyLOcQdepTT9cRi3DdxhEyPUGO`aS^Fb2`tJZeLqmW!2gD)2!$DfNgAQA#37dta>
zFuE}CGrBSeF}gFTGkP-UGP*LDG5RuCGWs+4F$OY(Fa|TkForN>GlnvhF@`a8Fh(+T
zGx{@3WsC+#J|q`UgGc@}XykJ+^ucp+J2=Wgxi}Ua<)B<_3yyM7^Byx7gUkR$G{g)@
zE(V!FVlMVzU}QW6@8rB<U;%gkChTTB9l43|>~_Y>KH8vKSeWtJc7~~1TNuoR8E<T3
zyaj2%ZezTsjU>kS5UTbGT<tT6T4BZ)+ZYx>l)i!qy@46>PJ0{U$8C&Xw=w=cz{KdQ
zvyF*aYYT%qBm--2V`2*jMF|tQN>u_S9L9JCZpH)#O~yn9bH*fwJjP^(8pafcF2+=b
ze#SI#kb|ln28IdHAm?UiW#VE2byI5?M3{IOKuvlkCSFk8!o<e}YR_shurdTd#_|}R
ULTE-EDBT97&oQ265^#_N0H&JZTmS$7

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

diff --git a/class/application/MainGUI.fxml b/class/application/MainGUI.fxml
index a6a521c..74c58d8 100644
--- a/class/application/MainGUI.fxml
+++ b/class/application/MainGUI.fxml
@@ -6,12 +6,12 @@
 <?import javafx.scene.layout.HBox?>
 <?import javafx.scene.text.Font?>
 
-<AnchorPane 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="600.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/8.0.65" xmlns:fx="http://javafx.com/fxml/1" fx:controller="application.Controller">
    <children>
-      <HBox fx:id="hboxPlayerDeck" alignment="CENTER" layoutX="83.0" layoutY="450.0" prefHeight="107.0" prefWidth="634.0" />
+      <HBox fx:id="hboxPlayerDeck" alignment="CENTER" layoutX="85.0" layoutY="453.0" prefHeight="107.0" prefWidth="634.0" />
       <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" />
-      <HBox fx:id="hboxAI1" layoutX="246.0" layoutY="31.0" prefHeight="107.0" prefWidth="309.0" />
+      <HBox fx:id="hboxAI1" layoutX="246.0" layoutY="44.0" prefHeight="107.0" prefWidth="309.0" />
       <Label fx:id="labelCurrentPlayer" alignment="CENTER" contentDisplay="CENTER" layoutX="320.0" layoutY="377.0" prefHeight="31.0" prefWidth="162.0" textAlignment="CENTER">
          <font>
             <Font name="System Bold" size="19.0" />
diff --git a/class/images/SEVEN-GREEN.png b/class/images/SEVEN-GREEN.png
index 04d0ccf7fb9d9e16f180a580ef3d01c53c35c8cf..aa8e061313d5762341ae9c3fdced136162675849 100644
GIT binary patch
delta 9864
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
P0|SGntDnm{r-UW|oscDG

delta 5217
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
Zib+`lmO7Ur7#J8BJYD@<);T3K0RU*n7Qg@i

diff --git a/class/logic/AI.class b/class/logic/AI.class
index 653ed62e7299254dd07b0cfe2810c0db4bc913c5..cfd69f7bb8728c5a71b60f2deeaeb448adb0a207 100644
GIT binary patch
delta 3140
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

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

diff --git a/class/logic/Game.class b/class/logic/Game.class
index c148f6bd2cd1beeec9a4af410ccf6433248bb8e8..fa7e6721b5cbc646c4da8a106395a6fc9f946aef 100644
GIT binary patch
literal 6453
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
D@Dl>V

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

diff --git a/class/logic/Player.class b/class/logic/Player.class
index 8f921401c014056841767dd73eb99de384d60a20..a991580beea6eb679688e8daee102f1c1ff3f109 100644
GIT binary patch
delta 2293
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
XSh*OO|9~n~aV~ZSMuwB%_&WsvYjxI^

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

diff --git a/src/application/ColorChooser.fxml b/src/application/ColorChooser.fxml
new file mode 100644
index 0000000..38868c9
--- /dev/null
+++ b/src/application/ColorChooser.fxml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<?import javafx.scene.control.Label?>
+<?import javafx.scene.layout.AnchorPane?>
+<?import javafx.scene.shape.Rectangle?>
+<?import javafx.scene.text.Font?>
+
+<AnchorPane prefHeight="300.0" prefWidth="300.0" xmlns="http://javafx.com/javafx/8.0.65" xmlns:fx="http://javafx.com/fxml/1" fx:controller="application.ColorChooserController">
+   <children>
+      <Label layoutX="39.0" layoutY="29.0" text="Wähle deine Wunschfarbe">
+         <font>
+            <Font name="System Bold" size="18.0" />
+         </font>
+      </Label>
+      <Rectangle fx:id="rectRed" arcHeight="5.0" arcWidth="5.0" fill="#ff1f1f" height="58.0" layoutX="170.0" layoutY="101.0" stroke="BLACK" strokeType="INSIDE" strokeWidth="0.0" width="58.0" />
+      <Rectangle fx:id="rectYellow" arcHeight="5.0" arcWidth="5.0" fill="#ffd821" height="58.0" layoutX="73.0" layoutY="101.0" stroke="BLACK" strokeType="INSIDE" strokeWidth="0.0" width="58.0" />
+      <Rectangle fx:id="rectGreen" arcHeight="5.0" arcWidth="5.0" fill="#44a119" height="58.0" layoutX="170.0" layoutY="190.0" stroke="BLACK" strokeType="INSIDE" strokeWidth="0.0" width="58.0" />
+      <Rectangle fx:id="rectBlue" arcHeight="5.0" arcWidth="5.0" fill="#215eff" height="58.0" layoutX="73.0" layoutY="190.0" stroke="BLACK" strokeType="INSIDE" strokeWidth="0.0" width="58.0" />
+   </children>
+</AnchorPane>
diff --git a/src/application/ColorChooserController.java b/src/application/ColorChooserController.java
new file mode 100644
index 0000000..bdb06d4
--- /dev/null
+++ b/src/application/ColorChooserController.java
@@ -0,0 +1,62 @@
+package application;
+
+import javafx.event.EventHandler;
+import javafx.fxml.FXML;
+import javafx.scene.input.MouseEvent;
+import javafx.scene.shape.Rectangle;
+import javafx.stage.Stage;
+import logic.Color;
+
+public class ColorChooserController
+{
+
+	@FXML private Rectangle rectYellow;
+	@FXML private Rectangle rectRed;
+	@FXML private Rectangle rectBlue;
+	@FXML private Rectangle rectGreen;
+
+	public void init(Stage stage, Controller controller)
+	{
+		rectYellow.setOnMouseClicked(new EventHandler<MouseEvent>()
+		{
+			@Override
+			public void handle(MouseEvent event)
+			{
+				controller.chosenWishColor = Color.YELLOW;
+				stage.close();
+			}
+		});
+
+		rectRed.setOnMouseClicked(new EventHandler<MouseEvent>()
+		{
+			@Override
+			public void handle(MouseEvent event)
+			{
+				controller.chosenWishColor = Color.RED;
+				stage.close();
+			}
+		});
+
+		rectBlue.setOnMouseClicked(new EventHandler<MouseEvent>()
+		{
+			@Override
+			public void handle(MouseEvent event)
+			{
+				controller.chosenWishColor = Color.BLUE;
+				stage.close();
+			}
+		});
+
+		rectGreen.setOnMouseClicked(new EventHandler<MouseEvent>()
+		{
+			@Override
+			public void handle(MouseEvent event)
+			{
+				controller.chosenWishColor = Color.GREEN;
+				stage.close();
+			}
+		});
+		
+		//TODO prevent closing without choosing a color
+	}
+}
\ No newline at end of file
diff --git a/src/application/Controller.java b/src/application/Controller.java
index e889885..a63d076 100644
--- a/src/application/Controller.java
+++ b/src/application/Controller.java
@@ -1,20 +1,36 @@
 package application;
 
+import java.io.IOException;
 import java.util.ArrayList;
+import java.util.Iterator;
 import java.util.Locale;
+import java.util.Random;
 import java.util.ResourceBundle;
 
+import javafx.animation.TranslateTransition;
+import javafx.collections.ObservableList;
+import javafx.event.ActionEvent;
 import javafx.event.EventHandler;
 import javafx.fxml.FXML;
-import javafx.geometry.Insets;
+import javafx.fxml.FXMLLoader;
+import javafx.geometry.Point2D;
+import javafx.scene.Node;
+import javafx.scene.Parent;
+import javafx.scene.Scene;
+import javafx.scene.SnapshotParameters;
 import javafx.scene.control.Alert;
 import javafx.scene.control.Alert.AlertType;
 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.stage.Modality;
 import javafx.stage.Stage;
+import javafx.util.Duration;
+import logic.AI;
 import logic.Card;
 import logic.CardType;
 import logic.Color;
@@ -27,8 +43,10 @@ public class Controller
 	@FXML private HBox hboxPlayerDeck;
 	@FXML private HBox hboxAI1;
 	@FXML private Label labelCurrentPlayer;
+	@FXML private AnchorPane mainPane;
 
 	public Game game;
+	public Color chosenWishColor;
 
 	public Stage stage;
 	public Image icon = new Image("images/icon.png");
@@ -36,7 +54,24 @@ public class Controller
 
 	public void init()
 	{
-		iconDeck.setImage(createBackCard());
+		iconDeck.setImage(createEmptyBackCard());
+		iconDeck.addEventHandler(MouseEvent.MOUSE_CLICKED, new EventHandler<MouseEvent>()
+		{
+			@Override
+			public void handle(MouseEvent event)
+			{
+				if(game.isRunning() && game.getCurrentPlayer() == 1)
+				{
+					game.getPlayer().drawCard(game.getDeck().drawCard(game.getDeadDeck()));
+					setPlayerDeck(game.getPlayer().getDeck());
+
+					// TODO move card toPlayerDeck moveCardToDeadDeck(imageView,
+					// card, newWishColor);
+					// --> in "onFinish"
+					game.draw();
+				}
+			}
+		});
 
 		// DEBUG
 		game = new Game(this, 1);
@@ -58,11 +93,20 @@ public class Controller
 		iconLastCard.setImage(createCard(card, true).getImage());
 	}
 
-	private Image createBackCard()
+	private Image createEmptyBackCard()
 	{
 		return new Image("images/card-back.png");
 	}
 
+	private ImageView createBackCard()
+	{
+		ImageView imageView = new ImageView(new Image("images/card-back.png"));
+		imageView.setFitHeight(90.0);
+		imageView.setFitWidth(57.0);
+
+		return imageView;
+	}
+
 	private ImageView createCard(Card card, boolean valid)
 	{
 		ImageView imageView = new ImageView(new Image("images/" + card.getType() + "-" + card.getColor() + ".png"));
@@ -70,27 +114,63 @@ public class Controller
 		imageView.setFitWidth(57.0);
 
 		if(!valid)
-		{			
-			//TODO
-//			imageView.setImage(new Image("images/transparent/" + card.getType() + "-" + card.getColor() + ".png"));
-//			imageView.setStyle("-fx-background-color: transparent;");
+		{
+			WritableImage snapshot = imageView.snapshot(new SnapshotParameters(), null);
+			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);
+					snapshot.getPixelWriter().setColor(x, y, new javafx.scene.paint.Color(oldColor.getRed(), oldColor.getGreen(), oldColor.getBlue(), oldColor.getOpacity() * 0.3));
+				}
+			}
+			imageView.setImage(snapshot);
 		}
+		Controller main = this;
 
 		imageView.addEventHandler(MouseEvent.MOUSE_CLICKED, new EventHandler<MouseEvent>()
 		{
 			@Override
 			public void handle(MouseEvent event)
 			{
-				if(valid)
+				if(game.isRunning() && game.getCurrentPlayer() == 1)
 				{
-					Color newWishColor = null;
-
-					if(card.getType().equals(CardType.WILD) || card.getType().equals(CardType.DRAW_FOUR))
+					if(valid)
 					{
-						// TODO chose wishColor
-					}
+						if(card.getType().equals(CardType.WILD) || card.getType().equals(CardType.DRAW_FOUR))
+						{
+							try
+							{
+								FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("/application/ColorChooser.fxml"));
+
+								Parent root = (Parent)fxmlLoader.load();
+								Stage newStage = new Stage();
+								newStage.setScene(new Scene(root, 300, 300));
+								newStage.setTitle("Wunschfarbe");
+								newStage.initOwner(stage);
+
+								newStage.getIcons().add(icon);
+
+								ColorChooserController newController = fxmlLoader.getController();
+								newController.init(newStage, main);
+
+								newStage.initModality(Modality.APPLICATION_MODAL);
+								newStage.setResizable(false);
+								newStage.showAndWait();
+
+							}
+							catch(IOException e1)
+							{
+								e1.printStackTrace();
+							}
+						}
+						else
+						{
+							chosenWishColor = null;
+						}
 
-					game.playCard(game.getPlayer().playCard(card), newWishColor);
+						moveCardToDeadDeck(imageView, card, chosenWishColor);
+					}
 				}
 			}
 		});
@@ -98,45 +178,172 @@ public class Controller
 		return imageView;
 	}
 
-	public void setPlayerDeck(ArrayList<Card> deck)
-	{
-		hboxPlayerDeck.getChildren().clear();
-
-		for(Card currentCard : deck)
+	public void moveCardToDeadDeck(ImageView view, Card card, Color newWishColor)
+	{	
+		Point2D cardPosition = view.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.setFromX(0);
+		translateTransition.setFromY(0);
+		translateTransition.setToX(- (cardPosition.getX() - deckPosition.getX()));
+		translateTransition.setToY(- (cardPosition.getY() - deckPosition.getY()));	
+		translateTransition.setOnFinished(new EventHandler<ActionEvent>()
 		{
-			hboxPlayerDeck.getChildren().add(createCard(currentCard, true));
-			HBox.setMargin(hboxPlayerDeck.getChildren().get(hboxPlayerDeck.getChildren().size() - 1), new Insets(0, 15, 0, 0));
-		}
+			@Override
+			public void handle(ActionEvent event)
+			{
+				game.playCard(game.getPlayer().playCard(card), newWishColor);
+			}
+		});
+
+		translateTransition.play();
 	}
 
-	// TODO other AIs
-	// TODO set Cards to back
-	public void setAI1Deck(ArrayList<Card> deck)
+	public void moveAICardToDeadDeck(AI ai, Card card, Color newWishColor)
 	{
-		hboxAI1.getChildren().clear();
+		ObservableList<Node> nodes = mainPane.getChildren();
+		Iterator<Node> iterator = nodes.iterator();
+		ArrayList<Node> possibleNodes = new ArrayList<Node>();
+		while(iterator.hasNext()) 
+		{
+			Node current = iterator.next();
+			if(current.getId().equals("ai"))
+			{
+				possibleNodes.add(current);				
+			}
+		}		
+		
+		
+		Random random = new Random();
+		int viewNumber = random.nextInt(possibleNodes.size());	
+
+		ImageView view = (ImageView)possibleNodes.get(viewNumber);		
+		view.setImage(new Image("images/" + card.getType() + "-" + card.getColor() + ".png"));	
+
+		Point2D cardPosition = view.localToScene(Point2D.ZERO);
+		Point2D deckPosition = iconLastCard.localToScene(Point2D.ZERO);		
 
+		System.out.println(view.localToScene(Point2D.ZERO));
+		//TODO cardPosition is always 0, 0		
+		
+		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((deckPosition.getX() - cardPosition.getX()));
+		translateTransition.setToY((deckPosition.getY() - cardPosition.getY()));	
+		translateTransition.setOnFinished(new EventHandler<ActionEvent>()
+		{
+			@Override
+			public void handle(ActionEvent event)
+			{
+				game.playCard(ai.playCard(card), newWishColor);
+			}
+		});
+
+		translateTransition.play();	}
+
+	public void setPlayerDeck(ArrayList<Card> deck)
+	{	
+		ObservableList<Node> nodes = mainPane.getChildren();
+		Iterator<Node> iterator = nodes.iterator();
+		while(iterator.hasNext()) 
+		{
+			if(iterator.next().getId().equals("player"))
+			{
+				iterator.remove();
+			}
+		}
+		
+		int counter = 1;
+		
 		for(Card currentCard : deck)
 		{
-			hboxAI1.getChildren().add(createCard(currentCard, true));
-			HBox.setMargin(hboxAI1.getChildren().get(hboxAI1.getChildren().size() - 1), new Insets(0, 15, 0, 0));
+			ImageView current = createCard(currentCard, true);
+			
+			current.setId("player");
+			mainPane.getChildren().add(current);
+			AnchorPane.setBottomAnchor(current, 30.0);
+			AnchorPane.setLeftAnchor(current, 100.0 + (counter * (57 + 14)));	
+			
+			//TODO if larger then maxWidth
+			counter++;
 		}
 	}
 
 	public void setValidPlayerDeck(ArrayList<Card> deck, ArrayList<Card> validDeck)
 	{
+		ObservableList<Node> nodes = mainPane.getChildren();
+		Iterator<Node> iterator = nodes.iterator();		
+		while(iterator.hasNext()) 
+		{
+			if(iterator.next().getId().equals("player"))
+			{
+				iterator.remove();
+			}
+		}
+		
+		int counter = 1;
+		
 		for(Card currentCard : deck)
 		{
+			ImageView current;
+					
 			if(validDeck.contains(currentCard))
 			{
-				hboxPlayerDeck.getChildren().add(createCard(currentCard, true));
+				current = createCard(currentCard, true);
 			}
 			else
 			{
-				hboxPlayerDeck.getChildren().add(createCard(currentCard, false));
+				current = createCard(currentCard, false);
 			}
+			
+			current.setId("player");
+
+			mainPane.getChildren().add(current);
+			AnchorPane.setBottomAnchor(current, 30.0);
+			AnchorPane.setLeftAnchor(current, 100.0 + (counter * (57 + 14)));			
+			
+			//TODO if larger then maxWidth
+			counter++;
+		}
+	}
 
-			HBox.setMargin(hboxPlayerDeck.getChildren().get(hboxPlayerDeck.getChildren().size() - 1), new Insets(0, 15, 0, 0));
+	// TODO other AIs
+	public void setAI1Deck(ArrayList<Card> deck)
+	{
+		ObservableList<Node> nodes = mainPane.getChildren();
+		Iterator<Node> iterator = nodes.iterator();
+		while(iterator.hasNext()) 
+		{
+			if(iterator.next().getId().equals("ai"))
+			{
+				iterator.remove();
+			}
 		}
+		
+		int counter = 1;
+		
+		for(Card currentCard : deck)
+		{
+			ImageView current = createBackCard();
+			
+			current.setId("ai");
+			mainPane.getChildren().add(current);
+			AnchorPane.setTopAnchor(current, 30.0);
+			AnchorPane.setLeftAnchor(current, 100.0 + (counter * (57 + 14)));	
+			
+			//TODO if larger then maxWidth
+			counter++;
+		}		
 	}
 
 	public void about()
diff --git a/src/application/MainGUI.fxml b/src/application/MainGUI.fxml
index a6a521c..74c58d8 100644
--- a/src/application/MainGUI.fxml
+++ b/src/application/MainGUI.fxml
@@ -6,12 +6,12 @@
 <?import javafx.scene.layout.HBox?>
 <?import javafx.scene.text.Font?>
 
-<AnchorPane 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="600.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/8.0.65" xmlns:fx="http://javafx.com/fxml/1" fx:controller="application.Controller">
    <children>
-      <HBox fx:id="hboxPlayerDeck" alignment="CENTER" layoutX="83.0" layoutY="450.0" prefHeight="107.0" prefWidth="634.0" />
+      <HBox fx:id="hboxPlayerDeck" alignment="CENTER" layoutX="85.0" layoutY="453.0" prefHeight="107.0" prefWidth="634.0" />
       <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" />
-      <HBox fx:id="hboxAI1" layoutX="246.0" layoutY="31.0" prefHeight="107.0" prefWidth="309.0" />
+      <HBox fx:id="hboxAI1" layoutX="246.0" layoutY="44.0" prefHeight="107.0" prefWidth="309.0" />
       <Label fx:id="labelCurrentPlayer" alignment="CENTER" contentDisplay="CENTER" layoutX="320.0" layoutY="377.0" prefHeight="31.0" prefWidth="162.0" textAlignment="CENTER">
          <font>
             <Font name="System Bold" size="19.0" />
diff --git a/src/images/SEVEN-GREEN.png b/src/images/SEVEN-GREEN.png
index 04d0ccf7fb9d9e16f180a580ef3d01c53c35c8cf..aa8e061313d5762341ae9c3fdced136162675849 100644
GIT binary patch
delta 9864
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
P0|SGntDnm{r-UW|oscDG

delta 5217
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
Zib+`lmO7Ur7#J8BJYD@<);T3K0RU*n7Qg@i

diff --git a/src/logic/AI.java b/src/logic/AI.java
index 6dbd96a..daa3659 100644
--- a/src/logic/AI.java
+++ b/src/logic/AI.java
@@ -36,11 +36,13 @@ public class AI
 	public void drawCard(Card card)
 	{
 		deck.add(card);
+		game.getController().setAI1Deck(deck);
 	}
 
 	public void drawCards(ArrayList<Card> cards)
 	{
 		deck.addAll(cards);
+		game.getController().setAI1Deck(deck);
 	}
 
 	public Card playCard(Card card)
@@ -162,9 +164,9 @@ public class AI
 					case 4: newWishColor = Color.GREEN;
 							break;
 				}			
-			}		
+			}
 			
-			game.playCard(playCard(playedCard), newWishColor);
+			game.getController().moveAICardToDeadDeck(this ,playedCard, newWishColor);			
 		}	
 	}
 	
diff --git a/src/logic/Game.java b/src/logic/Game.java
index 26af135..16355aa 100644
--- a/src/logic/Game.java
+++ b/src/logic/Game.java
@@ -22,7 +22,8 @@ public class Game
 	private boolean lastPlayerDraw;
 	private boolean skipped;
 	private int counter;
-
+	private boolean running;
+	
 	public Game(Controller controller, int numberOfAIs)
 	{
 		this.controller = controller;
@@ -65,9 +66,7 @@ public class Game
 		
 		deadDeck.add(deck.drawCard(deadDeck));
 		lastCard = deadDeck.getCards().get(deadDeck.getCards().size()-1);	
-		controller.setLastCard(lastCard);
-		
-		//TODO abfangen wenn  +4 oder +2 oder wild am anfang kommt
+		controller.setLastCard(lastCard);	
 		
 		start();
 	}
@@ -79,10 +78,11 @@ public class Game
 	
 	public void start()
 	{
+		running = true;
 		Random random = new Random();
 		currentPlayer = random.nextInt(ais.size() + 1) + 1;			
 	
-		counter = 1;	
+		counter = 0;	
 		
 		run();
 	}
@@ -104,7 +104,7 @@ public class Game
 				}
 			}		
 		
-		System.out.println("ROUND: " + counter / 4);
+		System.out.println("ROUND: " + counter / 4 + 1);
 		
 		determineNextPlayer();				
 		
@@ -130,20 +130,18 @@ public class Game
 			if(currentPlayer == 1)
 			{			
 				controller.setLabelCurrentPlayer(player.getName() + " ist am Zug");
-				
+							
 				controller.setValidPlayerDeck(player.getDeck(), player.getValidCards(lastCard, wishColor, challenge));					
 				
-				player.turn(lastCard, wishColor, challenge);
-				controller.setPlayerDeck(player.getDeck());							
+				player.turn(lastCard, wishColor, challenge);										
 			}
 			else
-			{			
+			{	
+			
 				AI currentAI = ais.get(currentPlayer - 2);
 				
 				controller.setLabelCurrentPlayer(currentAI.getName() + " ist am Zug");
 				
-				currentAI.turn(lastCard, wishColor, challenge);
-				
 				switch(currentPlayer)
 				{
 					case 2:	controller.setAI1Deck(currentAI.getDeck());
@@ -153,7 +151,9 @@ public class Game
 //						case 4:	controller.setAI3Deck(currentAI.getDeck());
 //								break;
 					default: break;
-				}				
+				}	
+				
+				currentAI.turn(lastCard, wishColor, challenge);							
 			}
 		}
 		else
@@ -198,9 +198,11 @@ public class Game
 
 	private void end(String name)
 	{
-		//TODO in UI
+		//TODO alert 
 		System.err.println("Player " + name + " wins!");
 		
+		running = false;
+		
 		if(currentPlayer == 1)
 		{
 			controller.setLabelCurrentPlayer(player.getName() + " gewinnt!");
@@ -231,6 +233,21 @@ public class Game
 		return player;
 	}
 	
+	public boolean isRunning()
+	{
+		return running;
+	}
+	
+	public int getCurrentPlayer()
+	{
+		return currentPlayer;
+	}
+	
+	public Controller getController()
+	{
+		return controller;
+	}
+	
 	public void draw()
 	{		
 		challenge = false;
@@ -238,10 +255,10 @@ public class Game
 		lastPlayerDraw = true;
 		
 		run();
-	}
+	}		
 	
 	public void playCard(Card card, Color wishColor)
-	{
+	{	
 		deadDeck.add(card);
 		lastCard = card;
 		this.wishColor = wishColor;
diff --git a/src/logic/Player.java b/src/logic/Player.java
index 57931d3..3ce4543 100644
--- a/src/logic/Player.java
+++ b/src/logic/Player.java
@@ -35,11 +35,13 @@ public class Player
 	public void drawCard(Card card)
 	{
 		deck.add(card);
+		game.getController().setPlayerDeck(deck);
 	}
 	
 	public void drawCards(ArrayList<Card> cards)
 	{
 		deck.addAll(cards);
+		game.getController().setPlayerDeck(deck);
 	}
 	
 	public Card playCard(Card card)
@@ -123,23 +125,20 @@ public class Player
 		{
 			if(challenge)
 			{
+				//TODO notification
 				drawCards(game.getDeck().drawCards(game.getChallengeCounter(), game.getDeadDeck()));	
-				System.out.println("draw " + game.getChallengeCounter() + " cards");
-				System.out.println("deack after draw: " + deck);				
+				System.out.println("You can't challenge --> please draw " + game.getChallengeCounter() + " cards");
+				game.draw();
 			}
 			else
-			{
-				drawCard(game.getDeck().drawCard(game.getDeadDeck()));	
-				System.out.println("draw one card");
-				System.out.println("deack after draw: " + deck);				
+			{			
+				System.out.println("No valid cards --> please draw");				
 			}		
 		}
 		else
 		{
 			System.out.println("choose");
-			//playerInput (draw or turnCard)
-			
-			//TODO add "draw" - Button
+			//playerInput (draw or turnCard)		
 		}	
 	}
 }
\ No newline at end of file
-- 
GitLab