forked from InfoProjekt/game
		
	 2e66145dcc
			
		
	
	
		2e66145dcc
		
	
	
	
	
		
			
			started a new class for scenes Signed-off-by: SpagettiFisch <63868515+SpagettiFisch@users.noreply.github.com>
		
			
				
	
	
		
			56 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| import pygame
 | |
| fps = 60
 | |
| 
 | |
| class Character():
 | |
|     def __init__(self, name, ms, sprite) -> None:
 | |
|         self.name = name
 | |
|         self.speed = ms
 | |
|         with open(f'art/images/{sprite}') as i:
 | |
|             self.sprite = pygame.image.load(i)
 | |
|         self.x = 524
 | |
|         self.y = 524
 | |
|         self.hidden = False
 | |
| 
 | |
|         self.rect = pygame.Rect(self.x, self.y, self.sprite.get_width(), self.sprite.get_height())
 | |
|     
 | |
|     def draw(self, screen):
 | |
|         if self.hidden:
 | |
|             return
 | |
|         self.rect.x, self.rect.y = self.x, self.y
 | |
|         screen.blit(self.sprite, self.rect)
 | |
| 
 | |
| 
 | |
| class NPC(Character):
 | |
|     pass
 | |
| 
 | |
| 
 | |
| class Fighter(Character):
 | |
|     def __init__(self, name, ms, sprite, health, damage, level, asp, atr) -> None:
 | |
|         super().__init__(name, ms, sprite)
 | |
|         self.health = health
 | |
|         self.damage = damage
 | |
|         self.level = level
 | |
|         self.attack_speed = asp
 | |
|         self.attack_range = atr
 | |
| 
 | |
| class MainCharacter(Fighter):
 | |
|     def __init__(self, name, ms, sprite, health, damage, level, asp, atr, weapon=None, shield=None) -> None:
 | |
|         super().__init__(name, ms, sprite, health, damage, level, asp, atr)
 | |
|         self.attack_spell = weapon
 | |
|         self.shield_spell = shield
 | |
|         self.talking = False
 | |
| 
 | |
|     def update(self, keys):
 | |
|         if keys[pygame.K_w]:
 | |
|             self.y -= self.speed / fps
 | |
|         if keys[pygame.K_a]:
 | |
|             self.x -= self.speed / fps
 | |
|         if keys[pygame.K_s]:
 | |
|             self.y += self.speed / fps
 | |
|         if keys[pygame.K_d]:
 | |
|             self.x += self.speed / fps
 | |
| 
 | |
| class Mobs(Fighter):
 | |
|     def __init__(self, name, ms, sprite, health, damage, level, asp, atr, drops) -> None:
 | |
|         super().__init__(name, ms, sprite, health, damage, level, asp, atr)
 | |
|         self.drops = drops * (self.level / 2)
 |