Added readme.md
Added keybind F9 for window mode Player gets damage if he gets hit by enemy projectile
This commit is contained in:
@@ -64,7 +64,13 @@ class Player(GameObject):
|
|||||||
if(event.type == pygame.KEYDOWN and event.key == pygame.K_SPACE):
|
if(event.type == pygame.KEYDOWN and event.key == pygame.K_SPACE):
|
||||||
#Fiiirrreee in the hole
|
#Fiiirrreee in the hole
|
||||||
#print("Feuer!")
|
#print("Feuer!")
|
||||||
self.fire(self.screen)
|
self.fire(self.screen)
|
||||||
|
|
||||||
|
def get_health(self):
|
||||||
|
return self._health
|
||||||
|
|
||||||
|
def get_damage(self, damage:int):
|
||||||
|
self._health -= damage
|
||||||
|
|
||||||
def move(self, x=0, y=0):
|
def move(self, x=0, y=0):
|
||||||
if x != 0:
|
if x != 0:
|
||||||
@@ -80,7 +86,9 @@ class Player(GameObject):
|
|||||||
self.pos_x += self._speed
|
self.pos_x += self._speed
|
||||||
|
|
||||||
def fire(self, screen):
|
def fire(self, screen):
|
||||||
shot = Projectile(self.name, self.pos_x+(self.width/2),self.pos_y-self.height,5,10, screen)
|
projectile_width = 6
|
||||||
|
projectile_height = 10
|
||||||
|
shot = Projectile(self.name, self.pos_x+(self.width/2)-(projectile_width/2), self.pos_y-projectile_height, projectile_width, projectile_height, screen, 10)
|
||||||
|
|
||||||
def firecontrol(self, screen):
|
def firecontrol(self, screen):
|
||||||
if(len(Projectile.shots) > 0):
|
if(len(Projectile.shots) > 0):
|
||||||
@@ -91,7 +99,6 @@ class Player(GameObject):
|
|||||||
if(key == "Player"or key == "Player2"):
|
if(key == "Player"or key == "Player2"):
|
||||||
object.animate("UP")
|
object.animate("UP")
|
||||||
#print("Playerschuss!")
|
#print("Playerschuss!")
|
||||||
|
|
||||||
if(key == "Enemy"):
|
if(key == "Enemy"):
|
||||||
#print(object.pos_x, " ", object.pos_y)
|
#print(object.pos_x, " ", object.pos_y)
|
||||||
pass
|
pass
|
||||||
|
|||||||
2
game.py
2
game.py
@@ -15,4 +15,4 @@ levels_list.append(first_level("First Level", (500,500), 10, 2))
|
|||||||
def loadlevels():
|
def loadlevels():
|
||||||
for level in levels_list:
|
for level in levels_list:
|
||||||
print(level)
|
print(level)
|
||||||
pass
|
pass
|
||||||
|
|||||||
2
readme.md
Normal file
2
readme.md
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
TODOS:
|
||||||
|
-Add ballistics calculation over time not pixel x framerate
|
||||||
18
test.py
18
test.py
@@ -1,6 +1,5 @@
|
|||||||
import pygame
|
import pygame
|
||||||
import game
|
import game
|
||||||
import levels
|
|
||||||
import logger
|
import logger
|
||||||
import weapons
|
import weapons
|
||||||
import GameObject
|
import GameObject
|
||||||
@@ -59,8 +58,8 @@ spawned_enemys = list()
|
|||||||
i = 0
|
i = 0
|
||||||
startpos_x = 50
|
startpos_x = 50
|
||||||
startpos_y = 30
|
startpos_y = 30
|
||||||
for enemys in range(1):
|
for enemys in range(10):
|
||||||
tmp_weapon = weapons.Laserblaster("Laserblaster", startpos_x, startpos_y, 5, 10, screen, testimage)
|
tmp_weapon = weapons.Laserblaster("Laserblaster", startpos_x, startpos_y, 5, 10, 30, 1, 0, screen, testimage)
|
||||||
tmp = GameObject.Enemy(F"Enemy-{i}", startpos_x,startpos_y,35,35, screen, testimage)
|
tmp = GameObject.Enemy(F"Enemy-{i}", startpos_x,startpos_y,35,35, screen, testimage)
|
||||||
tmp.give_weapon(tmp_weapon)
|
tmp.give_weapon(tmp_weapon)
|
||||||
if(startpos_x >= (screen.get_size()[0]-150)):
|
if(startpos_x >= (screen.get_size()[0]-150)):
|
||||||
@@ -90,6 +89,9 @@ while(gamestate):
|
|||||||
#Push F10 for fullscreen-mode
|
#Push F10 for fullscreen-mode
|
||||||
if(event.type == pygame.KEYDOWN and event.key == pygame.K_F10):
|
if(event.type == pygame.KEYDOWN and event.key == pygame.K_F10):
|
||||||
pygame.display.set_mode(RENDERING_SIZE, pygame.FULLSCREEN)
|
pygame.display.set_mode(RENDERING_SIZE, pygame.FULLSCREEN)
|
||||||
|
#Push F9 for window-mode
|
||||||
|
if(event.type == pygame.KEYDOWN and event.key == pygame.K_F9):
|
||||||
|
pygame.display.set_mode((RENDERING_SIZE))
|
||||||
player1.handle_input(event)
|
player1.handle_input(event)
|
||||||
player2.handle_input(event)
|
player2.handle_input(event)
|
||||||
|
|
||||||
@@ -164,7 +166,7 @@ while(gamestate):
|
|||||||
# Life decrease only once!
|
# Life decrease only once!
|
||||||
if(pygame.Rect.colliderect(projectile.rect, player1.rect)):
|
if(pygame.Rect.colliderect(projectile.rect, player1.rect)):
|
||||||
#print("Game-Over")
|
#print("Game-Over")
|
||||||
player1.lifes -= 1
|
player1.get_damage(enemy.get_weapon().damage)
|
||||||
try:
|
try:
|
||||||
index = GameObject.Projectile.shots.index(projectiles)
|
index = GameObject.Projectile.shots.index(projectiles)
|
||||||
del GameObject.Projectile.shots[index]
|
del GameObject.Projectile.shots[index]
|
||||||
@@ -173,7 +175,7 @@ while(gamestate):
|
|||||||
#TODO Add Gameover event
|
#TODO Add Gameover event
|
||||||
if(pygame.Rect.colliderect(projectile.rect, player2.rect)):
|
if(pygame.Rect.colliderect(projectile.rect, player2.rect)):
|
||||||
#print("Game-Over")
|
#print("Game-Over")
|
||||||
player2.lifes -= 1
|
player1.get_damage(enemy.get_weapon().damage)
|
||||||
try:
|
try:
|
||||||
index = GameObject.Projectile.shots.index(projectiles)
|
index = GameObject.Projectile.shots.index(projectiles)
|
||||||
del GameObject.Projectile.shots[index]
|
del GameObject.Projectile.shots[index]
|
||||||
@@ -193,7 +195,9 @@ while(gamestate):
|
|||||||
|
|
||||||
#print("Playerkills 1:", player1.kills)
|
#print("Playerkills 1:", player1.kills)
|
||||||
#print("Playerkills 2:", player2.kills)
|
#print("Playerkills 2:", player2.kills)
|
||||||
|
|
||||||
|
print(F"Player 1 Health: {player1.get_health()}")
|
||||||
|
print(F"Player 2 Health: {player2.get_health()}")
|
||||||
player1.render(screen)
|
player1.render(screen)
|
||||||
player2.render(screen)
|
player2.render(screen)
|
||||||
#print(int(seconds), "\r")
|
#print(int(seconds), "\r")
|
||||||
@@ -226,7 +230,7 @@ while(gamestate):
|
|||||||
scaled_win = pygame.transform.smoothscale(screen, window.get_size())
|
scaled_win = pygame.transform.smoothscale(screen, window.get_size())
|
||||||
#Blits the mainsurface to the mainwindow
|
#Blits the mainsurface to the mainwindow
|
||||||
window.blit(scaled_win, (0, 0))
|
window.blit(scaled_win, (0, 0))
|
||||||
|
|
||||||
#if(mouse_pos <= (image.topleft+image.size) and mouse_pos >= image.topleft):
|
#if(mouse_pos <= (image.topleft+image.size) and mouse_pos >= image.topleft):
|
||||||
# print("HIIIIITTT!!!!")
|
# print("HIIIIITTT!!!!")
|
||||||
frametime = 0
|
frametime = 0
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
import GameObject
|
import GameObject
|
||||||
|
|
||||||
class Laserblaster(GameObject.Weapons):
|
class Laserblaster(GameObject.Weapons):
|
||||||
def __init__(self, name, pos_x, pos_y, width, height, screen, image=None) -> None:
|
def __init__(self, name, pos_x, pos_y, width, height, damage:int, firerate:int, duration:int, screen, image=None) -> None:
|
||||||
super().__init__(name, pos_x, pos_y, width, height, 10, 2, 0, image)
|
super().__init__(name, pos_x, pos_y, width, height, damage, firerate, duration, screen, image)
|
||||||
self.screen = screen
|
self.screen = screen
|
||||||
self.image = image
|
self.image = image
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user