Skip to content

Commit ada706b

Browse files
fixing some bugs
1 parent fea0f58 commit ada706b

39 files changed

+173
-295
lines changed

data/gameplay/__init__.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,14 @@
33
import os
44
from data.music import Sounds
55
from data.gameplay.headUpDisplay import HeadUpDisplay as H_u_d
6-
from data.gameplay.lifeItem import LifeItem
6+
from data.gameplay.lifeItem import LifeItemAndPlants as LifeAndPlants
77
from data.gameplay.enimy import ControlEnimys
88
from data.gameplay.animation import Animation
99
from data.gameplay.player import Player
1010
from data.gameplay.platforms import Plataform
1111

1212

13+
1314
class GamePlay(object):
1415
def __init__(self, screen, nivel, lastPassPoint,qtlife, pygameEvent, enimysKilled, greenFire, blueFire):
1516
# self.allEnimys = ['blue wizard', 'fire golem', 'stone golem', 'ice golem', 'blue robots', 'dark robots', 'gold robots']
@@ -27,7 +28,7 @@ def __init__(self, screen, nivel, lastPassPoint,qtlife, pygameEvent, enimysKille
2728
self.headUpDisplay = H_u_d(self.screen, self.nivel, self.lastPassPoint, self.qtlife)
2829
self.player = Player(self.screen, self.nivel, self.lastPassPoint)
2930
self.platform = Plataform(self.screen, self.nivel)
30-
self.liveItem = LifeItem(self.screen, self.nivel)
31+
self.liveItem = LifeAndPlants(self.screen, self.nivel)
3132
self.tutorialParts = 0
3233
self.showTutorial = False
3334
self.hiddeBackTutorial = False
@@ -66,10 +67,13 @@ def knowingEnimysNr(self):
6667

6768
# method to display all the components in the platform
6869
def drawingTheGamePlayEnvirement(self, soundControl, musicControl):
70+
tile_rects = []
6971
self.soundControl = soundControl
7072
self.musicControl = musicControl
7173
# key_press = pygame.key.get_pressed()
74+
7275
tile_rects = self.platform.settingPlataform(self.scroll)
76+
7377
self.scroll, self.player_rect,self.fireArray, self.enimyCollision, self.enimyType, self.fireEnimyColision, self.fireCollsionPos, self.playerOnAttack = self.player.settingPlayer(tile_rects, self.scroll, self.allEnimysRectsAndTypes, self.inUse)
7478

7579
if ((self.playerOnAttack[0])and(self.count >= 10)and(self.inUse == "greenfire" or self.inUse == "bluefire")):
@@ -132,6 +136,7 @@ def drawingTheGamePlayEnvirement(self, soundControl, musicControl):
132136

133137
self.controllingTheImageOfGameOverAndLevelComplete(painelState)
134138
self.chekingSongs()
139+
135140
return painelState, self.player_rect, self.qtlife, self.enimysKilled, self.greenFire, self.blueFire
136141

137142
def chekingSongs(self):

data/gameplay/animation/__init__.py

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,7 @@ class Animation(object):
66
def __init__(self, screen, nivel):
77
self.screen = screen
88
self.nivel = nivel
9-
self.itemName = None
10-
self.chosingItemAccordingLevel()
9+
self.itemName = 'sheets'
1110
self.count = 0
1211
self.items = []
1312
self.suport = []
@@ -28,13 +27,7 @@ def createNewItems(self):
2827
[self.items.append(Item(self.itemName, self.screen)) for b in range(random.randint(10,30))]
2928
self.count = 0
3029
else:
31-
self.count += 1
32-
33-
def chosingItemAccordingLevel(self):
34-
if (self.nivel < 2):
35-
self.itemName = 'sheets'
36-
elif(self.nivel >= 4):
37-
self.itemName = 'ice'
30+
self.count += 1
3831

3932
class Item:
4033
def __init__(self, nameItem, screen):

data/gameplay/enimy/__init__.py

Lines changed: 44 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from os import POSIX_FADV_DONTNEED
1+
# from os import POSIX_FADV_DONTNEED
22
import pygame
33
from pygame import rect
44
from data.gameplay.enimy.cactus import Cactus
@@ -74,51 +74,51 @@ def addingAllTheAnimys(self):
7474
self.allCactusPosition = [(1578, 424), (1088, 648), (2240, 344), (2288, 360), (2340, 376), (2986, 408), (3650, 136)]
7575
self.allCactus = [(Cactus(self.screen, pos)) for pos in self.allCactusPosition]
7676

77-
self.allEnimys.append(Wizard(self.screen,(1220,184), 100, 9))
78-
self.allEnimys.append(Wizard(self.screen,(1296,184), 100, 9))
79-
self.allEnimys.append(Wizard(self.screen,(1408,184), 100, 9))
80-
self.allEnimys.append(Wizard(self.screen,(1244,360), 100, 9))
81-
self.allEnimys.append(Golens(self.screen,(1364,360), 50, 2, 12))
82-
self.allEnimys.append(Wizard(self.screen,(1746,616), 100, 9))
83-
self.allEnimys.append(Golens(self.screen,(1994,616), 50, 2, 12))
77+
self.allEnimys.append(Wizard(self.screen,(1220,184), 100, 6))
78+
self.allEnimys.append(Wizard(self.screen,(1296,184), 100, 6))
79+
self.allEnimys.append(Wizard(self.screen,(1408,184), 100, 6))
80+
self.allEnimys.append(Wizard(self.screen,(1244,360), 100, 6))
81+
self.allEnimys.append(Golens(self.screen,(1364,360), 50, 2, 8))
82+
self.allEnimys.append(Wizard(self.screen,(1746,616), 100, 7))
83+
self.allEnimys.append(Golens(self.screen,(1994,616), 50, 2, 7))
8484
self.allEnimys.append(Wizard(self.screen,(2106,616), 100, 9))
85-
self.allEnimys.append(Golens(self.screen,(2669,616), 50, 2, 12))
86-
self.allEnimys.append(Golens(self.screen,(2757,616), 50, 2, 12))
87-
self.allEnimys.append(Golens(self.screen,(2869,616), 50, 2, 12))
88-
self.allEnimys.append(Wizard(self.screen,(3270,184), 100, 9))
89-
self.allEnimys.append(Wizard(self.screen,(3354,184), 100, 9))
90-
self.allEnimys.append(Wizard(self.screen,(3422,184), 100, 9))
91-
self.allEnimys.append(Wizard(self.screen,(3502,184), 100, 9))
92-
self.allEnimys.append(Wizard(self.screen,(4113,184), 100, 9))
93-
self.allEnimys.append(Wizard(self.screen,(4229,184), 100, 9))
94-
self.allEnimys.append(Golens(self.screen,(4701,104), 50, 2, 12))
95-
self.allEnimys.append(Golens(self.screen,(4801,104), 50, 2, 12))
96-
self.allEnimys.append(Golens(self.screen,(4861,104), 50, 2, 12))
97-
self.allEnimys.append(Golens(self.screen,(4893,104), 50, 2, 12))
85+
self.allEnimys.append(Golens(self.screen,(2669,616), 50, 2, 9))
86+
self.allEnimys.append(Golens(self.screen,(2757,616), 50, 2, 7))
87+
self.allEnimys.append(Golens(self.screen,(2869,616), 50, 2, 7))
88+
self.allEnimys.append(Wizard(self.screen,(3270,184), 100, 6))
89+
self.allEnimys.append(Wizard(self.screen,(3354,184), 100, 6))
90+
self.allEnimys.append(Wizard(self.screen,(3422,184), 100, 6))
91+
self.allEnimys.append(Wizard(self.screen,(3502,184), 100, 6))
92+
self.allEnimys.append(Wizard(self.screen,(4113,184), 100, 6))
93+
self.allEnimys.append(Wizard(self.screen,(4229,184), 100, 6))
94+
self.allEnimys.append(Golens(self.screen,(4701,104), 50, 2, 5))
95+
self.allEnimys.append(Golens(self.screen,(4801,104), 50, 2, 6))
96+
self.allEnimys.append(Golens(self.screen,(4861,104), 50, 2, 7))
97+
self.allEnimys.append(Golens(self.screen,(4893,104), 50, 2, 3))
9898

9999
self.allEnimysPosition = [(1220,184),(1296,184),(1408,184),(1244,360),(1364,360),(1746,616),(1994,616),(2106,616),(2669,616),
100100
(2757,616),(2869,616),(3270,184),(3354,184),(3422,184),(3502,184),(4113,184),(4229,184),(4701,104),(4801,104),(4861,104),(4893,104),]
101101

102102

103103
elif (self.nivel == 2):
104-
self.allEnimys.append(Golens(self.screen,(852,530), 50, 3,12))
105-
self.allEnimys.append(Golens(self.screen,(928,530), 50, 3,12))
106-
self.allEnimys.append(Golens(self.screen,(988,530), 50, 3,12))
107-
self.allEnimys.append(Golens(self.screen,(1036,530), 50, 3,12))
108-
self.allEnimys.append(Golens(self.screen,(1096,530), 50, 3,12))
109-
self.allEnimys.append(Golens(self.screen,(1136,530), 50, 3,12))
110-
self.allEnimys.append(Golens(self.screen,(1184,530), 50, 3,12))
111-
self.allEnimys.append(Golens(self.screen,(1264,530), 50, 3,12))
112-
self.allEnimys.append(Golens(self.screen,(1862,350), 50, 3,12))
113-
self.allEnimys.append(Golens(self.screen,(3508,110), 50, 3,12))
114-
self.allEnimys.append(Golens(self.screen,(3596,110), 50, 3,12))
115-
self.allEnimys.append(Golens(self.screen,(3648,110), 50, 3,12))
116-
self.allEnimys.append(Golens(self.screen,(3724,110), 50, 3,12))
117-
self.allEnimys.append(Golens(self.screen,(3824,110), 50, 3,12))
118-
self.allEnimys.append(Minotauro(self.screen,(3916,110), 50, 16))
119-
self.allEnimys.append(Minotauro(self.screen,(5108,560), 50, 16))
120-
self.allEnimys.append(Minotauro(self.screen,(5304,560), 50, 16))
121-
self.allEnimys.append(Minotauro(self.screen,(5310,560), 50, 16))
104+
self.allEnimys.append(Golens(self.screen,(852,530), 50, 3,7))
105+
self.allEnimys.append(Golens(self.screen,(928,530), 50, 3,7))
106+
self.allEnimys.append(Golens(self.screen,(988,530), 50, 3,7))
107+
self.allEnimys.append(Golens(self.screen,(1036,530), 50, 3,7))
108+
self.allEnimys.append(Golens(self.screen,(1096,530), 50, 3,7))
109+
self.allEnimys.append(Golens(self.screen,(1136,530), 50, 3,7))
110+
self.allEnimys.append(Golens(self.screen,(1184,530), 50, 3,7))
111+
self.allEnimys.append(Golens(self.screen,(1264,530), 50, 3,6))
112+
self.allEnimys.append(Golens(self.screen,(1862,350), 50, 3,4))
113+
self.allEnimys.append(Golens(self.screen,(3508,110), 50, 3,5))
114+
self.allEnimys.append(Golens(self.screen,(3596,110), 50, 3,7))
115+
self.allEnimys.append(Golens(self.screen,(3648,110), 50, 3,7))
116+
self.allEnimys.append(Golens(self.screen,(3724,110), 50, 3,5))
117+
self.allEnimys.append(Golens(self.screen,(3824,110), 50, 3,6))
118+
self.allEnimys.append(Minotauro(self.screen,(3916,110), 50, 8))
119+
self.allEnimys.append(Minotauro(self.screen,(5108,560), 50, 9))
120+
self.allEnimys.append(Minotauro(self.screen,(5304,560), 50, 6))
121+
self.allEnimys.append(Minotauro(self.screen,(5310,560), 50, 6))
122122

123123
self.allEnimysPosition = [(852,530),(928,530),(988,530),(1036,530),(1096,530),(1136,530),(1184,530),(1264,530),(1862,350),
124124
(3508,110),(3596,110),(3648,110),(3724,110),(3824,110),(3916,110),(5108,560),(5304,560),(5360,560)]
@@ -131,11 +131,11 @@ def addingAllTheAnimys(self):
131131
, (1494, 232), (1882, 232), (1906, 232), (1934, 232)]
132132
self.allCactus = [(Cactus(self.screen, pos)) for pos in self.allCactusPosition]
133133

