main #72
					 2 changed files with 36 additions and 13 deletions
				
			
		
							
								
								
									
										5
									
								
								main.py
									
										
									
									
									
								
							
							
						
						
									
										5
									
								
								main.py
									
										
									
									
									
								
							|  | @ -40,10 +40,11 @@ def genRooms(WIDTH, HEIGHT, type:str, objects:list): | ||||||
|          |          | ||||||
| def play(screen, clock, running, background, isblack, WIDTH, HEIGHT): | def play(screen, clock, running, background, isblack, WIDTH, HEIGHT): | ||||||
|     main = [MainCharacter('Herbert', 100, 'people/oldman.png', 500, 500, 20, 5, 1, 1, 50)] |     main = [MainCharacter('Herbert', 100, 'people/oldman.png', 500, 500, 20, 5, 1, 1, 50)] | ||||||
|     mobs = [Skeleton(i, random.randint(40, 60), 'people/reddy.png', random.randint(50, WIDTH-50), random.randint(50, HEIGHT-50), 5, 1, 1, 1, 200) for i in range(0,random.randint(2, 8))] |     mobs = [Skeleton(i, random.randint(40, 60), random.randint(50, WIDTH-50), random.randint(50, HEIGHT-50), 5, 1, 1, 1, 200) for i in range(0,random.randint(2, 8))]+[Zombie(i, random.randint(40, 60), random.randint(50, WIDTH-50), random.randint(50, HEIGHT-50), 5, 1, 1, 1, 100) for i in range(0,random.randint(2, 8))] | ||||||
|  |      | ||||||
|     weapons = [] |     weapons = [] | ||||||
|     others = [Fire('f1', 0, 200, 300)] |     others = [Fire('f1', 0, 200, 300)] | ||||||
|     npcs = [NPC('name', 100, 'people/reddy.png', 1, 200, 200)] |     npcs = [NPC('name', 100, 'people/oldlady.png', 1, 200, 200)] | ||||||
|     objects = [main, mobs, npcs, weapons, others] |     objects = [main, mobs, npcs, weapons, others] | ||||||
|     level = [] |     level = [] | ||||||
|     rooms = genRooms(WIDTH, HEIGHT, 'background/grass', objects) |     rooms = genRooms(WIDTH, HEIGHT, 'background/grass', objects) | ||||||
|  |  | ||||||
							
								
								
									
										44
									
								
								viecher.py
									
										
									
									
									
								
							
							
						
						
									
										44
									
								
								viecher.py
									
										
									
									
									
								
							|  | @ -316,10 +316,6 @@ class Mobs(Fighter): | ||||||
|     def __init__(self, name, ms, sprite, x, y, health, damage, level, asp, atr, drops) -> None: |     def __init__(self, name, ms, sprite, x, y, health, damage, level, asp, atr, drops) -> None: | ||||||
|         super().__init__(name, ms, sprite, x, y, health, damage, level, asp, atr) |         super().__init__(name, ms, sprite, x, y, health, damage, level, asp, atr) | ||||||
|         self.drops = drops * (self.level / 2) |         self.drops = drops * (self.level / 2) | ||||||
| 
 |  | ||||||
| class Skeleton(Mobs): |  | ||||||
|     def __init__(self, name, ms, sprite, x, y, health, damage, level, asp, atr, drops=0) -> None: |  | ||||||
|         super().__init__(name, ms, sprite, x, y, health, damage, level, asp, atr, drops) |  | ||||||
|      |      | ||||||
|     def chase(self, obj): |     def chase(self, obj): | ||||||
|         x = obj[0][0].x |         x = obj[0][0].x | ||||||
|  | @ -331,22 +327,39 @@ class Skeleton(Mobs): | ||||||
|             self.y += moveto[1] / fps |             self.y += moveto[1] / fps | ||||||
|         else: |         else: | ||||||
|             self.attack(moveto, obj) |             self.attack(moveto, obj) | ||||||
| 
 |      | ||||||
|     def attack(self, moveto, obj): |  | ||||||
|         if self.lastAttack + self.attack_speed * 1000 < pg.time.get_ticks(): |  | ||||||
|             obj[3].append(Arrow("arrow", 200, self.x, self.y, moveto, self.damage)) |  | ||||||
|             self.lastAttack = pg.time.get_ticks() |  | ||||||
|      |      | ||||||
|     def hurt(self, damage, objects): |     def hurt(self, damage, objects): | ||||||
|         self.health -= damage |         self.health -= damage | ||||||
|         if self.health <= 0: |         if self.health <= 0: | ||||||
|             self.hidden = True |             self.hidden = True | ||||||
|             objects[1].remove(self) |             objects[1].remove(self) | ||||||
| 
 |      | ||||||
