Compare commits
	
		
			3 Commits
		
	
	
		
			d57f993868
			...
			3988f0a6fc
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | 3988f0a6fc | ||
|   | 17a070e99b | ||
|   | ad02f34b6c | 
| @ -19,4 +19,4 @@ repos: | |||||||
|     hooks: |     hooks: | ||||||
|       # Compile requirements |       # Compile requirements | ||||||
|       - id: pip-compile |       - id: pip-compile | ||||||
|         args: [ requirements.in, -o, requirements.txt ] |         args: [ pyproject.toml, -o, requirements.txt ] | ||||||
							
								
								
									
										25
									
								
								main.py
									
									
									
									
									
								
							
							
						
						
									
										25
									
								
								main.py
									
									
									
									
									
								
							| @ -6,8 +6,8 @@ import sys | |||||||
| pygame.init() | pygame.init() | ||||||
| 
 | 
 | ||||||
| # Constants | # Constants | ||||||
| SCREEN_WIDTH = 1920/2 | SCREEN_WIDTH = 1920 / 2 | ||||||
| SCREEN_HEIGHT = 1080/2 | SCREEN_HEIGHT = 1080 / 2 | ||||||
| BLACK = (0, 0, 0) | BLACK = (0, 0, 0) | ||||||
| DARK_GRAY = (64, 64, 64) | DARK_GRAY = (64, 64, 64) | ||||||
| GRAY = (128, 128, 128) | GRAY = (128, 128, 128) | ||||||
| @ -50,7 +50,9 @@ class Camera: | |||||||
|             self.target_y = 0 |             self.target_y = 0 | ||||||
| 
 | 
 | ||||||
|         # Smooth camera movement with drift |         # Smooth camera movement with drift | ||||||
|         smoothing_factor = 1 - pow(1 - self.smoothing, deltatime * 60)  # Adjust smoothing based on deltatime |         smoothing_factor = 1 - pow( | ||||||
|  |             1 - self.smoothing, deltatime * 60 | ||||||
|  |         )  # Adjust smoothing based on deltatime | ||||||
|         self.x += (self.target_x - self.x) * smoothing_factor |         self.x += (self.target_x - self.x) * smoothing_factor | ||||||
|         self.y += (self.target_y - self.y) * smoothing_factor |         self.y += (self.target_y - self.y) * smoothing_factor | ||||||
| 
 | 
 | ||||||
| @ -126,14 +128,21 @@ def draw_grid(screen, camera, showing_grid=True): | |||||||
|         return  # Exit early if grid is not visible |         return  # Exit early if grid is not visible | ||||||
| 
 | 
 | ||||||
|     # Check if grid is visible on screen |     # Check if grid is visible on screen | ||||||
|     if (grid_right < 0 or grid_left > SCREEN_WIDTH or |     if ( | ||||||
|             grid_bottom < 0 or grid_top > SCREEN_HEIGHT): |             grid_right < 0 | ||||||
|  |             or grid_left > SCREEN_WIDTH | ||||||
|  |             or grid_bottom < 0 | ||||||
|  |             or grid_top > SCREEN_HEIGHT | ||||||
|  |     ): | ||||||
|         return  # Grid is completely off-screen |         return  # Grid is completely off-screen | ||||||
| 
 | 
 | ||||||
|     # Fill the grid area with dark gray background |     # Fill the grid area with dark gray background | ||||||
|     grid_rect = pygame.Rect(max(0, grid_left), max(0, grid_top), |     grid_rect = pygame.Rect( | ||||||
|  |         max(0, grid_left), | ||||||
|  |         max(0, grid_top), | ||||||
|         min(SCREEN_WIDTH, grid_right) - max(0, grid_left), |         min(SCREEN_WIDTH, grid_right) - max(0, grid_left), | ||||||
|                             min(SCREEN_HEIGHT, grid_bottom) - max(0, grid_top)) |         min(SCREEN_HEIGHT, grid_bottom) - max(0, grid_top), | ||||||
|  |     ) | ||||||
| 
 | 
 | ||||||
