From 71b9104333919c2322fccfc9ee104f0c76f6aedd Mon Sep 17 00:00:00 2001
From: Faruk Hammoud <farukhammoud@gmail.com>
Date: Mon, 23 Mar 2020 22:07:17 +0100
Subject: [PATCH] ia now modify game's variable

---
 __pycache__/game.cpython-37.pyc           | Bin 1902 -> 1924 bytes
 __pycache__/online_game.cpython-37.pyc    | Bin 2426 -> 2736 bytes
 __pycache__/player.cpython-37.pyc         | Bin 1219 -> 1602 bytes
 __pycache__/team.cpython-37.pyc           | Bin 1476 -> 1759 bytes
 game.py                                   |   7 +++---
 ias/__pycache__/ia.cpython-37.pyc         | Bin 567 -> 540 bytes
 ias/__pycache__/ia_0000001.cpython-37.pyc | Bin 960 -> 998 bytes
 ias/ia.py                                 |   2 +-
 ias/ia_0000001.py                         |  10 ++++-----
 online_game.py                            |  26 +++++++++++++++++-----
 player.py                                 |  12 +++++++++-
 stadium/ball.pde                          |   7 +++++-
 stadium/game.pde                          |  18 ++++++++++++++-
 stadium/player.pde                        |   1 +
 stadium/socket.pde                        |   2 +-
 stadium/team.pde                          |   4 ++--
 team.py                                   |   8 +++++++
 17 files changed, 75 insertions(+), 22 deletions(-)

diff --git a/__pycache__/game.cpython-37.pyc b/__pycache__/game.cpython-37.pyc
index 5b8432af0d8c5acac0f831247a37219ab050868e..fedd753e2674a8642006a37278bf45f5f8625da6 100644
GIT binary patch
delta 762
zcmaFI*TT>1#LLUYz`(#TMY%F=_C(%Sj2aVvD2XuDFvPQ^Fa$GbGW)r`{Qv*|e@*tu
z%8V-Fw>Wb$^RiP@;!E;18E>%^r{<)sWGLd99L(qoF^8Fh5d_&LuV%DX;$&c8&}1y)
zW?*0_;(-&q3=9mnSc^*%i%NJWb1+#dfuwLLD@sjFsT7!;%;cuW0n*1@RGO#B1U52?
zJtZ}#Br(1O&FmsU1_lP<$=8|8bnuwWUzS>wnN}H}oS&0foSB~|HrbLn!juhU2Om@_
zDZeNswWzp=9j7;ngc%qZBqtwZE;k43WGhZBiO)=g=wJrB@)k=;YGUp!rp!ciXNoZ}
zFvw0WVezeJWT;_GVajGIGN@t5V$Nb*z*NJK!nBZykpUV9MIxZk69u`0r3hqGkp#%0
z>;*-sDVfP75c?pZQX~#i3i3F_K2T^ENir}nC^IlH6obN$fsunzfRTf-ipM=MH&w5o
zhy`TGWH;8EjBJw?*p&4_{w)Hj)P#D0H8ZcEwB#0JCd5dv;b3#+KrWhG#1>G`2eOqP
zL<oQgP!tpifmomrDgt>G?1&<e4kS|$MzJt3FffCh2-3yD$id0M423KlY#eMwAbCGc
sR*3hQKqiA+SOn5i#KNG9lEUDo-r}&y%}*)KNws4H84WUnhmnU704)89lK=n!

