Added animations class

Editet readme.md
Some changes on mainfile
This commit is contained in:
Christian
2024-08-18 20:00:25 +02:00
parent 31384e03df
commit 0065c3c033
6 changed files with 23 additions and 13 deletions

2
.gitignore vendored
View File

@@ -1,4 +1,6 @@
.venv/ .venv/
__pycache__/ __pycache__/
build/
dist/
test.spec test.spec
log.txt log.txt

View File

@@ -42,11 +42,12 @@ class Player(GameObject):
def __init__(self, name, screen, pos_x, pos_y, width, height, image=None) -> None: def __init__(self, name, screen, pos_x, pos_y, width, height, image=None) -> None:
super().__init__(name, pos_x, pos_y, width, height, image) super().__init__(name, pos_x, pos_y, width, height, image)
self._speed = 10 self._speed = 10
self.screen = screen self.screen:pygame.Surface = screen
self.points = 0 self.points = 0
self._health = 100 self._health = 100
self.lifes = 2 self.lifes = 2
self.kills = 0 self.kills = 0
self._healthbar = pygame.rect.Rect((15, self.screen.get_size()[1]-50, 100, 20))
def handle_input(self, event:pygame.event.EventType): def handle_input(self, event:pygame.event.EventType):
if(event.type == pygame.KEYDOWN and event.key == pygame.K_LEFT): if(event.type == pygame.KEYDOWN and event.key == pygame.K_LEFT):
@@ -79,7 +80,7 @@ class Player(GameObject):
self.pos_y += y self.pos_y += y
def move(self, direction): def move(self, direction):
if(direction == "left"): if(direction == "left"):
self.pos_x -= self._speed self.pos_x -= self._speed
if(direction == "right"): if(direction == "right"):

3
animations.py Normal file
View File

@@ -0,0 +1,3 @@
class animation(object):
def __init__(self) -> None:
pass

View File

@@ -1,8 +1,9 @@
############################################################ ############################################################
## Implements all Gamemechanics here! ## ## Implement all Gamemechanics here! ##
############################################################ ############################################################
import GameObject import GameObject
import animations
from levels import * from levels import *
import pygame import pygame
import logger import logger
@@ -10,9 +11,10 @@ import logger
#Leveldefinitions #Leveldefinitions
levels_list.append(first_level("First Level", (500,500), 10, 2)) levels_list.append(first_level("First Level", (500,500), 10, 2))
#Override #Override
def loadlevels(): def loadlevels():
for level in levels_list: for level in levels_list:
if(type(level) == "level"):
print("LEVEL")
print(level) print(level)
pass pass

View File

@@ -1,2 +1,3 @@
TODOS: TODOS:
-Add ballistics calculation over time not pixel x framerate -Add ballistics calculation over time not pixel x framerate

19
test.py
View File

@@ -19,8 +19,6 @@ WINDOWED_DEF_SIZE = (1024,768)
window = pygame.display.set_mode((RENDERING_SIZE)) window = pygame.display.set_mode((RENDERING_SIZE))
screen = pygame.Surface(RENDERING_SIZE) screen = pygame.Surface(RENDERING_SIZE)
#screen = pygame.display.set_mode((1024,768)) #TODO Add fullscreen mode
log = logger.log("log.txt") log = logger.log("log.txt")
clock = pygame.time.Clock() clock = pygame.time.Clock()
@@ -72,11 +70,14 @@ for enemys in range(10):
i += 1 i += 1
gamestate = True gamestate = True
frametime =0
milliseconds = pygame.time.get_ticks() milliseconds = pygame.time.get_ticks()
tmp_time = pygame.time.get_ticks()/1000
seconds = milliseconds/1000 seconds = milliseconds/1000
tmp_seconds = 0
while(gamestate): while(gamestate):
screen.fill((8,31,61)) screen.fill((8,31,61))
@@ -85,6 +86,7 @@ while(gamestate):
del log del log
gamestate = False gamestate = False
if(event.type == pygame.KEYDOWN and event.key == pygame.K_ESCAPE): if(event.type == pygame.KEYDOWN and event.key == pygame.K_ESCAPE):
pygame.display.set_mode((RENDERING_SIZE))
gamestate = False gamestate = False
#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):
@@ -96,7 +98,7 @@ while(gamestate):
player2.handle_input(event) player2.handle_input(event)
if(player1.keymap["left"] == True and player1.pos_x > 0): if(player1.keymap["left"] == True and player1.pos_x > 0):
player1.move("left") player1.move("left")
#print("links") #print("links")
if(player1.keymap["right"] == True and player1.pos_x <= (screen.get_size()[0]-player1.width)): if(player1.keymap["right"] == True and player1.pos_x <= (screen.get_size()[0]-player1.width)):
player1.move("right") player1.move("right")
@@ -111,6 +113,7 @@ while(gamestate):
#image = screen.blit(testimage, (pos_x, pos_y)) #image = screen.blit(testimage, (pos_x, pos_y))
mouse_pos = pygame.mouse.get_pos() mouse_pos = pygame.mouse.get_pos()
#print(int(pygame.time.get_ticks()/1000))
#print(mouse_pos) #print(mouse_pos)
#print(image.topleft) #Gibt die Position einen Surfaces "obenlinks" aus #print(image.topleft) #Gibt die Position einen Surfaces "obenlinks" aus
@@ -196,8 +199,8 @@ 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 1 Health: {player1.get_health()}")
print(F"Player 2 Health: {player2.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")
@@ -225,7 +228,6 @@ while(gamestate):
screen.blit(fps_label, (screen.get_size()[0]-fps_label.get_size()[0]-10, screen.get_size()[1]-25)) screen.blit(fps_label, (screen.get_size()[0]-fps_label.get_size()[0]-10, screen.get_size()[1]-25))
screen.blit(hash_label, (25, screen.get_size()[1] -25)) screen.blit(hash_label, (25, screen.get_size()[1] -25))
frametime = clock.get_time()
#Scales the mainsurface #Scales the mainsurface
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
@@ -233,6 +235,5 @@ while(gamestate):
#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 clock.tick(90)
clock.tick(60)
pygame.display.flip() pygame.display.flip()