|     # Only draw if the rectangle has positive dimensions |     # Only draw if the rectangle has positive dimensions | ||||||
|     if grid_rect.width > 0 and grid_rect.height > 0: |     if grid_rect.width > 0 and grid_rect.height > 0: | ||||||
| @ -181,7 +190,7 @@ def main(): | |||||||
| 
 | 
 | ||||||
|     is_showing_grid = True  # Flag to control grid visibility |     is_showing_grid = True  # Flag to control grid visibility | ||||||
| 
 | 
 | ||||||
|     font = pygame.font.Font('freesansbold.ttf', 16) |     font = pygame.font.Font("freesansbold.ttf", 16) | ||||||
| 
 | 
 | ||||||
|     tick_interval = 1.0 / DEFAULT_TPS  # Time per tick |     tick_interval = 1.0 / DEFAULT_TPS  # Time per tick | ||||||
|     last_tick_time = time.perf_counter()  # Tracks the last tick time |     last_tick_time = time.perf_counter()  # Tracks the last tick time | ||||||
|  | |||||||
| @ -8,3 +8,8 @@ dependencies = [ | |||||||
|     "pygame>=2.6.1", |     "pygame>=2.6.1", | ||||||
|     "pytest>=8.3.5", |     "pytest>=8.3.5", | ||||||
| ] | ] | ||||||
|  | 
 | ||||||