134-
self.allEnimys.append(Wizard(self.screen,(2008,536), 100, 14))
135-
self.allEnimys.append(Wizard(self.screen,(2720,280), 100, 14))
136-
self.allEnimys.append(Wizard(self.screen,(2720,280), 100, 14))
137-
self.allEnimys.append(Wizard(self.screen,(2720,280), 100, 14))
138-
self.allEnimys.append(Graveller(self.screen, (3603, 120), 250, 25))
134+
self.allEnimys.append(Wizard(self.screen,(2008,536), 100, 7))
135+
self.allEnimys.append(Wizard(self.screen,(2720,280), 100, 7))
136+
self.allEnimys.append(Wizard(self.screen,(2720,280), 100, 8))
137+
self.allEnimys.append(Wizard(self.screen,(2720,280), 100, 8))
138+
self.allEnimys.append(Graveller(self.screen, (3603, 120), 250, 20))
139139

140140
self.allEnimysPosition = [(2008,536), (2720,280), (2720,280), (2720,280), (3603, 120)]
141141

data/gameplay/enimy/simpleAI/__init__.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,10 @@ def activation(self, enimy_rect, player_rect):
3232
# calculating the proximity
3333
def calculateProximity(self, player_rect):
3434
if(((self.enimy_rect.x-player_rect.x)<=self.attackRadius)and((self.enimy_rect.x-player_rect.x)>= -1*self.attackRadius)):
35-
if player_rect.y in range(self.enimy_rect.y-40, self.enimy_rect.y+50):
36-
self.attacking = True
37-
else:
38-
self.attacking = False
35+
if player_rect.y in range(self.enimy_rect.y-80, self.enimy_rect.y+50):
36+
self.attacking = True
37+
else:
38+
self.attacking = False
3939
else:
4040
self.attacking = False
4141

