enemy_manager porada jak zaimplementowac akcje unikanlą w enemy różnego rodzaju które znajdują się w jednym kontenerze
Ostatnio zmodyfikowano dzisiaj: 1h » 43 min
aaadam Temat założony przez niniejszego użytkownika |
enemy_manager porada jak zaimplementowac akcje unikanlą w enemy różnego rodzaju które znajdują się w jednym kontenerze » 2025-11-29 21:38:17 witam, tworzę sobie grę vampire survivors, mam już poruszanie się playerem, dash, spawn enemy w liscie kilka rodzajów(polomorfizm), teraz chciałbym dodać aby co kilka sekund jakiś enemy z puli wykonywał dodatkowe akcje np dash w stronę player lub teleport za playera. Zastanawiam się jak do poprawnie zaimplementować aby można było to rozszerzać w przyszłości. Zastawiam się nad stworzeniem dodatkowej klasy enemy_manager i stworzyć instancje w game_engine i w niej trzymac listę enemy. Ale tutaj jest dodatkowy problem, jak mam jedną listę enemy bo polimorfizm to jak poporawnie wybierac z tej listy enemy jednego rodzaju i z tej puli losowo wybierac jednego enemy, bo np fast enemy robi dash w strone playera a jakis inny enemy robi teleport za playera, jeden rodzaj enemy robi swoją unikalną akcje, poniżej dodałem log jak wygląda moja struktura aktualnie. Proszę o pomoc :), pozdro.
| main.py │ camera.py │ game_engine.py │ __init__.py │ ├───config │ │ game.py │ │ player.py │ │ spawn_manager.py │ │ __init__.py │ │ │ ├───common │ │ colors.py │ │ window.py │ │ __init__.py │ │ │ ├───enemies │ │ base_enemy.py │ │ elite_enemy.py │ │ fast_enemy.py │ │ tank_enemy.py │ │ __init__.py │ │ │ └───weapons │ base_weapon.py │ basic_weapon.py │ __init__.py │ ├───entities │ │ player.py │ │ __init__.py │ │ │ ├───enemies │ │ base_enemy.py │ │ basic_enemy.py │ │ elite_enemy.py │ │ fast_enemy.py │ │ tank_enemy.py │ │ __init__.py │ │ │ ├───pickups │ │ base_pickup.py │ │ health_pickup.py │ │ xp_orb.py │ │ __init__.py │ │ │ ├───projectiles │ │ base_projectile.py │ │ basic_projectile.py │ │ __init__.py │ │ │ └───weapons │ base_weapon.py │ basic_weapon.py │ __init__.py │ ├───systems │ │ enemy_spawner.py │ │ upgrade_system.py │ │ xp_system.py │ │ __init__.py │ │ │ └───pickups │ drop_tables.py │ pickup_manager.py │ __init__.py │ ├───ui │ upgrade_menu.py │ __init__.py │ └───upgrades base_upgrade.py new_weapon_upgrade.py stat_upgrade.py weapon_level_upgrade.py __init__.py |
|
| « 1 » |