Some changes in classes
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@@ -1,2 +1,3 @@
|
||||
.venv/
|
||||
__pycache__/
|
||||
__pycache__/
|
||||
test.spec
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
import pygame
|
||||
|
||||
#Statics
|
||||
spawned_enemys = list()
|
||||
|
||||
class GameObject(object):
|
||||
objects = list()
|
||||
def __init__(self, name, pos_x, pos_y, width, height, image=None) -> None:
|
||||
|
||||
45
levels.py
45
levels.py
@@ -0,0 +1,45 @@
|
||||
import GameObject
|
||||
import logger
|
||||
|
||||
levels_list = list()
|
||||
|
||||
class level(object):
|
||||
id:int = 0
|
||||
|
||||
def __init__(self, name, size:tuple, num_enemys, spawn_waves) -> None:
|
||||
self.id += 1
|
||||
self.name = name
|
||||
self.size = size
|
||||
self.num_enemys = num_enemys
|
||||
self.spawn_waves = spawn_waves
|
||||
self._completed = False
|
||||
|
||||
@staticmethod
|
||||
def load():
|
||||
first_level("First Level", (500, 500), 15, 5)
|
||||
for level in levels_list:
|
||||
level:dict
|
||||
print("TEST")
|
||||
print(level)
|
||||
for key, object in level.items():
|
||||
print(key, object)
|
||||
|
||||
def run():
|
||||
|
||||
pass
|
||||
|
||||
def __spawn(self):
|
||||
for wave in range(self.spawn_waves):
|
||||
print("Spawning wave")
|
||||
for enemy in range(self.num_enemys):
|
||||
print("Spawning enemys")
|
||||
|
||||
class first_level(level):
|
||||
def __init__(self, name, size: tuple, num_enemys, spawn_waves) -> None:
|
||||
super().__init__(name, size, num_enemys, spawn_waves)
|
||||
tmp_level = {str(self.id):self}
|
||||
levels_list.append(tmp_level)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
6
log.txt
6
log.txt
@@ -0,0 +1,6 @@
|
||||
09:58:49: Loading game...
|
||||
09:58:49: Loading images...
|
||||
09:58:49: Setup fonts...
|
||||
09:58:49: Get git revision hash...
|
||||
09:58:49: Git-Hash: 0bbe702
|
||||
09:58:51: Log closed!
|
||||
|
||||
27
logger.py
27
logger.py
@@ -2,19 +2,28 @@ import time
|
||||
|
||||
class log(object):
|
||||
def __init__(self, logfile:str) -> None:
|
||||
__logfile = logfile
|
||||
__filehandle = None
|
||||
self.__logfile = logfile
|
||||
self.__filehandle = None
|
||||
|
||||
try:
|
||||
self.__filehandle = open(self.logfile, "w")
|
||||
except FileExistsError:
|
||||
print("Datei existiert bereits...")
|
||||
if(len(self.__logfile) >= 3):
|
||||
try:
|
||||
self.__filehandle = open(self.__logfile, "w")
|
||||
except FileExistsError:
|
||||
print("Datei existiert bereits...")
|
||||
|
||||
except:
|
||||
print("Something went wrong!")
|
||||
except:
|
||||
print("Something went wrong!")
|
||||
elif(len(self.__logfile) == 0):
|
||||
print("No logfile!")
|
||||
|
||||
else:
|
||||
print("Logfile needs to bo longer then 3 digits!")
|
||||
|
||||
def writeln(self, text:str):
|
||||
self.__filehandle.writelines(F"{time.strftime("%H:%M:%S")}: {text}")
|
||||
try:
|
||||
self.__filehandle.writelines(F"{time.strftime("%H:%M:%S")}: {text} \n")
|
||||
except:
|
||||
print("[Log] Something went wrong on write line to logfile!")
|
||||
|
||||
def __del__(self):
|
||||
self.writeln("Log closed!")
|
||||
|
||||
26
test.py
26
test.py
@@ -1,5 +1,6 @@
|
||||
import pygame
|
||||
import game
|
||||
import levels
|
||||
import logger
|
||||
import weapons
|
||||
import GameObject
|
||||
@@ -15,9 +16,7 @@ pygame.mouse.set_visible(True)
|
||||
#pygame.key.set_repeat(1, 30)
|
||||
screen = pygame.display.set_mode((1024,768)) #TODO Add fullscreen mode
|
||||
|
||||
log = logger.log("logg.txt")
|
||||
|
||||
logfile = open("log.txt", "w")
|
||||
log = logger.log("log.txt")
|
||||
|
||||
clock = pygame.time.Clock()
|
||||
|
||||
@@ -26,31 +25,36 @@ SCHWARZ = (0,0,0)
|
||||
GRUEN = (0,255,0)
|
||||
ROT = (255,0,0)
|
||||
|
||||
logfile.write(F"{time.strftime("%H:%M:%S")} Loading game...\n")
|
||||
log.writeln("TEST")
|
||||
log.writeln("Loading game...")
|
||||
log.writeln("Loading images...")
|
||||
|
||||
|
||||
logfile.write(F"{time.strftime("%H:%M:%S")} Loading images...\n")
|
||||
image_enemy = Utils.load_image("Rastergrafik.png")
|
||||
testimage = Utils.load_image("Rastergrafik.png")
|
||||
logfile.write(F"{time.strftime("%H:%M:%S")} Setup fonts...\n")
|
||||
|
||||
log.writeln("Setup fonts...")
|
||||
font1 = pygame.font.Font("/usr/share/fonts/TTF/Inconsolata-UltraExpandedExtraBold.ttf", 30)
|
||||
font2 = pygame.font.Font("/usr/share/fonts/TTF/Inconsolata-UltraExpandedExtraBold.ttf", 12)
|
||||
logfile.write(F"{time.strftime("%H:%M:%S")} Get git revision hash...\n")
|
||||
|
||||
log.writeln("Get git revision hash...")
|
||||
short_hash = subprocess.check_output(['git', 'rev-parse', '--short', 'HEAD']).decode('ascii').strip()
|
||||
hash_label = font2.render(F"git-hash: {short_hash}", 1, ROT)
|
||||
logfile.write(F"{time.strftime("%H:%M:%S")} Git-Hash: {short_hash}")
|
||||
log.writeln(F"Git-Hash: {short_hash}")
|
||||
|
||||
#testimage.set_colorkey((255,0,255), pygame.RLEACCELOK)
|
||||
|
||||
player1 = GameObject.Player("Player", screen,(screen.get_size()[0]/2)-17, screen.get_size()[1]-100, 35, 35, testimage)
|
||||
player2 = GameObject.Player2("Player2", screen,(screen.get_size()[0]/2)-17, screen.get_size()[1]-100, 35, 35, testimage)
|
||||
|
||||
|
||||
levels.level.load()
|
||||
|
||||
spawned_enemys = list()
|
||||
|
||||
i = 0
|
||||
startpos_x = 50
|
||||
startpos_y = 30
|
||||
for enemys in range(80):
|
||||
for enemys in range(1):
|
||||
tmp_weapon = weapons.Laserblaster("Laserblaster", startpos_x, startpos_y, 5, 10, screen, testimage)
|
||||
tmp = GameObject.Enemy(F"Enemy-{i}", startpos_x,startpos_y,35,35, screen, testimage)
|
||||
tmp.give_weapon(tmp_weapon)
|
||||
@@ -75,7 +79,7 @@ while(gamestate):
|
||||
|
||||
for event in pygame.event.get():
|
||||
if(event.type == pygame.QUIT):
|
||||
logfile.close()
|
||||
del log
|
||||
gamestate = False
|
||||
player1.handle_input(event)
|
||||
player2.handle_input(event)
|
||||
|
||||
Reference in New Issue
Block a user