data/gameplay/headUpDisplay/__init__.py

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,10 @@ def showFireAndEnimysInfo(self):
5151
else:
5252
eX=15
5353
self.screen.blit(self.enimysBox, (5, 405))
54-
line = self.font.render(str(self.enimysKilled), True, (255, 0,0))
54+
if self.enimysKilled < 10:
55+
line = self.font.render(str(self.enimysKilled), True, (255, 0,0))
56+
else:
57+
line = self.font.render(str(self.enimysKilled), True, (255, 255,255))
5558
self.screen.blit(line, (eX, 447))
5659

5760
# draw green and blue fire info
@@ -184,18 +187,18 @@ def changeSkillsToUse(self):
184187
def updatingPlayerLife(self,itemType):
185188
# print(enimyType)
186189
if(itemType == 'blue wizard'):
187-
self.life.updateLife(-5)
188-
elif(itemType == 'stone golem'):
189190
self.life.updateLife(-3)
191+
elif(itemType == 'stone golem'):
192+
self.life.updateLife(-2)
190193
elif(itemType == 'fire golem'):
191-
self.life.updateLife(-3)
194+
self.life.updateLife(-2)
192195
elif(itemType == 'ice golem'):
193-
self.life.updateLife(-6)
196+
self.life.updateLife(-3)
194197
elif(itemType == "cactus"):
195-
self.life.updateLife(-10)
198+
self.life.updateLife(-6)
196199
elif(itemType == "life plant"):
197-
self.life.updateLife(60)
200+
self.life.updateLife(80)
198201
elif(itemType == 'graveller'):
199-
self.life.updateLife(-10)
202+
self.life.updateLife(-5)
200203
elif(itemType == 'minotauro'):
201-
self.life.updateLife(-7)
204+
self.life.updateLife(-3)

