Skip to content

Commit

Permalink
enemies are hitted correctly
Browse files Browse the repository at this point in the history
This is playable completely... now I will add a menu at start and pause etc... but game can be played :)
  • Loading branch information
Houba28 authored Feb 2, 2017
1 parent 021c27b commit d5b30b9
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 12 deletions.
6 changes: 6 additions & 0 deletions bullets.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
from math import sqrt

class Bullet():
def __init__(self, plus_x, plus_y, x, y):
self.x = x
Expand All @@ -11,6 +13,10 @@ def __init__(self, plus_x, plus_y, x, y):
self.correcture = 0
self.color = (50,200,0)

def distance_to(self, target):
vector = (self.x - target.x, self.y - target.y)
return abs(sqrt(vector[0]*vector[0]+vector[1]*vector[1]))

def move(self):
self.x += self.x_speed
self.y += self.y_speed
Expand Down
8 changes: 3 additions & 5 deletions player.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,16 +33,14 @@ def shoot(self, x, y):
self.bullets.append(bullets.Bullet(-(self.top_x*self.bul_c), -(self.top_y*self.bul_c), x+(self.top_x*self.top_c), y+(self.top_y*self.top_c)))

def check_enemy_hit(self, enemy):
bullets_to_remove = []
death = False
for idx, b in enumerate(self.bullets):
if b.x > self.game.screen_x+900 or b.x < -900 or b.y > self.game.screen_y +900 or b.y < -900:
del self.bullets[idx]
next
elif b.x > enemy.x and b.x < enemy.x + enemy.width:
if b.y > enemy.y and b.y < enemy.y + enemy.height:
death = enemy.register_hit()
del self.bullets[idx]
elif b.distance_to(enemy) < 20:
death = enemy.register_hit()
del self.bullets[idx]

return death

Expand Down
9 changes: 2 additions & 7 deletions zombiii.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ def draw_bullet(bullet, X, Y):
pygame.draw.line(window, bullet.color, (bullet.x, bullet.y), (X + bullet.x_end, Y + bullet.y_end), 2)

def draw_enemy(enemy):
pygame.draw.circle(window, enemy.color, (math.ceil(enemy.x), math.ceil(enemy.y)), 20 ,1)
pygame.draw.circle(window, enemy.color, (math.ceil(enemy.x), math.ceil(enemy.y)), 20 ,4)

def update_game():
window.fill((0,0,0))
Expand Down Expand Up @@ -81,10 +81,6 @@ def show_menu(game, name, items, chosen):
else:
drawing.print_text(window, item, ((game.screen_x-(len(item)*size))/2,((game.screen_y)/2-name_size-(len(items)*(size+space))+space)+name_size+space*2+ (size+space)*idx), thickness, size, color)

def menu_item(game, name):
pass


def pause_game(game, enemy_time,pause):
time = GAME_TIME.get_ticks() - enemy_time
chosen = 0
Expand All @@ -100,8 +96,7 @@ def pause_game(game, enemy_time,pause):
pause = False;
enemy_time = (GAME_TIME.get_ticks() + time)
if event.key == pygame.K_RETURN:
if menu_item(game, menu[chosen]):
break
pass
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_DOWN:
chosen +=1
Expand Down

0 comments on commit d5b30b9

Please sign in to comment.