From ab15f713496de6bb44f67c2aec531fa23b246eea Mon Sep 17 00:00:00 2001 From: caiop3 Date: Mon, 28 Mar 2022 15:26:36 -0600 Subject: [PATCH 1/4] =?UTF-8?q?Superclasses,=20melhorando=20principalmente?= =?UTF-8?q?=20a=20coes=C3=A3o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- {Testes => Exemplos/Testes}/TESTE_2.py | 0 {Testes => Exemplos/Testes}/TESTE_3.py | 0 {Testes => Exemplos/Testes}/TESTE_4.py | 0 .../Testes}/spritesheet_boom.py | 0 .../moving_background.py | 2 +- UM BALAUM/__pycache__/sprites.cpython-38.pyc | Bin 7653 -> 7709 bytes UM BALAUM/coded.py | 2 +- UM BALAUM/game_screen.py | 40 +++-- UM BALAUM/sprites.py | 151 +++++++++--------- 9 files changed, 100 insertions(+), 95 deletions(-) rename {Testes => Exemplos/Testes}/TESTE_2.py (100%) rename {Testes => Exemplos/Testes}/TESTE_3.py (100%) rename {Testes => Exemplos/Testes}/TESTE_4.py (100%) rename {Testes => Exemplos/Testes}/spritesheet_boom.py (100%) diff --git a/Testes/TESTE_2.py b/Exemplos/Testes/TESTE_2.py similarity index 100% rename from Testes/TESTE_2.py rename to Exemplos/Testes/TESTE_2.py diff --git a/Testes/TESTE_3.py b/Exemplos/Testes/TESTE_3.py similarity index 100% rename from Testes/TESTE_3.py rename to Exemplos/Testes/TESTE_3.py diff --git a/Testes/TESTE_4.py b/Exemplos/Testes/TESTE_4.py similarity index 100% rename from Testes/TESTE_4.py rename to Exemplos/Testes/TESTE_4.py diff --git a/Testes/spritesheet_boom.py b/Exemplos/Testes/spritesheet_boom.py similarity index 100% rename from Testes/spritesheet_boom.py rename to Exemplos/Testes/spritesheet_boom.py diff --git a/Exemplos/pygame-snippets-master/moving_background.py b/Exemplos/pygame-snippets-master/moving_background.py index 7efd92e..b1c867a 100644 --- a/Exemplos/pygame-snippets-master/moving_background.py +++ b/Exemplos/pygame-snippets-master/moving_background.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- + # -*- coding: utf-8 -*- # Importando as bibliotecas necessárias. import pygame diff --git a/UM BALAUM/__pycache__/sprites.cpython-38.pyc b/UM BALAUM/__pycache__/sprites.cpython-38.pyc index ef02acd9ea704e19c12eb894a12e4af321795e6b..22838d75e3cbe5b229282c847957012a28e174da 100644 GIT binary patch delta 103 zcmaEAJ=caOl$V!_0SI)>9g{Zl)G@Putp@TY_b^L1xg{o-=A#vn;<@AypxuC_lX@F*mUoAsCifT$-4p5L{B4l9|7GBeRJV0Ej;$1ONa4 delta 47 zcmbPh^VFIrl$V!_0SN9_9ZcBBQ^(Bo%WZN$vjne8esXDUYF 600 or self.rect.left > 900: + self.rect.x = -50 + super().update() + +class EagleRight(Eagle): + """Seta as águias que surgirão do lado direito da tela""" + def __init__(self, assets, arquivo): + """Recebe e define os dados iniciais dessas águias""" + super().__init__(assets, arquivo) + self.rect.x = 950 + self.rect.y = randint(200, 400) + + def update(self): + """Atualiza a posição das águias""" + self.rect.x -= self.speed_x + self.rect.y += self.speed_y + + if self.rect.top > 600 or self.rect.right < -50: + self.rect.x = 950 + super().update() + +class Balao(ConstrutorComum): + """ Seta o balão""" + def __init__(self,assets,arquivo,groups,lives): + """Recebe e define dados iniciais do balão""" + super().__init__(assets,arquivo) self.rect.centerx = WIDTH / 2 self.rect.bottom = HEIGHT / 2 self.speedx = 0 self.speedy = 0 self.groups = groups - self.assets = assets self.lives = lives self.shot = pygame.time.get_ticks() @@ -38,14 +92,14 @@ def update(self): if self.rect.bottom > HEIGHT: self.rect.bottom = HEIGHT - def shoot(self): + def shoot(self,assets,arquivo): """ Álcool em gel criado logo abaixo do balão""" now = pygame.time.get_ticks() elapsed_ticks = now - self.shot if elapsed_ticks > self.shot_tick: self.shot = now - gel = Gel(self.assets, self.rect.bottom, self.rect.centerx) + gel = Gel(assets, arquivo, self.rect.bottom, self.rect.centerx) self.groups['all_sprites'].add(gel) self.groups['gels'].add(gel) self.assets['pop_sound'].play() @@ -53,13 +107,12 @@ def shoot(self): # --- Cria classe para a vida do balão, que se movimenta em função do balão class Life(pygame.sprite.Sprite): """Seta a vida do balão""" - def __init__(self, balao, assets): + def __init__(self,assets,arquivo,balao): """Recebe e define dados iniciais da vida do balão""" pygame.sprite.Sprite.__init__(self) - self.balao = balao self.assets = assets - life = self.assets['life_font'].render('{:04d}'.format(self.balao.lives), True, (255, 255, 0)) + life = self.assets[arquivo].render('{:04d}'.format(self.balao.lives), True, (255, 255, 0)) self.image = life self.rect = self.image.get_rect() self.rect.centerx = self.balao.rect.centerx @@ -67,74 +120,19 @@ def __init__(self, balao, assets): def update(self): """Atualiza a posição da vida do balão de acordo com a posição do balão""" - life = self.assets['life_font'].render('{:04d}'.format(self.balao.lives), True, (255, 255, 0)) self.image = life self.rect = self.image.get_rect() self.rect.centerx = self.balao.rect.centerx self.rect.bottom = self.balao.rect.bottom - 47 -# --- Cria as classes das águias, uma para cada águia dependendo do lado da tela em que surge -class Eagle1(pygame.sprite.Sprite): - """Seta as águias que surgirão do lado esquerdo da tela""" - def __init__(self, assets): - """Recebe e define os dados iniciais dessas águias""" - pygame.sprite.Sprite.__init__(self) - - self.image = assets[EAGLE1_IMG] - self.mask = pygame.mask.from_surface(self.image) - self.rect = self.image.get_rect() - self.rect.x = -50 - self.rect.y = randint(200, 400) - self.speed_x = randint(2, 6) - self.speed_y = randint(-7, 7) - - def update(self): - """Atualiza a posição dessas águias""" - self.rect.x += self.speed_x - self.rect.y += self.speed_y - - if self.rect.top > 600 or self.rect.left > 900: - self.rect.x = -50 - self.rect.y = randint(200, 400) - self.speed_x = randint(2, 6) - self.speed_y = randint(-7, 7) - -class Eagle2(pygame.sprite.Sprite): - """Seta as águias que surgirão do lado direito da tela""" - def __init__(self, assets): - """Recebe e define os dados iniciais dessas águias""" - pygame.sprite.Sprite.__init__(self) - - self.image = assets[EAGLE2_IMG] - self.mask = pygame.mask.from_surface(self.image) - self.rect = self.image.get_rect() - self.rect.x = 950 - self.rect.y = randint(200, 400) - self.speed_x = randint(2, 6) - self.speed_y = randint(-7, 7) - - def update(self): - """Atualiza a posição dessas águias""" - self.rect.x -= self.speed_x - self.rect.y += self.speed_y - - if self.rect.top > 600 or self.rect.right < -50: - self.rect.x = 950 - self.rect.y = randint(200, 400) - self.speed_x = randint(2, 6) - self.speed_y = randint(-7, 7) # --- Cria a classe Covid, pensada como uma maneira do jogador interagir melhor com o jogo -class Covid(pygame.sprite.Sprite): +class Covid(ConstrutorComum): """ Seta a(s) covid(es)""" - def __init__(self, assets): + def __init__(self, assets,arquivo): """Recebe e define dados iniciais da covid""" - pygame.sprite.Sprite.__init__(self) - - self.image = assets[COVID_IMG] - self.mask = pygame.mask.from_surface(self.image) - self.rect = self.image.get_rect() + super().__init__(assets,arquivo) self.rect.x = randint(60, 520) self.rect.y = choice([800, 1000, 1200]) self.speed_y = randint(1, 3) @@ -149,16 +147,11 @@ def update(self): self.speed_y = randint(1, 3) # --- Cria classe para o gel, que pode matar o covid -class Gel(pygame.sprite.Sprite): +class Gel(ConstrutorComum): """Seta gotas de álcool em gel""" - def __init__(self, assets, bottom, centerx): + def __init__(self, assets, arquivo, bottom, centerx): """Recebe e define os dados iniciais dessas gotas""" - pygame.sprite.Sprite.__init__(self) - - self.image = assets[GEL_IMG] - self.mask = pygame.mask.from_surface(self.image) - self.rect = self.image.get_rect() - + super().__init__(assets, arquivo) self.rect.centerx = centerx self.rect.bottom = bottom self.speedy = 10 From 3a502ab2ba8acad8472456c9cc443fd91303a7d2 Mon Sep 17 00:00:00 2001 From: PedroPauloMorenoCamargo Date: Mon, 28 Mar 2022 22:27:05 -0300 Subject: [PATCH 2/4] =?UTF-8?q?segunda=20refatora=C3=A7=C3=A3o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- UM BALAUM/__pycache__/data.cpython-38.pyc | Bin 651 -> 638 bytes .../__pycache__/final_screen.cpython-38.pyc | Bin 1204 -> 1191 bytes .../__pycache__/game_screen.cpython-38.pyc | Bin 3970 -> 4488 bytes .../__pycache__/init_screen.cpython-38.pyc | Bin 875 -> 862 bytes .../__pycache__/reference.cpython-38.pyc | Bin 2338 -> 2325 bytes UM BALAUM/__pycache__/sprites.cpython-38.pyc | Bin 7709 -> 8224 bytes .../__pycache__/start_screen.cpython-38.pyc | Bin 1377 -> 1364 bytes UM BALAUM/game_screen.py | 36 ++++++++++-------- 8 files changed, 20 insertions(+), 16 deletions(-) diff --git a/UM BALAUM/__pycache__/data.cpython-38.pyc b/UM BALAUM/__pycache__/data.cpython-38.pyc index c844d631fba07897b766f915a2451713a13bd11f..76b9ad966f205829637116d0b98758b85e01170f 100644 GIT binary patch delta 56 zcmeBX{l~%+%FD~e00goLPDvYi{xHg!C0oUW7N-^!#{{IN6y+-fB$npn#{^_1my{Nz K7Ed;2iU0tY~=b-(#dN|a=M%aSa~rqd+0)5dP<#FiyWR!oVkCE3Zq0ZVgMGNoNEJ-hNp zGJ8@_1q$epA3z;@>u<=R$f1Xx2feijpi7TIQ3Ocen-n=*S=Iz_v zOeU$o@6+Gids>-Slz$-6|I>iD3xEG_0H{J$MMb z5_97u?j}gWO_HRWA}Kdb(r$)i+$_nuIg)b+$bdUY2HiZ#yF+Bi9VWx>2pLh)p5a_@ zN6Dx=M#kK6GVV^033rlAx>IDzohH-n44IMhOy{CIOJ?0UGUv{ddG`{zcpicFOQmvoOA@j5Vo4&&;_`Z_c)bt5A@M||T&ZrCcehrBxv{ytUKHl$?)Jut zNR&3#iq*C9){aPSuaqBl@zTbl;&#MONt+$*D2(;x&7v?W z%iG&Rf4s3($HeLW3_x`FufX5G1|U$5l~CgvSH_i4=PFeXHMYR@1C?r2|D&oZ%{bTF z>ZyW<3{?S;owL+| z`zM7JK;u6j*FSo)>)XtKQn4xXW-GNL$9qy~)Po~t1M~HI&9$HGZqCA?FYj(X*$1-f z*O_fM-)p@V@xZIsaFrAWBQK9?sd0F+8hZzLbrnGOhd$y?$jB!Ek&&xhm65{^^u?%d z^@8#PuT{|55-70C2(BPN_akr>Fp+50j(q9LFp$0lK#{JncL96j0MG`?r5k?%EII(H zhI*ieMxY(&ZR1o4%^qg;uvia^HM+J&G+>OwXx@ej5hke>rf4io z(|DKxoorxoEr9tveQbm|Znk4QcM69b#DSmSxnn&XklX>uO#(M{tc8P;H;6nQ109Kh z{X8U00utu0G#Tcb6F|j*5;O%=8Yl~>?`S&A2Wg%^R#%lT?uJ7_2CQbm>Tr+)Yyhwk zX@6MSN1sL{W&sxQ5R<&;|AIXjZ0BKzF2MSuG!c$LY~y?^oCt=3VVXJCz{d$bdZ?dR z>>GZeJrZ1yv1kXQ?Xgp3RXI_=AmJpRJQxRC6NlP~%KpGd!wJwDlN9U7CV|q}hcv^p zz?p)b1qeFRa@MyzXDA0VGHTLQ!eL{aV_H|eGMl6xP zfBs3I&|h2u_n;TciTa$uNnXZc(b-Lt;g0F;D?G<7nnC=aaB758d3J#_+>i*>s*m5z*i+dh2DfIKG1$Il0_rr*ZUN*6>iHlo;$dHaD!`fa9n}>osquH z$gCX?C*)1TJpBOj^dg@*_$917bMUKUby%VKQ6-%1?MbX}Pv-a>?8$042rGTqS?OnQ zU}x{*y}cX4y*n|U4|MDg@_3*9c|H&J55h}4BO}bfIya+rfCGj9#9%Ex*opd5C+eT| z0PbI=W+@R39F#AIIww}RngtTRKwuRDe7vCc!jEOSM! zpau6J3s>k^dzB|oRhpsWr+T=^7u!Y1o~2-o#wTI*J&i9_*TJ(pe336nKf0O|ps7mD z$+t9fV@jY>fKvPZTiP4AZty9EJHb;?$Vz6H?uJJ{+d{QC~PtkK{(_|p37qieTl*e^Ky5vF_@ zUt8WT&VF^RC%WBLY}iYR0t!8bG*{S^oerCUX~Jr~#(qRtQLw^XXWmhZT|g5Uo6u{N zvQZ?{2u2WK`z1_PYwp`@3>h&5;|Ss?GJ*z}G*=w2ekfZQhP@54fxd{SX}_?W&>!wY zH)sT}TedKMySuR?Vh@U+ua+Ng3H{K1EvyICQgLmEfOED@UxBpxQ1*$&187J)Y&lKp zfOxyIyiz2l|IG6Oh7F1^!QyU3SVt{d3v7{z;;eg)14k*+9i-~k{6k?njTdmdx??w4 z4wTuVbo;R3IBWpvDM>TC4n1rg08AL5+Hz_P=?Rg9gi#RTfuCQq- zb{iC$Jdt|p1%c->?7vwSC3^iC6Um6}V22)~4PSP-mxcAR(WKr>Sh(ifvNMEFD({6| z1>g7W>h(9M8|*!>$KFSPO*gxa=B<6q7#}vh?lGI~0FR^^%|=jtT65srfTZNLsmi@2 z2{>0D+Ul20VuHNpku(g@fj40SOg80YlC<%A!mmCLs8AcklH~QyctexpTk9lI{H#(cuL26&8^CF^B02*m9f-t~x0qPb6(m{vRm<^wI3IanB!5oRBPI_n z(!3E39}q}Zhv-f3B}oVNtDx#1vAtT|CJ9N&lX$D4PW83=*sJ^Z@lI=&W~hdiROJIW z_WJN3H+uA}n$*&2Qa_)8Uj+C!bl~@%w4Us0b>$inW1x*zaLmIv(V>|Gds(>3K8Ata13)aONEE)-63pJS;kMN6 zsL)}#lEq9`gs50yoni?Dc+X^giV7UwHFs&f6iXh_YVFDk)9O6Ij;ox%@~B5_Kb~t8H1f+QhY$)^=Stu`I1*)wo1=CbyAZ4#(~~P0pK2dehUUHVcC&TG|NZ^SaB3rMXIYI&DD|a8pv>CDCWjd z+)bc_n?y-Bg;H)BrQHn5xLK5yxxDJ++&C6rmE2J@>W-l?cN~qo6KKMnM3cayW8;?+n!<8fnvI=-m(u!dnx!1i!WGN+ z?Z9XH%G&(0$@I1D^2!2BtgbAXm8FgKEtV`VY&`0$S66n-a)eKr^UJGdrM$7dzQ~gI zH#XMV>-6U8{3qt4O8J3lZn4z;`Gt+0HYv4io&(ucbH`k*Y;Q)y**Mb|ycc!M^!t`$ zc}!ca*KB5()}CYEXwP#@UA7(8Cp`C?q#oG*GusZBvFTVxHkpkv{qf4;)&pidFjtlz zY%z6dv&^)O9rF>>mgm<@rftrb%S?T|vR>r}*LkkM!hml9KL0CN1=6t;Dp(HHKn}G) z*;iZIsTAtnmC;?rx~q6y3KLYP39Q_er~$JIa|~t;<~YpyT}Y5HiH$IYV__P{!wkq| z1CXH#O&_aaj_NIg=1yf<3Su-zm18CB6SzKsivvau`vs<-V`vQc#R@d%sf-f`3i$(0 zhWSPbpg2H(!YP2#02u&%jniR1NYMPTyeNHoHyj9(Lg!$R67!JIJt%Z@UxviWfK`O! zD}j6d57>FSm4UbngY6NV2n(>IA}xd^ss!1hw4cKnoc%TTvP4G?)DwgJo({MA0^u)6 z=UW4((xP-Cf4UQn($W1vzzrQJCo=h*j)0aDEeNR5rVRt6kZU+cvw#_asKN*`5!Y8V zr%C%o9J?(kQl;3Ym4t?`JG5K9v{6C(kD!g=J|Q>OmKztg3LTn|>(C}5KWMHsc`Cu~ zBG0FUHty>P%^n!Ai$>&U5q1dcb6*wG{8oRsuL}89hxXP!xUUNN?YH{FedQMT{=54) zk)Joe4v5We?qp*6s1;9c$(Xv z2D~irDeg&_qJ6C^5v@Hd!PO3bFiUg$-`oE_RdBv2LA6W>-zG%X7Q>RLFP^9GL7q<1 ziT(G%_Qd|RV|h@*10zy6)s0B3Cn6W<1&GKZRGJd}pljnqeg19zrEv2(Hwk-2T*^RwikxTR(^g%w<0fU zupU0pPjvE|s5VNWhy7ei)V-TJR%Yi)E?t8Y;2~p1q?5 zA{fPYnoiTnf<&j_Tscol>_aCX2R9=P=e;31?f<{?QK@wc7le0G>o)A+$3^I+RIMqe z3RGY(PHW>-45tyQR1>pCp_iv5$Sj@w9lAQ;yYL&{Wv$NfFBi@maN24+<2Q1_cyf}j25I+5Xr#!{B!RNDVbW>|ZN zb<1b5D*xTuKGXJW$3Ihn@l59f|1X|#xwET$xW$JhK70eutc-NW^P2wF9-!b!-#g>? zBb086UvNeIkn3N9{Mj7f&;AHQ{V$-n&Ht~DW>w+U`S9BK?9TPuIP4{yeFJi@<4f~p zbLz9}UDA7i6@qnpMv_3FixAk^CBnTYBQP+dd9-J_aEFL?&h%yC9X3gh(^Ly%(#Kh| z9Mp-`*t1DLN8~v|3+f=LFF0QHfM^24_s8*oC>4=bzY(iQ?IY#YAY6Jq+1`<}I?pi_JYmgKdO$$*!@R}sUm%8uRc9V>9+87^-f}sYs znD*4E2ZW~*(=f4K5`L#*2C*9$EE+YBfMyowmbouvSdiU12JI~M)C&U7CH1{$0f}*n zT75=XGD16cEnqQR_xU-@USY<|dINhenO3uW8yV3(7Ov3V3%dgT@7a|bZ$Wcp98{7C zKEO3zB2zFhV~^*A58-+Wp+yNeQNIFK8%PJb<)Ji8 zP!0`X0A^hVS;_p_ix<__58ulWA%-UV_s)sJ*j_2?0 z_)`lWws$v=mLYL=x7Vib&#%sJukG@JtN2x7+l_0@BbMrcc^>)?cwbQrMUyopDT^1@ z@#y8)=vC8llGD{V=MfwR@bFIq8t0Fs(<-NmSM3wLeR7uTRgK@ diff --git a/UM BALAUM/__pycache__/reference.cpython-38.pyc b/UM BALAUM/__pycache__/reference.cpython-38.pyc index 01bbde7503bccacafd16806ef99ae2da246d2091..2c41fa5e93950613e460dc9a9b9cc8068bb28cf5 100644 GIT binary patch delta 57 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 literal 7709 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 E0r?<)zyJUM diff --git a/UM BALAUM/__pycache__/start_screen.cpython-38.pyc b/UM BALAUM/__pycache__/start_screen.cpython-38.pyc index b574e0d132533f9a6097b9904a041856257a418f..105bea6e428aeef3322ad1d990c6a7da1894be03 100644 GIT binary patch delta 57 zcmaFJb%l#3l$V!_0SIIhoRT*3v@yxqC0oUW7N-^!#{{IN6y+-fB$npn#{^_1my{Nz L7H{6mw1f!&&u$V{ delta 70 zcmcb@^^l7vl$V!_0SF#c9ZcBB)5fIjoop2oTAW%`9Fv@wnO_v+pO@-Vlv$P<F05paex&QzG diff --git a/UM BALAUM/game_screen.py b/UM BALAUM/game_screen.py index f431e15..c6ee422 100644 --- a/UM BALAUM/game_screen.py +++ b/UM BALAUM/game_screen.py @@ -8,14 +8,19 @@ # assets = load_assets() # #Cria função para inicializar musica -# def toca_som(nome_do_som): -# som = assets[nome_do_som] -# som.play() +def toca_som(nome_do_som,boolean): + assets = load_assets() + som = assets[nome_do_som] + if boolean == True: + som.play(loops=-1) + else: + som.play() # #Cria função para pausar música -# def pausa_som(nome_do_som): -# som = assets[nome_do_som] -# som.stop() +def pausa_som(nome_do_som): + assets = load_assets() + som = assets[nome_do_som] + som.stop() # --- Cria um grupo de sprites geral e para cada obstáculo def game_screen(window, fase): @@ -80,7 +85,7 @@ def game_screen(window, fase): state = PLAYING # ===== LOOP PRRINCIPAL ===== - assets[MUSIC].play(loops=-1) + toca_som(MUSIC, True) while state != DONE: clock.tick(FPS) @@ -140,7 +145,7 @@ def game_screen(window, fase): lives -= 1 balloon_life.kill() balao.kill() - assets[BOOM_SOUND].play() + toca_som(BOOM_SOUND, False) player = Player(balao.rect.center, assets['player_sheet']) all_sprites.add(player) state = EXPLODING @@ -150,7 +155,7 @@ def game_screen(window, fase): col_2 = pygame.sprite.spritecollide(balao, covides, True, pygame.sprite.collide_mask) for covid in col_2: - assets[BACOV_SOUND].play() + toca_som(BACOV_SOUND, False) covid = Covid(assets,COVID_IMG) all_sprites.add(covid) covides.add(covid) @@ -160,7 +165,7 @@ def game_screen(window, fase): col_3 = pygame.sprite.spritecollide(covid, gels, True, pygame.sprite.collide_mask) for gel in col_3: covid_lives -= 1 - assets[GECOV_SOUND].play() + toca_som(GECOV_SOUND, False) if covid_lives == 0: covid.kill() gel.kill() @@ -172,8 +177,8 @@ def game_screen(window, fase): score += 200 if score >= 1500: - assets[MUSIC].stop() - assets[LEVEL_UP_SOUND].play() + pausa_som(MUSIC) + toca_som(LEVEL_UP_SOUND, False) time.sleep(1.5) if fase < 3: state = PASS @@ -182,7 +187,7 @@ def game_screen(window, fase): return state elif state == EXPLODING: - assets[MUSIC].stop() + pausa_som(MUSIC) now = pygame.time.get_ticks() if now - explosion_tick > explosion_duration: if lives == 0: @@ -190,7 +195,7 @@ def game_screen(window, fase): return state else: state = PLAYING - assets[MUSIC].play() + toca_som(MUSIC, False) balao = Balao(assets, BALLOON_IMG, groups, init_balife) all_sprites.add(balao) balloon_life = Life(assets,LIFE_FONT,balao) @@ -229,5 +234,4 @@ def game_screen(window, fase): text_rect.bottomleft = (10, HEIGHT - 10) window.blit(text_surface, text_rect) - pygame.display.update() # Mostra o novo frame para o jogador - + pygame.display.update() # Mostra o novo frame para o jogador \ No newline at end of file From 8bc90539417466e747c95c9fe89316b9e0566285 Mon Sep 17 00:00:00 2001 From: caiop3 Date: Tue, 29 Mar 2022 02:53:19 -0600 Subject: [PATCH 3/4] =?UTF-8?q?=C3=9Altimas=20altera=C3=A7=C3=B5es?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- UM BALAUM/__pycache__/data.cpython-38.pyc | Bin 638 -> 707 bytes .../__pycache__/final_screen.cpython-38.pyc | Bin 1191 -> 1260 bytes .../__pycache__/game_screen.cpython-38.pyc | Bin 4488 -> 4557 bytes .../__pycache__/init_screen.cpython-38.pyc | Bin 862 -> 931 bytes .../__pycache__/reference.cpython-38.pyc | Bin 2325 -> 2394 bytes UM BALAUM/__pycache__/sprites.cpython-38.pyc | Bin 8224 -> 8293 bytes .../__pycache__/start_screen.cpython-38.pyc | Bin 1364 -> 1433 bytes UM BALAUM/game_screen.py | 5 ++--- UM BALAUM/sprites.py | 1 - 9 files changed, 2 insertions(+), 4 deletions(-) diff --git a/UM BALAUM/__pycache__/data.cpython-38.pyc b/UM BALAUM/__pycache__/data.cpython-38.pyc index 76b9ad966f205829637116d0b98758b85e01170f..424d53747009345c11fe20fe218e7fafae653887 100644 GIT binary patch delta 126 zcmeyza+sATl$V!_0SGQv9ZcBB^P4f{YXy*(Y!wq)oLW>Ilbo2DUlik?m+DfKS(X~( zmY7_claiQ{8e@29gF=97(BWQx7ylT?qQcV5vixF&RE2<|{Pd#4+{9vpU|42xX=08- Ta7k%OX1;=ReoE?OHKqsvAe1fH delta 57 zcmX@i`j3Stl$V!_0SIIhoRT*3{AQH@WtMCe6Iz^FR2&nKno^Xn5Rh1!lOGe1nOss@ Llv+GFn<)YS@}Ls_ diff --git a/UM BALAUM/__pycache__/final_screen.cpython-38.pyc b/UM BALAUM/__pycache__/final_screen.cpython-38.pyc index 82f6fe0dd9efba5fd1b6cebdbd250c8e2f11b432..39351737ff8367b1315fdae710373762b8498c3f 100644 GIT binary patch delta 127 zcmZ3^`G%7xl$V!_0SK;C9ZcBBlg*U!wE@UWwu%WYPAw{qNlwhnFN*QcOLZyAEK7}X zOH3}!Nl8pejWIm5K_S33=y0#Ui+_w`QDJFjS$?rXszN|fetJ=2ZelS)Ff6mUG%-gZ UxTG{CGhe|uKP7eZG$uhN00iJIc>n+a delta 58 zcmaFExtx2I=cT$7WtOGJ zxFsf+=A#vn;<@AypxuC_lX@F*mUoAsCifT$-4p u5L{B4l9{jIoS%|9S&&(ak!!LIa~GrV=Htvk+>DZ&rT8%)NKGlqR|rTf&B>1m$V@IN mElMq(9LB80$UV7{xr1?%c>YW#Ru&FU4mJQd6&J4n diff --git a/UM BALAUM/__pycache__/init_screen.cpython-38.pyc b/UM BALAUM/__pycache__/init_screen.cpython-38.pyc index 346d41c36c955e1c1d2ec22b96b0c63d7b44bf5f..f78c34fa1566f8202a02128911b4817fd279c6cd 100644 GIT binary patch delta 126 zcmcb|wwRqKl$V!_0SK;F9ZcBBQ^b_=wI0Yzwu%WYPAw{qNlwhnFN*QcOLZyAEK7}X zOH3}!Nl8pejWIm5K_S33=y0#Ui+_w`QDJFjS$?rXszN|fetJ=2ZelS)Ff6mUG%-gZ TxTG{CGhe|uKP7eYT&9Bn(7!GK delta 57 zcmZ3?evgeOl$V!_0SIIhoRT*36fw#FvQ4&%2`x@7Dvk+AO)1J(2uLi=$&U%hOfD%c LN-duJi0L2z)CUtG diff --git a/UM BALAUM/__pycache__/reference.cpython-38.pyc b/UM BALAUM/__pycache__/reference.cpython-38.pyc index 2c41fa5e93950613e460dc9a9b9cc8068bb28cf5..8471c7ce4b4ce926f08eef8423b8119a869b1695 100644 GIT binary patch delta 127 zcmbO#bW4aQl$V!_0SN9^9ZcBBQ^=n3wHC-rwu%WYPAw{qNlwhnFN*QcOLZyAEK7}X zOH3}!Nl8pejWIm5K_S33=y0#Ui+_w`QDJFjS$?rXszN|fetJ=2ZelS)Ff6mUG%-gZ UxTG{CGhe|uKP7eZ9QH~^00dDj>Hq)$ delta 58 zcmca5G*yTvl$V!_0SIIhoRT*36tc_zvQD;&2`x@7Dvk+AO)1J(2uLi=$&U%hOfD%c MN-f^}kiC)-0O=YN1poj5 diff --git a/UM BALAUM/__pycache__/sprites.cpython-38.pyc b/UM BALAUM/__pycache__/sprites.cpython-38.pyc index af51b54e62af57bd42308e1c7d8040e3898192b1..c2bcc6b9ae7598f695c0e79dd844ba3856e9d7d5 100644 GIT binary patch delta 125 zcmZ4B@YI1Tl$V!_0SGqfY~*^vl=8J2$WFG32`x@7Dvn7`%*-!}@y|I6Ofuxl&=twSela`6Ofr)Qd*Q+ Kyg7(jSQY^B6B2R& diff --git a/UM BALAUM/__pycache__/start_screen.cpython-38.pyc b/UM BALAUM/__pycache__/start_screen.cpython-38.pyc index 105bea6e428aeef3322ad1d990c6a7da1894be03..4f89557f62b546b49d7ae4bacbbcdef496251aba 100644 GIT binary patch delta 127 zcmcb@HIthsl$V!_0SF#c9ZcBB)5?_cwE@UWwu%WYPAw{qNlwhnFN*QcOLZyAEK7}X zOH3}!Nl8pejWIm5K_S33=y0#Ui+_w`QDJFjS$?rXszN|fetJ=2ZelS)Ff6mUG%-gZ UxTG{CGhe|uKP7eZ2BsxU00saqDF6Tf delta 58 zcmbQqeT9oBl$V!_0SIIhoRT*3v@*&6vP-s#2`x@7Dvk+AO)1J(2uLi=$&U%hOfD%c MN-f^}m1zkR0O&9iK>z>% diff --git a/UM BALAUM/game_screen.py b/UM BALAUM/game_screen.py index c6ee422..ffaaf59 100644 --- a/UM BALAUM/game_screen.py +++ b/UM BALAUM/game_screen.py @@ -6,8 +6,7 @@ from sprites import Covid, Balao, Life, EagleLeft, EagleRight, Gel, load_spritesheet, Player from data import WIDTH, HEIGHT, FPS, OVER, GAME, PASS, WIN -# assets = load_assets() -# #Cria função para inicializar musica +# Cria função para inicializar musica def toca_som(nome_do_som,boolean): assets = load_assets() som = assets[nome_do_som] @@ -16,7 +15,7 @@ def toca_som(nome_do_som,boolean): else: som.play() -# #Cria função para pausar música +# Cria função para pausar música def pausa_som(nome_do_som): assets = load_assets() som = assets[nome_do_som] diff --git a/UM BALAUM/sprites.py b/UM BALAUM/sprites.py index faf2239..545b2c2 100644 --- a/UM BALAUM/sprites.py +++ b/UM BALAUM/sprites.py @@ -126,7 +126,6 @@ def update(self): self.rect.centerx = self.balao.rect.centerx self.rect.bottom = self.balao.rect.bottom - 47 - # --- Cria a classe Covid, pensada como uma maneira do jogador interagir melhor com o jogo class Covid(ConstrutorComum): """ Seta a(s) covid(es)""" From 5971c35742c13ce97c142b8c3f97810c9fe073d2 Mon Sep 17 00:00:00 2001 From: caiop3 Date: Tue, 29 Mar 2022 03:22:40 -0600 Subject: [PATCH 4/4] =?UTF-8?q?Refatora=C3=A7=C3=A3o=20a=20fim=20de=20melh?= =?UTF-8?q?orar=20abstra=C3=A7=C3=A3o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- UM BALAUM/__pycache__/sprites.cpython-38.pyc | Bin 8293 -> 8293 bytes UM BALAUM/game_screen.py | 5 +++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/UM BALAUM/__pycache__/sprites.cpython-38.pyc b/UM BALAUM/__pycache__/sprites.cpython-38.pyc index c2bcc6b9ae7598f695c0e79dd844ba3856e9d7d5..13c7b80af84f3a9bfcaaff7b7b7508fe6eef4dcd 100644 GIT binary patch delta 95 zcmV-l0HFWnK;=LURSgXa000000gIF17Cr%jvmX~u0Rfkj zZWx~do|6t4Gy#>fLmB@80iv@*8)E_iwzH=lg#iJ_lPw=k0ko5RAL0iV5EBp$2okcW B9eV%( delta 95 zcmV-l0HFWnK;=LURSgXa00000vMfSk6|oJv6#<2_$Q2g>0gRL27Cr%kvmX~u0Rfnk zZWx~dpOX$5Gy#^gLmB@80i&}+8)E_ix3i}mg#iJ`lPw=k0kxBSAL0iW5EBp$2oiJV B9J>Gj diff --git a/UM BALAUM/game_screen.py b/UM BALAUM/game_screen.py index ffaaf59..c6ee422 100644 --- a/UM BALAUM/game_screen.py +++ b/UM BALAUM/game_screen.py @@ -6,7 +6,8 @@ from sprites import Covid, Balao, Life, EagleLeft, EagleRight, Gel, load_spritesheet, Player from data import WIDTH, HEIGHT, FPS, OVER, GAME, PASS, WIN -# Cria função para inicializar musica +# assets = load_assets() +# #Cria função para inicializar musica def toca_som(nome_do_som,boolean): assets = load_assets() som = assets[nome_do_som] @@ -15,7 +16,7 @@ def toca_som(nome_do_som,boolean): else: som.play() -# Cria função para pausar música +# #Cria função para pausar música def pausa_som(nome_do_som): assets = load_assets() som = assets[nome_do_som]