From 2bb100260d48cd19a5a62d4698b3207f1fbcf76c Mon Sep 17 00:00:00 2001 From: Usman Irfan <usmanirfan@USERs-MacBook-Pro.local> Date: Sun, 11 Nov 2018 17:14:28 -0500 Subject: [PATCH] Updated Length --- BlankProjectTemplate/src/Food.py | 4 +- BlankProjectTemplate/src/Gameplay.py | 52 ++++++++++++++---- BlankProjectTemplate/src/Snake.py | 5 +- .../src/__pycache__/Food.cpython-37.pyc | Bin 947 -> 941 bytes .../src/__pycache__/Interface.cpython-37.pyc | Bin 0 -> 2696 bytes .../src/__pycache__/Snake.cpython-37.pyc | Bin 682 -> 713 bytes .../src/__pycache__/highscore.cpython-37.pyc | Bin 0 -> 1891 bytes .../src/__pycache__/theme.cpython-37.pyc | Bin 0 -> 1771 bytes 8 files changed, 44 insertions(+), 17 deletions(-) create mode 100644 BlankProjectTemplate/src/__pycache__/Interface.cpython-37.pyc create mode 100644 BlankProjectTemplate/src/__pycache__/highscore.cpython-37.pyc create mode 100644 BlankProjectTemplate/src/__pycache__/theme.cpython-37.pyc diff --git a/BlankProjectTemplate/src/Food.py b/BlankProjectTemplate/src/Food.py index 2e2b71f..083d18e 100644 --- a/BlankProjectTemplate/src/Food.py +++ b/BlankProjectTemplate/src/Food.py @@ -27,8 +27,6 @@ class Food(): # @param location is a list that gives the location of present food # @param screenSize is the size of the screen def redraw_food(self, x, y, location,screenSize): - if( abs(x - location[0]) < 15 and abs(y - location[1]) < 15): + if(abs(x - location[0]) < 15 and abs(y - location[1]) < 15): location[0] = randint(0, screenSize - self.size) location[1] = randint(0, screenSize - self.size) - return location - diff --git a/BlankProjectTemplate/src/Gameplay.py b/BlankProjectTemplate/src/Gameplay.py index 5bf14e5..e4a5af2 100644 --- a/BlankProjectTemplate/src/Gameplay.py +++ b/BlankProjectTemplate/src/Gameplay.py @@ -13,12 +13,20 @@ size = 20 #velocity and score vel = 10 -score = 0 +global a + +a = 0 +#defining a list to keep track of snake's head +snake_loc = [] + +#variable to increment snake's length, initially it would be 1 +snake_length = 1 #initial x and y coordinates of the snake x = randint(0,screenSize - size) y = randint(0, screenSize - size) + speed = 40 # 0 gives (- direction) @@ -28,15 +36,18 @@ direction = 0 axis = 0 score = 0 -location = [] + +# parameters for initializing food on the screen +food_location = [] food_x = randint(0,screenSize - size) food_y = randint(0,screenSize - size) -location = [food_x, food_y] +food_location = [food_x, food_y] ##initialize snake snake = Snake(size, 0, 20, 0) food = Food(size) + #Loop through the events as long as the game is running run = True while run: @@ -66,6 +77,8 @@ while run: else: x += vel*snake.direct + + #Boundary conditions for snake hitting window edge if x < 0: #x = 0 @@ -80,22 +93,37 @@ while run: #x = 500 - size x = 0 - #consumption of food block - food.redraw_food(x, y, location, screenSize) - - if(abs(x - location[0]) < 15 and abs(y - location[1]) < 15): - score += 1 + if(abs(x - food_location[0]) < 15 and abs(y - food_location[1]) < 15): + score += 10 print(score) - + snake_length += 5 + + + win.fill(white) + #consumption of food block + food.redraw_food(x, y, food_location, screenSize) + + + + snake_head = [] + snake_head.append(x) + snake_head.append(y) + + snake_loc.append(snake_head) + #Draw food item - food.draw_food(location) + food.draw_food(food_location) + + + if (len(snake_loc)) > snake_length: + del snake_loc[0] - #food.update_score(x,y,location, score) + #food.update_score(x,y,food_location, score) #Draw snake - snake.draw(x,y) + snake.draw(snake_loc) #update display pygame.display.update() diff --git a/BlankProjectTemplate/src/Snake.py b/BlankProjectTemplate/src/Snake.py index 85cfd02..ec161f7 100644 --- a/BlankProjectTemplate/src/Snake.py +++ b/BlankProjectTemplate/src/Snake.py @@ -23,8 +23,9 @@ class Snake(): ## @brief Draw method uses pygame to draw the snake object # @param x The x-coordinate where the block should be drawn # @param y The y-coordinate where the block should be drawn - def draw(self,x,y): - pygame.draw.rect(win, red , (x,y, self.size, self.size)) + def draw(self,snake_loc): + for x,y in snake_loc: + pygame.draw.rect(win, red , [x,y, self.size, self.size]) diff --git a/BlankProjectTemplate/src/__pycache__/Food.cpython-37.pyc b/BlankProjectTemplate/src/__pycache__/Food.cpython-37.pyc index 94d697adc16cf576c9da39ab7670614a7ab91a37..58e5c5cbf5aad9d7103d199b4693b97052885858 100644 GIT binary patch delta 70 zcmdnYzLuTWiI<m)0SL^OzlhG;$g9Z27&2L(NlY}LgrSD1hB<{<l0kx@nK6Yao1rLR Xauk!s<Tj=>b~ca}Mvci|nf3tyFqRM; delta 76 zcmZ3>zL}lZiI<m)0SKyOpG8mJ$g9Z27%^F&NlY}PgrSD1hB<{<l0kx@nK6Yao1rLV daukyWa}9Iw<VL1+P7aVZMh!-h$?uu=0RV>E5a<8^ diff --git a/BlankProjectTemplate/src/__pycache__/Interface.cpython-37.pyc b/BlankProjectTemplate/src/__pycache__/Interface.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8024b5fc9b0da06f33208b6773a090949e27b5bd GIT binary patch literal 2696 zcmZ{mO>7%Q6vuaVcGv5Vq)D5Gw3HCqQtGzEg-WGDsHADrG@^tyNeeQfmb<fYwz1dl z?3yN#b0Iw<(KABGmMR1YfrL15<ir_?%Wy$L0(`GH^aB4kcJtu|ujcLBd2inQ=I!h} zPxket4E!>W{(AqHLBsfi9-jO-lnJ!x3WP8OD;xRFo#mN+HuI*w^E{t6gemxaL+}kV zZwX7-_l>;mJHlBu<t5+VFc>1t8`(q~(TrJ-<ddHXWdbca3gH_R9g&$Z5rYdZEZh-M zI22PP5XDt|`o@gM;7>makVLzP79E3#jRvOMFhAM5&SKVJO|xZeFlM}q1zb1gjQ4Oy z7;{!JndQo=*8EUe{)+D@OZr8THC0;H!^NQNhsBDoxC|G+G9=CM_;T(><jW{mk1EA5 zkc-7Icgc^I<7zDz`Da#&XL6I}Vz_)wR`2*;yx>=A<znpTBI)I3!q~?E&mXU?szi5! zJp^q*7%aoq(pcAc*W&4380hYx>GcgmiH$p0Q^RPmhS}gP3(2MRuvsj|sjZfX*%GpN zkCx-bSxY76>w0Eod)0DPDr*k?%DxwfcuB9TBWOD)=XO1gtKk9Y5vA5(YbnC&bbCZX zzXY0%rm0Rr=~98IWv)97r^)FpfRC>m4ZCT9*J_zvR&#bCYs(CVDQmGB#vojcE|cO& zKNLO?Z<m8On^0Eluf!@zPV@0<*;lSsgEe0c&~U7%Duqf!ofXO<boMMsj-ZcrSES)t zKdv>G)<m&qvyO5L1$xtkf=U$%m8z(hNzW7tck9J+$0E}dcpnK0w`~gA7m`vZDP5%K zd0g8~xoO?Ex!+wFsp+Ks&M9e4*3w@Gc04N~Rrr!{L1WnaxS*NzMF|@k7tXr%fUi7k zKuU#_n@uhfEw*k`iiInZB3a@sY<Ae}rqeRk9jzsxCA7aQQrezurbJp~1aENB*RWd- zUQK_)5%vM>IBqO6`Gwd6`A>)q7G4ztunlh7eiC~(ZKva8Gu^Norsx*~xOfS?v@IJ6 ziY5ke3OtH4clw(BwAOH>>yP<%`lCN3_K6{}UkoE3!zC`B>5`3XCwsu;C2?Sx;r^+n zo7+i;enEVj_E$FvM|RG*MF`*TcV+Aup&1WqMp`Q|KHFtH)Wi6<cn%DvJl|y;-JU`8 zyW;t6_ASOkVs!T`V$9858GA-(#xc!^EQ%Mvc(}_ryo1q{AB!WJ;ZMzYQylGK{6@UE z&3?9%N4y)o9})YgI3`|t`h8<}TJfIdfPUYj-BI10-8)Lt9tUlfqS8JWC%UvJchGYA zx;O<IE<e+>w|Z!~%xl^w_VYcoCqeu2|Iq%3FL97)<Gsy&yHfXz*3{#gIwwwdc=h)+ zM5FJXqhf<Y`IXuB&-mcmKadb4{)LcKyB4x$ForWAxQ%n8{VUmigIG&m_2X#lTDiEo zmYScv@YdAW^o6&lRI*YHt5FU0BWudT<b93AM-V{+@!F5+kpc&|AeB4mmx3_FQJVIu zmB5RNVN{9Q$H|KhsjS)lnw<OL9DGaSOK_-+E>jg>1gKje{EjTzM++A|!2{}h1fkpu z;=^L-`Jz3lLk6eF^pM0^6358>0}^CtzXqqZzAH1+SEl9{#^x`+GdI;fq6f-xV$trO zlY0V*X$R<2*7X}R3t6sHwk1HO{b)pXf47nZVSq{^f(S)-Rk@KL(_xNch*DlwcBNX6 ze3dAnyH<@<S}W3zB44O9IeW!g98^PnW_M0`I`5SoFZn2`&H~*c<><#qC6|KIQsh-7 zCa4qx{Drt%$NW56jp*M5RHt4Oltou1%kYg$5?Gd&t|-c7t#OIzIf_0kRJmP^Nq{M> zdF8-c-d1kt-N}m(C(xoiguz^v>RjByJ;Mg{Q-%%kbLNPdVHtCT9W*DP_dl)k2{wv~ zm@-G%!LE*Ycp5VGJX9TNeT70cp%X2qFsGa(@g@npf)0^<jx=2lw*>Jj_l-_fJx>)l PqOJip!28GCDVO~RW72rb literal 0 HcmV?d00001 diff --git a/BlankProjectTemplate/src/__pycache__/Snake.cpython-37.pyc b/BlankProjectTemplate/src/__pycache__/Snake.cpython-37.pyc index f5fd95f0b33cb1498f06e45af003482d739bb8db..8342bed9a4701190192b5bd777870b2deb9b75e6 100644 GIT binary patch delta 173 zcmZ3*dXkmbiI<m)0SLI3yoeUs$Xm!*&jjKE0Sgdw0<kj?7aIYI3Y{887lv4s7^YgL zTILdlEXD;)CCnu(HB2?kH4Is-Ae_#!keQL8kS&}cg&~+hlhIF;?G{@>WqM+6>MfR( zqQvqjmZH?;l3UE>nR!vnMX4!8Y(SGWS&BG-)Gf~9yhOI_)cBnI<jKz%<=H__U|{5% I%*C_-0P4pk!vFvP delta 168 zcmX@fx{8(8iI<m)0SGSreHy)eBX1#NJu`?41R$CNh@FABSOG|sFk~?<U@BoQVX0xP zVX9%sVg=zemW9lW3@Hr344RC7nrye&3M$hRb5n1zq!cBV-(o3BO)j~`T%MU1#axt{ sQp5%{N0Ye-WbQ4-id&48MVvq;gaEmth?f^gN&#^(6Odq-tjV+h06mE#<^TWy diff --git a/BlankProjectTemplate/src/__pycache__/highscore.cpython-37.pyc b/BlankProjectTemplate/src/__pycache__/highscore.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e9dbae58b8cf5bae123abef0101d34290a44d4d4 GIT binary patch literal 1891 zcmZ8iOK)366rP#;@bx2)=Gn9~icp0xDm5YqA%v>7L;)6!fCN=CLe}j)6X!Pez0S;- z+R^nYS+MMiwX=jJzk(GDma|1F@}3nNIA@&Z(Xr;6bLY(C%y%AsJTp^a*lPd${r#gV zV}H@d>*k^G5WD^m0T}QOYfeYr<nCKE#TN_&c&7}!6Vdd*hv1Yoec-#S9!_u{+ervt zH-W-K?D{T(WOPnb00)7)Jiz^KcK{)d0hI8R$d<oM+XuTzu4EG8E@~z00rt<a>w5@> zJ?CRl@Isu4QCNgyuRwzf@5~#qA{hGxEBrIT(R@5o?CjM88}^3nxGSx{pJ&FFc87YK zgiy&0q_Y0APHO5U>l-;RwoHq5&9EbF<izw?+91h0xuPLgU`x8M_Txk<AMN>tsaYKU z-EMrRrP7VQ?#5Y)`mC`f^`Xgo4J|hZ@n++3C(aJPR{3+8m_6C;bz&nMS|yDGe6^-m z-|r1ogoiC)*Ny=`i@)R93tsM%jS1aLjYeAL$XP+*oE%2<ASM1e4Sc8WDRQ#)LB%hu zj|7{#k5rsL1Oozf-{PzdUZh|S+?%E_N4oG?-<UkRgR&;iGJZUNY1CAC;eIlUx-;uz z6byO@#EBTOHXHH5dcn5X4=W>4h%rB7Bd;KjdS{%oqot?J;P(lImA7*|bIFZC=WvBq z`*}}hHqb_;JsZY7`~vHB;{oczG}})*vKe-Vom3m^chXE+9>4jXnf){adVu5oZM0F> z5E!p;AA3ZsuU<az+UlKpXropu!;osVY^Bxe=FsnuTx+$C`f+Efah_Dmc&J(@peVTl zM5`hy$>Gk~Q6;KIft$NVB`t7N{=|t&q740tgo0>e(7)t^4E-*~9#YAj<f9}|3dSKI zts~FLCGd%26OGFdm<o>7Gj_sP8H7-x(;#YlP)0|DZdI-D+$`P#6{tcDX4*aoiYj-; zEX=_?Cf|+e4yY7p(;9l-V~1S*1`CL<GF+W~09Dj2Ug-XSr3>9sfj6%)SUeQ!m6;jO z((Ca2tG6%13arA-YqzhR-+t@-_T{U$zvSv8xP8cR{LxwP09LMAfb)Cs))oEwr4_UX zS)Oxt%#Uxlk+@tS>1gHYw6xsWnfymCM4w=tN$=q}`5EP=D`GCJj^`+Xq&6F_rhU3$ zt4ZEX6CG!|t0xo{li%I;3DxGw5<!z-n_xh23*or@Bu=x9Co=2Xz@%NNCu=xe7pjhf zdXLuqNkFztVuBGtO7K3xZ3OFo)5kg|6cu^3Nz=a)oFdd0&&xxarC0*Gd0$IgYD?4V z<=R%AprqCkiyx#KOV`jw8r2y3(pE`I;+{$K%!RKDed}R{PD7uPz?Q$tjC6I=`dxgF z^^edVTs73zmje{Teh;uFVj6o2Z;G55WI)A9NheJXZTX@iyqQdo@fP}r(C;EJ%;9M+ zS9nd-#5-c0FY!-!jYm#;h#4NCtY}v~aL-p;D62;Vl$cI+<r0^`t{O(4O;i2>{WEDQ KbvM1)yZ-|flgrHj literal 0 HcmV?d00001 diff --git a/BlankProjectTemplate/src/__pycache__/theme.cpython-37.pyc b/BlankProjectTemplate/src/__pycache__/theme.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8de1b8ce4e1ef6118e11db4678fb52a3b892c41e GIT binary patch literal 1771 zcmZux&2Jk;6rb5IuRmhaq@+nD5CREdsnk+?AP0n^v}$h=Btd{VnC;HQ+1lQ9XVz+L zttCWyh8_@S`v`vnCr<ncXs#TPuN9|W;P+;o5UTEK-n@Np-rL`s_p!gWR%3V?fB*IM z4RC+b$Hn7<*~8NBf(Rz~fOX29clbjl9N|7=!aa97j^IbE<t=fJ9mGU09tX@Gmc9id zS%(Wor-k#3bzI>J54$IP5n%U4MTFP`QH8gf364+YQ0kb&lpgX`#kz;3-v`NA0aWMC z4;wR{^McQv1v}@QeF2o8u|xJHc6f3Q3|B4Jc-cs%#*=3<HlC7^XgQ{?#_35ikZClO z##QOb&rH!jUhcO)*HY>BSP!E#Q72K_zAtq@&qi%6@18|>+xvqk?SHDW$1={3<#05J za@p1@Zs!F1_Gn@%E9W5r_COeK@M*IQ>-I_+TLpBq2Us?|EigHIjF1Xe@WLtFg~!Wq z_yJ-GMw1>v_JoR_QZ#Yi@=WDu45YC%ew+<5WxPYkjsG+e`Kb-7B$RR!JR0YDmTrL8 zbhC_4*H*|%O-x|usbKk778vDm1q`qj&MYW`xl4HfM0dstf9?UYw{TW)orB|+uNp8j z-bt3`06EbQhzXQTg#^k+gCuWNjF-!^+*Ik%Q9c<+6IwQzO0`br2r5&;RCF1nx(?wh zQK@an-onxrJa6Ki)>mPX`^(~_+ortOpngP&<!sIu450apJ?CfN7NF{TgzC&);Vk%! z3e2OD6@JfMpv<82=fQ%_9LrU}x%PZ00;{jiYgE#rDr)rhTv0FhB7kLe4i3KXLfU{& zPptJk(WERxTN7`Hb#V>)rfA~CMrkJ+g(I3fC>59Wx%ySOpf6I`q<4e|-R7n458+?x zwhH*!VPdoIs2A|w5Z71u2nGIN|KYy|#hVtzmcR=XH&!V8t0-_w55#t#WB<+~+5JBf z$WI8%rGEQAG$gx%hwgffa`0rGS{SXngW_?L-;kc<7Rd5<WNi5pk(VIT#=X-l)AAjg z;OVv1*H_tCl_KNk2`0$$L$de=q~$E{U{mj1kfk7wCQPStD0|~Uq)a`|hDofWR1fv? z1E^s25w_(oMCk0a{t(TFj-Q~-JKp_B^_TzHgUKfJij0!y;9AX9<tJ%^$`^?yBNJ+w zcZZok|6=$Ij6clATAE4^;!&ne-7-pQErqGm;W!%QNtP<=R9oa~lejvF3C1IV*@OOf zF;fsT%^wq5pX9A(xp<Jo{a4z>1oo^Q@R~p~9&(S@Fs9Z)u{$@NxA{%J3rWp#d+4Z| zb2%zX`vY`u*zM8~?RHJAOR<dy#5cO#C*x>PYAoCmIQ6O8B|_8o3ZdC#qjbUO5G3@& hT38Q#D{Z;ug}Qp8%gcC;y$L@q0enKqveRwd`4=D>sU-ja literal 0 HcmV?d00001 -- GitLab