Skip to content

Commit

Permalink
Préparation de la pré-release
Browse files Browse the repository at this point in the history
Amélioration du placement de la tour: impossible de placer en dehors de 
l'écran.
Code cleaning

Co-Authored-By: Titouz41 <Titouz41@users.noreply.github.com>
  • Loading branch information
antoinech2 and Titouz41 committed Apr 29, 2020
1 parent ee00a30 commit abcde92
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 18 deletions.
7 changes: 2 additions & 5 deletions src/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,6 @@ def __main__():
if event.type == pygame.QUIT:
is_game_running = False
elif event.type == pygame.VIDEORESIZE:
#Nouveau: event.w,event.h
#Ancien : screen_size = (992,558)
diff = (abs(event.w-screen_size[0]),abs(event.h-screen_size[1]))
if diff[0] > diff[1]:
w = max(MIN_SCREEN_SIZE[0],event.w)
Expand All @@ -100,7 +98,7 @@ def __main__():
placing_tower.add(tower.Tower())
elif event.type == pygame.MOUSEBUTTONDOWN:
if placing_tower.sprite != None:
new_tower = placing_tower.sprite.PlaceTower(event.pos, all_towers, map_rect_list)
new_tower = placing_tower.sprite.PlaceTower(event.pos, all_towers, map_rect_list, map_surface)
if new_tower:
all_towers.add(new_tower)
placing_tower.empty()
Expand All @@ -109,13 +107,12 @@ def __main__():
if current_tick%100 == 0:
all_enemies.add(enemy.Enemy())
for current_enemy in all_enemies:
#current_enemy.TakeDamage(1)
if current_enemy.HasFinished():
all_enemies.remove(current_enemy)
else:
current_enemy.Move()
for current_tower in placing_tower:
current_tower.CursorPlace(pygame.mouse.get_pos(),all_towers, map_rect_list)
current_tower.CursorPlace(pygame.mouse.get_pos(),all_towers, map_rect_list, map_surface)

#AFFICHAGE
screen.blit(map_surface,(0,0))
Expand Down
30 changes: 17 additions & 13 deletions src/tower.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
# Version: InDev 0.3
#
# Description: Ce fichier contient l'objet qui gère les tours du jeu
# Il contient toutes les méthodes pour ...
# Il contient toutes les méthodes pour ajouter et placer des tours sur la map
############################################

############################################
Expand All @@ -35,17 +35,21 @@ def __init__(self):
self.rect = self.image.get_rect()
self.rect.center = (0,0)

def CursorPlace(self, position, group, rect_list):
self.rect.center = (position[0],position[1])
collide = pygame.sprite.spritecollide(self,group, False)
if collide == [] and self.rect.collidelist(rect_list) == -1:
self.image.fill(pygame.Color("green"))
def CursorPlace(self, position, group, rect_list, map_rect):
if map_rect.get_rect().collidepoint(position):
self.rect.center = (position[0],position[1])
collide = pygame.sprite.spritecollide(self,group, False)
if collide == [] and self.rect.collidelist(rect_list) == -1:
self.image.fill(pygame.Color("green"))
else:
self.image.fill(pygame.Color("red"))
else:
self.image.fill(pygame.Color("red"))
self.rect.center = (-100,-100)

def PlaceTower(self, position, group, rect_list):
self.rect.center = (position[0],position[1])
collide = pygame.sprite.spritecollide(self,group, False)
if collide == [] and self.rect.collidelist(rect_list) == -1:
self.image.fill(pygame.Color("blue"))
return self
def PlaceTower(self, position, group, rect_list, map_rect):
if map_rect.get_rect().collidepoint(position):
self.rect.center = (position[0],position[1])
collide = pygame.sprite.spritecollide(self,group, False)
if collide == [] and self.rect.collidelist(rect_list) == -1:
self.image.fill(pygame.Color("blue"))
return self

0 comments on commit abcde92

Please sign in to comment.