delta 718
zcmZqSf5*q`#LLUYz`(%p`e$KW_e9=Tj7k%KC~-0bGiWmTxoNUZ)?-xR(PX^EQk<HT
zwvwTUYjP%|FE<BB2QvpF2P4Pi!;IESAigGJ5hnu!LlMX{2*J(3z;KJTxFoTtglDn>
zlcf?!3YW5?)WnoZ{>jx$ZhGt>eauCrd74aMBcs?;QgccY<4YjMf=np_nO(%sz`!6h
z`8|`F4oD1#$^2!hMVV=p@yYo)nZ=p;d7_g8nIlYDL3Z##rIPZCQc{bGi`W<#7_ggC
zB*?(PATjwKbGbQKCtGo9NqlA^L<ck2mA6<*QWJA;F=ZyAJ5z*#fk9?+4~uVoFhdPv
z3R5;ykwFbZ7IPNk0;U><6sCnt!3-&&5NGx)5&{LGFvuM&MIf7s#26SDqSy<HQd2UM
zOCa_^LZwI)q!i?Fh<%_Cxy6=WT2fG2qQt<!Pz;I`21X7>0Y(nSDsK10+*CF_u=L~@
z)|-s1lg-$a^+7%^0)@9G)Dx_kc?G2<w-_@ahJuX;nOr2pz`&p}xq~gBo(E(vFNoj+
z5uivY5&*G4VN?Y2Y>_yK3(|pP3c@HB1_lOZkPAVc<zVFC;9!PA77jKJwjz+cpC&8B
bgG?Z!KrSo-X(?i15JpL35K|{-u}c8}xDbD|

diff --git a/__pycache__/online_game.cpython-37.pyc b/__pycache__/online_game.cpython-37.pyc
index 7d74433ffb4345c231cf44f2afa9be4cc30a94a1..34f52804aa7f095fa97db4b2be76f81ee3868e27 100644
GIT binary patch
delta 824
zcmew*v_X{5iI<m)fq{X+L%A|;9_L2Boh*zeCZAxDVLUSVDa!(Z8m1IpNroDRc#af?
zU<OUT$=$4z)s+47ax(K$-4k<D^$JRJa`bF+@{<#DitY4lax#lclJj#5>|Tmb_GD8G
zdMU=hz@W)lB*VbKaErCLASbir7Hd&rUV7>+wvyDu+<3!V>;*ZAm8nI=Q9Q+|CGiFM
z#hE3U`FT)jqbQc7#GITc&YaA=?9`O_lKjbQ*tF_dK-Q`-FfbI0fE>@r!N>*1VvKx@
z8jL24VvJS%XpT%~1gT_TU|?ZjU|?lnU~mR$zrn!3kj_xcSi_LTkiwYFR1{NTQ^J_S
z)XeC@5NlA&RKvJ{sfHnoIg6!+Ns?g!>q3TwjEoHRXu@m|;X;XU2AIqOc8D0*VCHP5
zqAger=0G(Vsv9N>Gq(V4E(h3LOGZY96qXWBkm1dYC7d;k&5S9mbC_$HYZw-A)i8tH
z2#zl{zao%#i_{qy7>YC)7#Jo;v1=!D7jc95dZ0LAODrfz%}XiL2Z<OkFfc^%q^Fj|
zm!;<9Cuf#aMsb38iFxTcsZo3&W_D(Bc6@STNpeP!AxMiThycZ|CQA`7h;0HQlqb()
zmjK05aR$iDVkuDAGqNypG4e5rF-kECAXrQoaaEiFk1J4|F~j1@hJk^hgdv5onURs9
zLal}&i?K+rhG7BILIy^L8iobTH4IrSAfMNO<B5@BvLc6$0$Y(d$U!_H!WiT|_JX3+
zl+5H3NEnz+j^~gUasVX-kP-$)4lv}I+{fX?4N_lZ2GVIh`7wt*GY^NrWL3^k0K##=
AHUIzs

delta 559
zcmdlW`b&t<iI<m)fq{X+_D^A48v91Roh*#|CZAxDVca$ODa!)36oz01P2R~<Sto02
z_~+$h=B2tP=BDbUr<TNL<`tBd=-K4tCnx3<+v(ZlWEPhs=jRsKy%d}5$EN6{$x$T3
zz`$^ewYVTBv*Z?QQDR<tY7|>ZYGQ7@VHA5oPGV(hQE?PcacW6?L4I*&NoIZ?RN5$t
zB`Gl{XYxTdt$I$lT`CL=48=kq$1-v-a)GfJBOjv%qX}b`2sXzhGlCQ|FfcGNFfgz&
zFfcfSOweIqU`SysVW?rqVr&M}3z$Icg^bONDNJ*iYZ+@87BJT^E@Wh6NMT?NX3%8z
zo2<m4Ey+?O%D})-#0?@0Km^EpnoLE!lQ(ck)N>c7=B32vmzETimgs}*VF6jrD92bO
zhU7LRMR3=FTnTa^*mWR-OBhlZn;97yDx^T}DpIOpSirQ9fsp~^E)ZSF70yt?kirB~
z1CAhOzpBa6oDz;KMdBcL@qh@B8;T4W7#K7ei+Di-0&qeQ6fG>E2rvdY6deDI93VLP
Y2&We}TxXHdWJxZ2W^N9a$<bV)04LvprT_o{

diff --git a/__pycache__/player.cpython-37.pyc b/__pycache__/player.cpython-37.pyc
index 1f9ad5ed24cfe02864f5c9666417d01e2f757f0a..831042e94b4d45bce0e16f983988312040f3c0a4 100644
GIT binary patch
delta 770
zcmX@id5DM4iI<m)fq{X+RH-sfk$EDY8)L}CP+OH0z7~ck&J_L>ffj}+t`xx(p%#WH
z?iAr*22GJ$Yymlmm8nIO^BKi-WEdD2QW$F(;u&f{Bx4Fw4MRK=m}E|22xib^_PfRK
z5@drW%fwq!Vz-#fQgbw!Zm|@n=A;#|GB7Z#WGLdC%*yD`&H+-z$Tm5W(Om_^E@ER~
zU?}2*6Ciiq;w(-riBHT+&q?K+e2_^P!JT}UNlgu;LzA%xtQ%cpI!q(a<bzD&tY9-H
z=QC>gvNJF+Xfi=Gf!OF)@_?)?OU=no&Mc|qXJB9`W&*pkN*EFjddTu1XLx{2!Ql)Z
zkTYP031Kk|S$^^hMh6|RX9Pf@AP6GRyaje#L4I*&NoIbY=;RP4cQue&9JX_UOfSeU
zj<1lMe2~dW4P+uArIj+14>Czlc44kG0GV8bM-N|FYEfodWqeY8QA%o2vHaw>%!Z6S
zljT`d>$yR0=K&GCAc7A>fWoo}6b41YAg&0A5C;(mKZ04Hh%aJfU|;~@Vvq(7CJr_Z
nW+-F<(O`K$O-3+{6oXI$L>U-vaoFVMr<CTT+JTJu42nVk_h6e4

delta 538
zcmX@abC{FQiI<m)fq{X6sVFF}m}w%P8>7v{P+OK@22H++>*NB(7#J8*7;6~f8EQZz
zV+vCZLp)OoLokCTv)?U-mmsa0%(qzb5_3~;ai`}e=EP^GrWT|Y-C|A5OV3HwWV*#t
zoSKtX#LB?Hu#%yOW3mRLKPwwZ+vGY%cMo<328JRKw}=D80u!7J3=Fq;i&IPDQ!<NE
zlS?x5^FZRoOdws1RU!d7iIu5EdMFAe2QfS7fDPjTnZpYrK$;-Nf=%QBX(-4q&IB3A
zJ$WCqyBbKXCSws;ADU{;^wg60g8bt63jWD~OyZNBShUqZrV>(KDFjx&ilx>7WO@-E
zJ$z-UMVV=p@k#kbDXB%pqLaf}4H-Ence1M1gQBE}8{`Q-5Wx>31VDr^h(I_M%mVqY
zh>?MT0fdV|wsJ6WuyQbSuy8PQFoR|MG#SA(BsjpjzywI^Ee@O9{FKt1R6CIV&!9jC
E0Am1Z^#A|>

diff --git a/__pycache__/team.cpython-37.pyc b/__pycache__/team.cpython-37.pyc
index 262ff0e70bc7906aed32675318ebda02b1e273fc..112d1f5b1a008c9967e728deb2e09065d591beae 100644
GIT binary patch
delta 625
zcmX@YeV>=liI<m)fq{X+Ql&CZfMp_IF{97KCR@W4z7~ck&J_L>ffj}+t`xyw22G(`
zEFr0hxyg(m<qQlAObiSRtPBhc&I}9;#ZeO<gvhhjFvN4DFa$GbviXI)1gU!oQs7nu
zVrp_u_GPq}zQvWDnVcP;oLG{ap~-ZMr8qSw?G|I^N`@kV$+H=Kg#|#SGqN#qFbXgV
zFp4m8FtSbl$>^xa$H2f)!~r5eDvH2_AOi!#Ew<v+lK9L-fyvQKwqCpp3=Eo#MPS8X
zC13)qjxRm6BpzY6Fv!&)FEB7x34{ElhbljrlS#`TY#bBBI1n3REs~iayAfuJVVH?3
zKe>oWS00<&I6-z7C+8QXN>1L#6oFk$VoFLpSdGkNQ|2d<Sj;KnW?*2DpKQd^CkK}0
z#|*9_IR*v>waNEblo`1vGqI`$3xU*t0;5O-#1aJ&Ab%8zgIFK~!CH`f4)=Z$3j+fK
e2p5BdIG8xNIG90jat^DW07wW)li=i4tWp4{40U<{

delta 441
zcmcc5dxV?MiI<m)fq{YH*~`MXDCUWL#f&x+n`{+>88rEBv4o^1<|Z?Oq!}0(m>3us
zSQ!`?oEaDxibE!T2$5t6X3%8w3wa4r@e(BERs>>da!gKUwCC4ky2VnQnv-^mF>@tD
z5&z`9jJ|?=AhQ_R7&#aP7zG$b7&#`(GC3;pGB7X{aexSZI3d8mz;KJLIJG1`Gm(FC
zJ(H~(4+8^(CSws;F`7Eg^wg60;^h3IRKdxonIq(}s!2>qfv6Fg?8Nd!5{sH5ZUzPh
z@yYhAeR5z~kZX%jttygcU|^7&{F+snk#jOXo2siI$i+e+LKsAdfC!K=V1-DU!N!0*
zRm8%;zyQL<AP;dcad2`lO>Sq?(*mnN5FoX;IBatBQ%ZAE?LgsL4ARBJ$ioBx=MhQ8

diff --git a/game.py b/game.py
index 44dcad8..7c548e5 100644
--- a/game.py
+++ b/game.py
@@ -8,6 +8,7 @@ class Game:
         self.team_2 = Team()
         self.ball = Ball()
         self.on = False
+        self.linked_to = -1
 
     def start(self):
         self.on = True
@@ -31,11 +32,11 @@ class Game:
         if team == 2:
             self.team_2.set_ia(ia)
 
-    def output(self,team):
+    def predict(self,team):
         if team == 1:
-            return self.team_1.ia.predict(self,1)
+            self.team_1.ia.predict(self,1)
         if team == 2:
-            return self.team_2.ia.predict(self,2)
+            self.team_2.ia.predict(self,2)
 
     def input(self):
         input = []
diff --git a/ias/__pycache__/ia.cpython-37.pyc b/ias/__pycache__/ia.cpython-37.pyc
index 3216aa425a1e9073ef7ffa850512f172c6f53510..f96065371a06dd696407566e10c94493593aecb2 100644
GIT binary patch
delta 61
zcmdnaGKYoNiI<m)fq{XcUb!-^Ya;Jn#^i~ovqcyg7#N%x7#NCK7#J8*7=jrz8T}@w
RGL|rMP3C11pZt;04FH<94N?FA

delta 84
zcmbQkvYmz3iI<m)fq{WR_;X?0(uur#8J#Dd&erE<U|?`&U|=YgVqjoMVZ;X0xq}%r
WnfzWdGB7Yq_F^ny<et2rF%|$3juJ)y

diff --git a/ias/__pycache__/ia_0000001.cpython-37.pyc b/ias/__pycache__/ia_0000001.cpython-37.pyc
index b62a8cd8bcd5fa43633b386fde4069f845336e53..581233eb6deea61447149dda820d52908a2c79f6 100644
GIT binary patch
delta 350
zcmX@W{*0Z^iI<m)fq{X+O{Fr9gLxyL3?pOmWNpU$dQJug1{MYe24@BahT=I43=9?1
zN*GcYn;BggV!LXYYnW1)vYCnuY8bN^vzTg_B^hd2K<ov~DNG9)85!~vYM4@(vzdwl
zY8bOvkW{e1RMaqLvDUKIur6R*$WX%qA|)7V*=kr9u!HzcAWDLvmc4|dhP{TZnW>he
zhGhXK#PAxH1za^8AZrS_!WmK+f*CYf{9dv$FfhDi1QARO3=EpwlLMI~`T2@dOX9OL
zle6QK6HAgaCTB8fS@3|w%2IRklQT;yZ*hWniFxTcshXTc91IK$w^-5>b5n1zl%yu+
z-eSzW#a57$SeaT>Bs_U9ldhZ;D6|;)7&#bupd=3?8<PN|023Dz7vp3uW*bJC$?nXR
E0Og@k=>Px#

delta 312
zcmaFHet@0NiI<m)fq{X+NVX{MI@3lz8Ae9u$=Zzh^&n9e1_lOa1_p-WNem1O=?t~Z
z6?G*HDU8jGE)20nwJbGEDNNZ+MH)4XS&UgsH7t@0wXAs}HB2eY*-S+?HH=xzFwq*u
zES6ff8ny+j3mIxyL8JsjEqe{y0yZ$8Z6SjMLoG)MdkseodoxolXAQH(0*(}>g^Y|0
zHOvb*YB)ixLcVY?4<;VWpvmI*l9hph;Uy!8U}9ik(BzyP%_KRwg-KJ3EwP{=H7`Yz
ztB8Yvf#DWQdSY(sEtZnh#N1nqIky-yZ?P5RBvz&t6$wp#%A~6x0}2I37Dhfs4lw3n
dWMdLw6ky_F;$q}u;$oU?z-+@PJvo=T5&)yWMCkwk

diff --git a/ias/ia.py b/ias/ia.py
index e125213..6a7ece1 100644
--- a/ias/ia.py
+++ b/ias/ia.py
@@ -3,5 +3,5 @@ class IA:
         self.name = ''
         self.author = ''
     def predict(self,game,team):
-        return [1,1,1,1,1,1,1,1,1,1,1] 
+        pass
     
\ No newline at end of file
diff --git a/ias/ia_0000001.py b/ias/ia_0000001.py
index 4ac4d49..8cd2775 100644
--- a/ias/ia_0000001.py
+++ b/ias/ia_0000001.py
@@ -7,12 +7,13 @@ class my_ia(IA):
         self.author = 'faruk'
             
     def predict(self,game,team):
-        l = []
         for i in range(5):
             if team == 1:
                 player = game.team_1.players[i]
+                game.team_1.set_kick_catch(1)
             elif team == 2:
                 player = game.team_2.players[i]
+                game.team_2.set_kick_catch(1)
             ball = game.ball
 
             dx = ball.get_pos_x() - player.get_pos_x()
@@ -20,9 +21,6 @@ class my_ia(IA):
 
             ang = atan2(dy,dx)
             
-            l.append(1)
-            l.append(ang)
-       
-        l.append(1)
+            player.set_velocity(1)
+            player.set_angle(ang)
 
-        return l
diff --git a/online_game.py b/online_game.py
index 1c20d46..996cb4d 100644
--- a/online_game.py
+++ b/online_game.py
@@ -33,26 +33,40 @@ class OnlineGame(Game):
         self.connected = True
         print('Connected as team '+str(self.team))
 
-    def get_input(self):
+    def pull(self):
         d = {'msg_type':'[GET] Game State Request'}
         r = self.send_message(d)
         if (not r is None):
             r = r.split(';')
-            input = [float(r[i]) for i in range(22)]
+            input = [float(r[i]) for i in range(23)]
             for i in range(5):
                 self.team_1.players[i].set_position(input[2*i],input[2*i+1])
                 self.team_2.players[i].set_position(input[10+2*i],input[10+2*i+1])
             self.ball.set_position(input[20],input[21])
+            self.linked_to = input[22]
 
-    def send_output(self):
-        d = {'msg_type':'[POST] Refresh State','team':str(self.team),'output':str(self.output(self.team))}
+    def push(self):
+        output = []
+        if self.team == 1:
+            for i in range(5):
+                output.append(self.team_1.players[i].get_velocity())
+                output.append(self.team_1.players[i].get_angle())
+            output.append(self.team_1.get_kick_catch())
+        if self.team == 2:
+            for i in range(5):
+                output.append(self.team_2.players[i].get_velocity())
+                output.append(self.team_2.players[i].get_angle())
+            output.append(self.team_2.get_kick_catch())
+
+        d = {'msg_type':'[POST] Refresh State','team':str(self.team),'output':str(output)}
         self.send_message(d)
     
     def play(self):
         print('Playing ...')
         while(self.connected):
-            self.get_input()
-            self.send_output()
+            self.pull()
+            self.predict(self.team)
+            self.push()
         print('Finished.')
 
 
diff --git a/player.py b/player.py
index b912b53..93114eb 100644
--- a/player.py
+++ b/player.py
@@ -4,9 +4,19 @@ class Player:
     self.name = ""
     self.goal_keeper = goal_keeper
     self.angle = 0
+    self.vel = 0
 
-  def set_direction(self,angle):
+  def set_angle(self,angle):
     self.angle = angle
+    
+  def get_angle(self):
+    return self.angle
+  
+  def set_velocity(self,vel):
+    self.vel = vel
+  
+  def get_velocity(self):
+    return self.vel
 
   def set_position(self,pos_x, pos_y):
     self.pos_x = pos_x
diff --git a/stadium/ball.pde b/stadium/ball.pde
index 4775bb5..166c0cf 100644
--- a/stadium/ball.pde
+++ b/stadium/ball.pde
@@ -3,9 +3,14 @@ class Ball {
   float pos_y;
   float vel_x;
   float vel_y;
-  int linked_to = -1;
+  int linked_to;
   Ball() {
+    this.reset();
+  }
+  void reset(){
+    this.set_position(0,0);
     this.set_velocity(0,0);
+    this.linked_to = -1;
   }
   void set_position(float pos_x, float pos_y) {
     this.pos_x = pos_x;
diff --git a/stadium/game.pde b/stadium/game.pde
index aa3d147..766cc67 100644
--- a/stadium/game.pde
+++ b/stadium/game.pde
@@ -12,6 +12,20 @@ class Game {
     this.team_2 = new Team(2);
     this.ball = new Ball();
   }
+  void verify_goal(){
+     if(this.ball.get_pos_x()>100){
+         this.team_1.score += 1;
+         this.team_1.reset();
+         this.team_2.reset();
+         this.ball.reset();
+     }
+     if(this.ball.get_pos_x()<-100){
+         this.team_2.score += 1;
+         this.team_1.reset();
+         this.team_2.reset();
+         this.ball.reset();
+     }
+  }
   void keep_distance(Player player_1, Player player_2) {
 
     float xm = player_1.get_pos_x()/2.0 + player_2.get_pos_x()/2.0;
@@ -54,7 +68,7 @@ class Game {
     }
   }
   float[] input() {
-    float[] input = new float[22];
+    float[] input = new float[23];
     for (int i=0; i<5; i++) {
       input[2*i] = this.team_1.players[i].get_pos_x();
       input[2*i+1] = this.team_1.players[i].get_pos_y();
@@ -63,6 +77,7 @@ class Game {
     }
     input[20] = this.ball.get_pos_x();
     input[21] = this.ball.get_pos_y();
+    input[22] = float(this.linked_to);
     return input;
   }
   void ball_mechanic(float delta_t) {
@@ -130,6 +145,7 @@ class Game {
     this.team_2.run(delta_t);
     this.ball_mechanic(delta_t);
     this.verify_colision();
+    this.verify_goal();
   }
   void show() {
     this.team_1.show();
diff --git a/stadium/player.pde b/stadium/player.pde
index fad6d17..cf2628c 100644
--- a/stadium/player.pde
+++ b/stadium/player.pde
@@ -11,6 +11,7 @@ class Player {
     this.goal_keeper = goal_keeper;
     this._color = color(0);
     this.angle = 0;
+    this.vel = 0;
   }
   void set_direction(float angle) {
     this.angle = angle;
diff --git a/stadium/socket.pde b/stadium/socket.pde
index f23305f..7c6f15f 100644
--- a/stadium/socket.pde
+++ b/stadium/socket.pde
@@ -58,7 +58,7 @@ class Socket {
   void send_input(Client c) {
     String s = "";
     float[] input = game.input();
-    for (int i = 0; i<22; i++) {
+    for (int i = 0; i<23; i++) {
       s += str(input[i])+";";
     }
     c.write(s);
diff --git a/stadium/team.pde b/stadium/team.pde
index 73fbfb5..455812b 100644
--- a/stadium/team.pde
+++ b/stadium/team.pde
@@ -12,7 +12,7 @@ class Team {
     for (int i = 1; i<5; i++) {
       this.players[i] = new Player(false);
     }
-    this.initialize_players();
+    this.reset();
     this.set_color(color(random(255), random(255), random(255)));
   }
   void refresh_team(float[] output) {
@@ -22,7 +22,7 @@ class Team {
     }
     this.kick_catch = output[10];
   }
-  void initialize_players() {
+  void reset() {
     int s = 1;
     if (this.team == 2) {
       s = -1;
diff --git a/team.py b/team.py
index c065107..e26c2ab 100644
--- a/team.py
+++ b/team.py
@@ -11,9 +11,17 @@ class Team:
             self.players.append(Player(False))
         self.initial_position()
         self.score = 0
+        self.kick_catch = 0
     
     def set_ia(self,ia):
         self.ia = ia
+
+    def get_kick_catch(self):
+        return self.kick_catch
+    
+    def set_kick_catch(self,kick_catch):
+        self.kick_catch = kick_catch
+
     def get_score(self):
         return self.score
     
-- 
GitLab