data/gameplay/lifeItem/__init__.py

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,26 +2,28 @@
22
from data.gameplay.collisionControl import Colision
33

44

5-
class LifeItem(object):
5+
class LifeItemAndPlants(object):
66
def __init__(self, screen, nivel):
77
self.screen = screen
88
self.nivel = nivel
99
self.position = []
10-
self.nrItem = 0
1110
self.determinatePositionOfLifItems()
1211
self.collision = Colision()
13-
self.item = [PlantLife(self.screen) for i in range(self.nrItem)]
12+
self.item = [PlantLife(self.screen) for i in range(len(self.position))]
1413
self.item_rects = pygame.Rect(0, 0, 0, 0)
1514

1615
def drawingTheLifeItem(self, player_rects, scroll):
1716
item_list=[]
1817
i = 0
18+
# Drawing life items
1919
for pos in self.position:
2020
if(pos[0] in range(scroll[0]-450, scroll[0]+650)):
2121
item_list.append(self.item[i].draw(pos, scroll))
2222
else:
2323
item_list.append(pygame.image.load("resources/image/life/1.png").get_rect())
24+
2425
i+=1
26+
2527
if(len(self.position)!=0):
2628
if(self.position[0][0] < scroll[0]-250):
2729
del self.position[0]
@@ -46,16 +48,16 @@ def controlingColection(self, item_list, player_rects):
4648
def determinatePositionOfLifItems(self):
4749
if(self.nivel == 0):
4850
self.position = [(1542, -20), (2890, 408),(3876,488), (4238, 408)]
49-
self.nrItem = 4
51+
self.plantPosition = [(608,120), (780,120)]
5052
elif(self.nivel == 1):
5153
self.position = [(1198,648), (2282,216), (3045,200)]
52-
self.nrItem = 3
54+
self.plantPosition = []
5355
elif(self.nivel == 2):
5456
self.position = [(1178,410), (3811,-40),(5673,380)]
55-
self.nrItem = 3
57+
self.plantPosition = []
5658
elif(self.nivel == 3):
5759
self.position = [(2474,408), (2966,232), (4081,-24),(4027,-24)]
58-
self.nrItem = 4
60+
self.plantPosition = []
5961