|  |      | ||||||
|     def update(self, obj): |     def update(self, obj): | ||||||
|         self.chase(obj) |         self.chase(obj) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | class Skeleton(Mobs): | ||||||
|  |     def __init__(self, name, ms, x, y, health, damage, level, asp, atr, sprite = 'people/skeleton.png', drops=0) -> None: | ||||||
|  |         super().__init__(name, ms, sprite, x, y, health, damage, level, asp, atr, drops) | ||||||
|  |      | ||||||
|  |     def attack(self, moveto, obj): | ||||||
|  |         if self.lastAttack + self.attack_speed * 1000 < pg.time.get_ticks(): | ||||||
|  |             obj[3].append(Arrow("arrow", 200, self.x, self.y, moveto, self.damage)) | ||||||
|  |             self.lastAttack = pg.time.get_ticks() | ||||||
|  |      | ||||||
|  | 
 | ||||||
|  | class Zombie(Mobs): | ||||||
|  |     def __init__(self, name, ms, x, y, health, damage, level, asp, atr, sprite='people/zombie.png', drops=0) -> None: | ||||||
|  |         super().__init__(name, ms, sprite, x, y, health, damage, level, asp, atr, drops) | ||||||
|  |      | ||||||
|  |      | ||||||
|  |     def attack(self, moveto, obj): | ||||||
|  |         if self.lastAttack + self.attack_speed * 1000 < pg.time.get_ticks(): | ||||||
|  |             obj[3].append(Punch('punch', 100, self.x, self.y, moveto, self.damage)) | ||||||
|  |             self.lastAttack = pg.time.get_ticks() | ||||||
|  | 
 | ||||||
| class Weapons(Objects): | class Weapons(Objects): | ||||||
|     def __init__(self, name, ms, sprite, x, y, moveto, damage, life_ticks) -> None: |     def __init__(self, name, ms, sprite, x, y, moveto, damage, life_ticks) -> None: | ||||||
|         super().__init__(name, ms, sprite, x, y) |         super().__init__(name, ms, sprite, x, y) | ||||||
|  | @ -387,7 +400,7 @@ class Fireball(Spells): | ||||||
|         self.die(objects, Mobs) |         self.die(objects, Mobs) | ||||||
| 
 | 
 | ||||||
| class Windslash(Spells): | class Windslash(Spells): | ||||||
|     def __init__(self, name, ms, x, y, moveto, damage, sprite = 'weapons/windslash.png', life_ticks=500) -> None: |     def __init__(self, name, ms, x, y, moveto, damage, sprite = 'weapons/windslash.png', life_ticks=700) -> None: | ||||||
|         super().__init__(name, ms, sprite, x, y, moveto, damage, life_ticks) |         super().__init__(name, ms, sprite, x, y, moveto, damage, life_ticks) | ||||||
|      |      | ||||||
|     def update(self, objects): |     def update(self, objects): | ||||||
|  | @ -407,6 +420,15 @@ class Arrow(Weapons): | ||||||
|         self.move(objects) |         self.move(objects) | ||||||
|         self.die(objects, MainCharacter) |         self.die(objects, MainCharacter) | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
|  | class Punch(Weapons): | ||||||
|  |     def __init__(self, name, ms, x, y, moveto, damage, sprite = 'weapons/empty.png', life_ticks=100) -> None: | ||||||
|  |         super().__init__(name, ms, sprite, x, y, moveto, damage, life_ticks) | ||||||
|  |      | ||||||
|  |     def update(self, objects): | ||||||
|  |         self.move(objects) | ||||||
|  |         self.die(objects, MainCharacter) | ||||||
|  | 
 | ||||||
| class Fire(Objects): | class Fire(Objects): | ||||||
|     def __init__(self, name, ms, x, y, sprite='background/fireplace.png') -> None: |     def __init__(self, name, ms, x, y, sprite='background/fireplace.png') -> None: | ||||||
|         super().__init__(name, ms, sprite, x, y) |         super().__init__(name, ms, sprite, x, y) | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue