Compare commits
	
		
			2 Commits
		
	
	
		
			6952e88e61
			...
			fc171cd523
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| fc171cd523 | |||
| 56857e24b8 | 
							
								
								
									
										21
									
								
								main.py
									
									
									
									
									
								
							
							
						
						
									
										21
									
								
								main.py
									
									
									
									
									
								
							| @ -1,6 +1,7 @@ | ||||
| import pygame | ||||
| import time | ||||
| import sys | ||||
| import random | ||||
| 
 | ||||
| from world.world import World, Position | ||||
| from world.render_objects import DebugRenderObject, FoodObject | ||||
| @ -23,7 +24,7 @@ GRID_WIDTH = 20  # Number of cells horizontally | ||||
| GRID_HEIGHT = 15  # Number of cells vertically | ||||
| CELL_SIZE = 20  # Size of each cell in pixels | ||||
| 
 | ||||
| DEFAULT_TPS = 200  # Amount of ticks per second for the simulation | ||||
| DEFAULT_TPS = 20  # Amount of ticks per second for the simulation | ||||
| 
 | ||||
| 
 | ||||
| class Camera: | ||||
| @ -226,7 +227,9 @@ def main(): | ||||
|     world = World() | ||||
| 
 | ||||
|     world.add_object(DebugRenderObject(Position(0,0))) | ||||
|     world.add_object(FoodObject(Position(100, 0))) | ||||
| 
 | ||||
|     # setting the seed to 67 >_< | ||||
|     random.seed(67) | ||||
| 
 | ||||
|     running = True | ||||
|     while running: | ||||
| @ -271,6 +274,14 @@ def main(): | ||||
|             print("Tick logic executed") | ||||
|             world.tick_all() | ||||
| 
 | ||||
|             # gets every object in the world and returns amount of FoodObjects | ||||
|             objects = world.get_objects() | ||||
|             food = len([obj for obj in objects if isinstance(obj, FoodObject)]) | ||||
|             print(f"Food count: {food}") | ||||
|             if food < 10: | ||||
|                 for i in range(10 - food): | ||||
|                     world.add_object(FoodObject(Position(random.randint(-200, 200), random.randint(-200, 200)))) | ||||
| 
 | ||||
|         # Calculate TPS every second | ||||
|         if current_time - last_tps_time >= 1.0: | ||||
|             actual_tps = tick_counter | ||||
| @ -303,6 +314,12 @@ def main(): | ||||
|         tps_rect.bottomright = (SCREEN_WIDTH - 10, SCREEN_HEIGHT - 10) | ||||
|         screen.blit(tps_text, tps_rect) | ||||
| 
 | ||||
|         # Render camera position and speed in bottom left | ||||
|         cam_text = font.render(f"Camera: ({camera.x:.2f}, {camera.y:.2f}), Speed: {camera.speed:.2f}", True, WHITE) | ||||
|         cam_rect = cam_text.get_rect() | ||||
|         cam_rect.bottomleft = (10, SCREEN_HEIGHT - 10) | ||||
|         screen.blit(cam_text, cam_rect) | ||||
| 
 | ||||
|         # Update display | ||||
|         pygame.display.flip() | ||||
|         clock.tick(180) | ||||
|  | ||||
| @ -2,6 +2,13 @@ from world.world import Position | ||||
| 
 | ||||
| import pygame | ||||
| 
 | ||||
| # returns desired yellow value for food decay | ||||
| def food_decay_yellow(decay): | ||||
|     if decay < 128: | ||||
|         return decay | ||||
|     else: | ||||
|         return 255 - decay | ||||
| 
 | ||||
| class DebugRenderObject: | ||||
|     def __init__(self, position: Position): | ||||
|         self.position = position | ||||
| @ -21,10 +28,9 @@ class FoodObject: | ||||
|     def tick(self): | ||||
|         self.decay += 1 | ||||
| 
 | ||||
|         if (self.decay > 255): | ||||
|             self.decay = 0 | ||||
|         if self.decay > 255: | ||||
|             self.decay = 0 # eventually will raise a destroy flag | ||||
| 
 | ||||
|     def render(self, camera, screen): | ||||
|         if camera.is_in_view(*self.position.get_position()): | ||||
|             pygame.draw.circle(screen, (255,self.decay,0), camera.world_to_screen(*self.position.get_position()), 5 * camera.zoom) | ||||
| 
 | ||||
|             pygame.draw.circle(screen, (255-self.decay,food_decay_yellow(self.decay),0), camera.world_to_screen(*self.position.get_position()), 5 * camera.zoom) | ||||
|  | ||||
| @ -14,6 +14,9 @@ class World: | ||||
|     def add_object(self, new_object): | ||||
|         self.objects.append(new_object) | ||||
| 
 | ||||
|     def get_objects(self): | ||||
|         return self.objects | ||||
| 
 | ||||
| class Position: | ||||
|     def __init__(self, x, y): | ||||
|         self.x = x | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user