forked from InfoProjekt/game
		
	Development #6
					 3 changed files with 35 additions and 21 deletions
				
			
		
							
								
								
									
										
											BIN
										
									
								
								art/images/windslash.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								art/images/windslash.png
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 400 B | 
							
								
								
									
										4
									
								
								main.py
									
										
									
									
									
								
							
							
						
						
									
										4
									
								
								main.py
									
										
									
									
									
								
							|  | @ -88,6 +88,10 @@ def play(screen, clock, running, background, isblack, WIDTH, HEIGHT): | ||||||
|                 npc.update(pygame.key.get_pressed(), objects) |                 npc.update(pygame.key.get_pressed(), objects) | ||||||
|                 npc.draw(screen) |                 npc.draw(screen) | ||||||
|              |              | ||||||
|  |             if objects[1] ==[]: | ||||||
|  |                 objects[0][0].book.addspell('windslash') | ||||||
|  | 
 | ||||||
|  |          | ||||||
|         else: |         else: | ||||||
|             objects[0][0].book.hidden = not freeze |             objects[0][0].book.hidden = not freeze | ||||||
|             objects[0][0].book.draw(screen) |             objects[0][0].book.draw(screen) | ||||||
|  |  | ||||||
							
								
								
									
										50
									
								
								viecher.py
									
										
									
									
									
								
							
							
						
						
									
										50
									
								
								viecher.py
									
										
									
									
									
								
							|  | @ -202,6 +202,8 @@ class MainCharacter(Fighter): | ||||||
|             moveto = mouse- vec(self.x, self.y) |             moveto = mouse- vec(self.x, self.y) | ||||||
|             if self.book.current_sp == 'fireball': |             if self.book.current_sp == 'fireball': | ||||||
|                 weapon = Fireball('fb1', 100, self.x, self.y, moveto, 5) |                 weapon = Fireball('fb1', 100, self.x, self.y, moveto, 5) | ||||||
|  |             elif self.book.current_sp == 'windslash': | ||||||
|  |                 weapon = Windslash('ws1', 100, self.x, self.y, moveto, 5) | ||||||
|             else: |             else: | ||||||
|                 return |                 return | ||||||
|             obj[3].append(weapon) |             obj[3].append(weapon) | ||||||
|  | @ -313,7 +315,7 @@ class Book(): | ||||||
|         if spell not in self.sp_list: |         if spell not in self.sp_list: | ||||||
|             self.sp_list.append(spell) |             self.sp_list.append(spell) | ||||||
|             self.current_sp = spell |             self.current_sp = spell | ||||||
|             self.buttons.append(Button(200, self.buttons_height, 58, 50, f'{spell}.png', 'medieval', 23, attributes=[spell], onclickFunction=self.update_spell)) |             self.buttons.append(Button(200, self.buttons_height, 58, 50, f'{spell}_icon.png', 'medieval', 23, attributes=[spell], onclickFunction=self.update_spell)) | ||||||
|             self.buttons_height += 100 |             self.buttons_height += 100 | ||||||
| 
 | 
 | ||||||
|     def update_spell(self, spell): |     def update_spell(self, spell): | ||||||
|  | @ -357,10 +359,12 @@ class Skeleton(Mobs): | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| class Weapons(Objects): | class Weapons(Objects): | ||||||
|     def __init__(self, name, ms, sprite, x, y, moveto, damage) -> 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) | ||||||
|         self.moveto = moveto |         self.moveto = moveto | ||||||
|         self.damage = damage |         self.damage = damage | ||||||
|  |         self.life_ticks= life_ticks | ||||||
|  |         self.spawn_tick = pg.time.get_ticks() | ||||||
|         pos = vec(1,0) |         pos = vec(1,0) | ||||||
|         angle = pos.angle_to(moveto) |         angle = pos.angle_to(moveto) | ||||||
|         with open(f'art/images/{sprite}') as i: |         with open(f'art/images/{sprite}') as i: | ||||||
|  | @ -373,32 +377,38 @@ class Weapons(Objects): | ||||||
|             self.hidden = True |             self.hidden = True | ||||||
|             objects[3].remove(self) |             objects[3].remove(self) | ||||||
|              |              | ||||||
| class Spells(Weapons): |     def move(self, objects): | ||||||
|     def __init__(self, name, ms, sprite, x, y, moveto, damage) -> None: |  | ||||||
|         super().__init__(name, ms, sprite, x, y, moveto, damage) |  | ||||||
| 
 |  | ||||||
| class Fireball(Spells): |  | ||||||
|     def __init__(self, name, ms, x, y, moveto, damage, sprite = 'fireball.png') -> None: |  | ||||||
|         super().__init__(name, ms, sprite, x, y, moveto, damage) |  | ||||||
|      |  | ||||||
|     def move(self): |  | ||||||
|         self.moveto.scale_to_length(self.speed) |         self.moveto.scale_to_length(self.speed) | ||||||
|         self.x += self.moveto[0] / fps |         self.x += self.moveto[0] / fps | ||||||
|         self.y += self.moveto[1] / fps |         self.y += self.moveto[1] / fps | ||||||
|  |         if pg.time.get_ticks() - self.spawn_tick > self.life_ticks: | ||||||
|  |             self.hidden = True | ||||||
|  |             objects[3].remove(self) | ||||||
|  | 
 | ||||||
|  | class Spells(Weapons): | ||||||
|  |     def __init__(self, name, ms, sprite, x, y, moveto, damage, life_ticks) -> None: | ||||||
|  |         super().__init__(name, ms, sprite, x, y, moveto, damage, life_ticks) | ||||||
|  | 
 | ||||||
|  | class Fireball(Spells): | ||||||
|  |     def __init__(self, name, ms, x, y, moveto, damage, sprite = 'fireball.png', life_ticks=5000) -> None: | ||||||
|  |         super().__init__(name, ms, sprite, x, y, moveto, damage, life_ticks) | ||||||
|      |      | ||||||
|     def update(self, objects): |     def update(self, objects): | ||||||
|         self.move() |         self.move(objects) | ||||||
|  |         self.die(objects, Mobs) | ||||||
|  | 
 | ||||||
|  | class Windslash(Spells): | ||||||
|  |     def __init__(self, name, ms, x, y, moveto, damage, sprite = 'windslash.png', life_ticks=150) -> None: | ||||||
|  |         super().__init__(name, ms, sprite, x, y, moveto, damage, life_ticks) | ||||||
|  |      | ||||||
|  |     def update(self, objects): | ||||||
|  |         self.move(objects) | ||||||
|         self.die(objects, Mobs) |         self.die(objects, Mobs) | ||||||
| 
 | 
 | ||||||
| class Arrow(Weapons): | class Arrow(Weapons): | ||||||
|     def __init__(self, name, ms, x, y, moveto, damage, sprite = 'arrow.png') -> None: |     def __init__(self, name, ms, x, y, moveto, damage, sprite = 'arrow.png', life_ticks=5000) -> None: | ||||||
|         super().__init__(name, ms, sprite, x, y, moveto, damage) |         super().__init__(name, ms, sprite, x, y, moveto, damage, life_ticks) | ||||||
| 
 |  | ||||||
|     def move(self): |  | ||||||
|         self.moveto.scale_to_length(self.speed) |  | ||||||
|         self.x += self.moveto[0] / fps |  | ||||||
|         self.y += self.moveto[1] / fps |  | ||||||
|      |      | ||||||
|     def update(self, objects): |     def update(self, objects): | ||||||
|         self.move() |         self.move(objects) | ||||||
|         self.die(objects, MainCharacter) |         self.die(objects, MainCharacter) | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue