-module(ai_supervisor). -behaviour(supervisor). -export([start_link/0, init/1]). -export([start_ai/1, stop_ai/1]). %% API start_link() -> supervisor:start_link({local, ?MODULE}, ?MODULE, []). %% 启动一个AI玩家 start_ai(Difficulty) -> supervisor:start_child(?MODULE, [Difficulty]). %% 停止一个AI玩家 stop_ai(AiPid) -> supervisor:terminate_child(?MODULE, AiPid). %% Callbacks init([]) -> SupFlags = #{strategy => simple_one_for_one, intensity => 10, period => 60}, ChildSpecs = [ #{id => ai_player, start => {ai_player, create_ai_player, []}, restart => temporary, shutdown => 5000, type => worker, modules => [ai_player]} ], {ok, {SupFlags, ChildSpecs}}.