6062

6163
class PlantLife(object):
@@ -74,4 +76,3 @@ def draw(self, pos, scroll):
7476
rect.x = pos[0]
7577
rect.y = pos[1]
7678
return rect
77-

data/gameplay/plants/__init__.py

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
import pygame
2+
import random
3+
from data.gameplay.collisionControl import Colision
4+
5+
6+
class Plants():
7+
def __init__(self, screen, nivel):
8+
self.screen = screen
9+
self.nivel = nivel
10+
self.plantPosition = []
11+
self.determinatePlantPosition()
12+
self.plants = [SomePlant(self.screen, pos) for pos in self.plantPosition]
13+
14+
def add(self,scroll):
15+
# drawing plant animations
16+
i = 0
17+
for pos in self.plantPosition:
18+
if(pos[0] in range(scroll[0]-450), scroll[0]+650):
19+
self.plants[i].add(scroll)
20+
i+=1
21+
22+
def determinatePlantPosition(self):
23+
if(self.nivel == 0):
24+
self.plantPosition = [(510,120), (690,120),(862,120),(2734,296),(2852,296),(5376,40),(5496,40)]
25+
elif(self.nivel == 1):
26+
self.plantPosition = [(440,88), (668,88),(1344,184),(3386,184), (1503,184), (3386,184), (4272,184), (4808,104), (5437,168)]
27+
elif(self.nivel == 2):
28+
self.plantPosition = []
29+
elif(self.nivel == 3):
30+
self.plantPosition = [ (380,200), (548,200), (2720,280), (3200,120), (3396,120), (3416,120), (3639,120), (3659,120), (3779,120), (3877,120)]
31+
32+
33+
class SomePlant():
34+
# 1 ajuste 1.2
35+
# 2 ajuste 1.2
36+
# 3 ajuste 1.25
37+
# 4 ajuste 1.3
38+
def __init__(self, screen, pos):
39+
self.screen = screen
40+
self.ajust = 0
41+
self.plnt = 0
42+
self.randomPlants()
43+
self.plant = pygame.image.load("resources/image/animation/arvores/"+str(self.plnt)+".png").convert_alpha()
44+
self.rect = self.plant.get_rect()
45+
self.rect.x = pos[0]
46+
self.rect.y = pos[1]
47+
self.collision = Colision()
48+
49+
def randomPlants(self):
50+
self.plnt = random.randint(1, 4)
51+
if self.plnt == 1 or self.plnt == 2:
52+
self.ajust = 1.2
53+
elif self.plnt == 3:
54+
self.ajust = 1.25
55+
else:
56+
self.ajust = 1.3
57+
def add(self,scroll):
58+
self.screen.blit(self.plant,(self.rect.x-scroll[0]-self.rect.width/self.ajust, self.rect.y-scroll[1]-self.rect.height/self.ajust))

data/gameplay/platforms/__init__.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import pygame
22
from data.backgrounds import Backgound as Back
3+
from data.gameplay.plants import Plants
34

45
class Plataform:
56
def __init__(self, screen, nivel):
@@ -8,6 +9,7 @@ def __init__(self, screen, nivel):
89
self.game_map = []
910
self.positionForest_x =[]
1011
self.positionSwamp_x = []
12+
self.plants = Plants(screen, self.nivel)
1113
self.determinateLevelParts()
1214
self.load_map()
1315
self.background = Back(screen)
@@ -43,19 +45,22 @@ def load_map(self):
4345

4446

4547
def settingPlataform(self, scroll):
48+
tile_rects = []
4649
self.background.movingBackgourndGamePlay(self.nivel)
50+
self.plants.add(scroll)
4751
if((self.nivel==1)or(self.nivel==0)or(self.nivel==3)):
48-
tile_rects = []
4952
for pos in self.positionForest_x:
5053
if(pos*self.size in range(scroll[0]-450, scroll[0]+750)):
5154
tile_rects += self.platformForestEnvirement(self.game_map[self.positionForest_x.index(pos)],pos,scroll)
52-
return tile_rects
55+
5356
elif(self.nivel == 2):
54-
tile_rects = []
5557
for pos in self.positionSwamp_x:
5658
if(pos*self.size in range(scroll[0]-450, scroll[0]+650)):
5759
tile_rects += self.platformSwampEnvirement(self.game_map[self.positionSwamp_x.index(pos)],pos,scroll)
58-
return tile_rects
60+
61+
62+
return tile_rects
63+
5964

6065

6166
def platformForestEnvirement(self,game_map,pos_x,scroll):

0 commit comments

Comments
 (0)