|  | [dependency-groups] | ||||||
|  | dev = [ | ||||||
|  |     "ruff>=0.11.12", | ||||||
|  | ] | ||||||
|  | |||||||
| @ -1,3 +1,2 @@ | |||||||
| def test_tests(): | def test_tests(): | ||||||
|     assert True  # This is a placeholder test to ensure the test framework is working. |     assert True  # This is a placeholder test to ensure the test framework is working. | ||||||
|     # You can add more tests here as needed. |  | ||||||
							
								
								
									
										33
									
								
								uv.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										33
									
								
								uv.lock
									
									
									
										generated
									
									
									
								
							| @ -39,6 +39,11 @@ dependencies = [ | |||||||
|     { name = "pytest" }, |     { name = "pytest" }, | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
|  | [package.dev-dependencies] | ||||||
|  | dev = [ | ||||||
|  |     { name = "ruff" }, | ||||||
|  | ] | ||||||
|  | 
 | ||||||
| [package.metadata] | [package.metadata] | ||||||
| requires-dist = [ | requires-dist = [ | ||||||
|     { name = "pre-commit", specifier = ">=4.2.0" }, |     { name = "pre-commit", specifier = ">=4.2.0" }, | ||||||
| @ -46,6 +51,9 @@ requires-dist = [ | |||||||
|     { name = "pytest", specifier = ">=8.3.5" }, |     { name = "pytest", specifier = ">=8.3.5" }, | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
|  | [package.metadata.requires-dev] | ||||||
|  | dev = [{ name = "ruff", specifier = ">=0.11.12" }] | ||||||
|  | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "filelock" | name = "filelock" | ||||||
| version = "3.18.0" | version = "3.18.0" | ||||||
| @ -204,6 +212,31 @@ wheels = [ | |||||||
|     { url = "https://files.pythonhosted.org/packages/fa/de/02b54f42487e3d3c6efb3f89428677074ca7bf43aae402517bc7cca949f3/PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563", size = 156446, upload-time = "2024-08-06T20:33:04.33Z" }, |     { url = "https://files.pythonhosted.org/packages/fa/de/02b54f42487e3d3c6efb3f89428677074ca7bf43aae402517bc7cca949f3/PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563", size = 156446, upload-time = "2024-08-06T20:33:04.33Z" }, | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "ruff" | ||||||
|  | version = "0.11.12" | ||||||
|  | source = { registry = "https://pypi.org/simple" } | ||||||
|  | sdist = { url = "https://files.pythonhosted.org/packages/15/0a/92416b159ec00cdf11e5882a9d80d29bf84bba3dbebc51c4898bfbca1da6/ruff-0.11.12.tar.gz", hash = "sha256:43cf7f69c7d7c7d7513b9d59c5d8cafd704e05944f978614aa9faff6ac202603", size = 4202289, upload-time = "2025-05-29T13:31:40.037Z" } | ||||||
|  | wheels = [ | ||||||
|  |     { url = "https://files.pythonhosted.org/packages/60/cc/53eb79f012d15e136d40a8e8fc519ba8f55a057f60b29c2df34efd47c6e3/ruff-0.11.12-py3-none-linux_armv6l.whl", hash = "sha256:c7680aa2f0d4c4f43353d1e72123955c7a2159b8646cd43402de6d4a3a25d7cc", size = 10285597, upload-time = "2025-05-29T13:30:57.539Z" }, | ||||||
|  |     { url = "https://files.pythonhosted.org/packages/e7/d7/73386e9fb0232b015a23f62fea7503f96e29c29e6c45461d4a73bac74df9/ruff-0.11.12-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:2cad64843da9f134565c20bcc430642de897b8ea02e2e79e6e02a76b8dcad7c3", size = 11053154, upload-time = "2025-05-29T13:31:00.865Z" }, | ||||||
|  |     { url = "https://files.pythonhosted.org/packages/4e/eb/3eae144c5114e92deb65a0cb2c72326c8469e14991e9bc3ec0349da1331c/ruff-0.11.12-py3-none-macosx_11_0_arm64.whl", hash = "sha256:9b6886b524a1c659cee1758140138455d3c029783d1b9e643f3624a5ee0cb0aa", size = 10403048, upload-time = "2025-05-29T13:31:03.413Z" }, | ||||||
|  |     { url = "https://files.pythonhosted.org/packages/29/64/20c54b20e58b1058db6689e94731f2a22e9f7abab74e1a758dfba058b6ca/ruff-0.11.12-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3cc3a3690aad6e86c1958d3ec3c38c4594b6ecec75c1f531e84160bd827b2012", size = 10597062, upload-time = "2025-05-29T13:31:05.539Z" }, | ||||||
|  |     { url = "https://files.pythonhosted.org/packages/29/3a/79fa6a9a39422a400564ca7233a689a151f1039110f0bbbabcb38106883a/ruff-0.11.12-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f97fdbc2549f456c65b3b0048560d44ddd540db1f27c778a938371424b49fe4a", size = 10155152, upload-time = "2025-05-29T13:31:07.986Z" }, | ||||||
|  |     { url = "https://files.pythonhosted.org/packages/e5/a4/22c2c97b2340aa968af3a39bc38045e78d36abd4ed3fa2bde91c31e712e3/ruff-0.11.12-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:74adf84960236961090e2d1348c1a67d940fd12e811a33fb3d107df61eef8fc7", size = 11723067, upload-time = "2025-05-29T13:31:10.57Z" }, | ||||||
|  |     { url = "https://files.pythonhosted.org/packages/bc/cf/3e452fbd9597bcd8058856ecd42b22751749d07935793a1856d988154151/ruff-0.11.12-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:b56697e5b8bcf1d61293ccfe63873aba08fdbcbbba839fc046ec5926bdb25a3a", size = 12460807, upload-time = "2025-05-29T13:31:12.88Z" }, | ||||||
|  |     { url = "https://files.pythonhosted.org/packages/2f/ec/8f170381a15e1eb7d93cb4feef8d17334d5a1eb33fee273aee5d1f8241a3/ruff-0.11.12-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4d47afa45e7b0eaf5e5969c6b39cbd108be83910b5c74626247e366fd7a36a13", size = 12063261, upload-time = "2025-05-29T13:31:15.236Z" }, | ||||||
|  |     { url = "https://files.pythonhosted.org/packages/0d/bf/57208f8c0a8153a14652a85f4116c0002148e83770d7a41f2e90b52d2b4e/ruff-0.11.12-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:692bf9603fe1bf949de8b09a2da896f05c01ed7a187f4a386cdba6760e7f61be", size = 11329601, upload-time = "2025-05-29T13:31:18.68Z" }, | ||||||
|  |     { url = "https://files.pythonhosted.org/packages/c3/56/edf942f7fdac5888094d9ffa303f12096f1a93eb46570bcf5f14c0c70880/ruff-0.11.12-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:08033320e979df3b20dba567c62f69c45e01df708b0f9c83912d7abd3e0801cd", size = 11522186, upload-time = "2025-05-29T13:31:21.216Z" }, | ||||||
|  |     { url = "https://files.pythonhosted.org/packages/ed/63/79ffef65246911ed7e2290aeece48739d9603b3a35f9529fec0fc6c26400/ruff-0.11.12-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:929b7706584f5bfd61d67d5070f399057d07c70585fa8c4491d78ada452d3bef", size = 10449032, upload-time = "2025-05-29T13:31:23.417Z" }, | ||||||
|  |     { url = "https://files.pythonhosted.org/packages/88/19/8c9d4d8a1c2a3f5a1ea45a64b42593d50e28b8e038f1aafd65d6b43647f3/ruff-0.11.12-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:7de4a73205dc5756b8e09ee3ed67c38312dce1aa28972b93150f5751199981b5", size = 10129370, upload-time = "2025-05-29T13:31:25.777Z" }, | ||||||
|  |     { url = "https://files.pythonhosted.org/packages/bc/0f/2d15533eaa18f460530a857e1778900cd867ded67f16c85723569d54e410/ruff-0.11.12-py3-none-musllinux_1_2_i686.whl", hash = "sha256:2635c2a90ac1b8ca9e93b70af59dfd1dd2026a40e2d6eebaa3efb0465dd9cf02", size = 11123529, upload-time = "2025-05-29T13:31:28.396Z" }, | ||||||
|  |     { url = "https://files.pythonhosted.org/packages/4f/e2/4c2ac669534bdded835356813f48ea33cfb3a947dc47f270038364587088/ruff-0.11.12-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:d05d6a78a89166f03f03a198ecc9d18779076ad0eec476819467acb401028c0c", size = 11577642, upload-time = "2025-05-29T13:31:30.647Z" }, | ||||||
|  |     { url = "https://files.pythonhosted.org/packages/a7/9b/c9ddf7f924d5617a1c94a93ba595f4b24cb5bc50e98b94433ab3f7ad27e5/ruff-0.11.12-py3-none-win32.whl", hash = "sha256:f5a07f49767c4be4772d161bfc049c1f242db0cfe1bd976e0f0886732a4765d6", size = 10475511, upload-time = "2025-05-29T13:31:32.917Z" }, | ||||||
|  |     { url = "https://files.pythonhosted.org/packages/fd/d6/74fb6d3470c1aada019ffff33c0f9210af746cca0a4de19a1f10ce54968a/ruff-0.11.12-py3-none-win_amd64.whl", hash = "sha256:5a4d9f8030d8c3a45df201d7fb3ed38d0219bccd7955268e863ee4a115fa0832", size = 11523573, upload-time = "2025-05-29T13:31:35.782Z" }, | ||||||
|  |     { url = "https://files.pythonhosted.org/packages/44/42/d58086ec20f52d2b0140752ae54b355ea2be2ed46f914231136dd1effcc7/ruff-0.11.12-py3-none-win_arm64.whl", hash = "sha256:65194e37853158d368e333ba282217941029a28ea90913c67e558c611d04daa5", size = 10697770, upload-time = "2025-05-29T13:31:38.009Z" }, | ||||||
|  | ] | ||||||
|  | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "virtualenv" | name = "virtualenv" | ||||||
| version = "20.31.2" | version = "20.31.2" | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user