Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

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
Autor Wiadomość
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
P-183547
« 1 »
  Strona 1 z 1