Esempio n. 1
0
        private 队伍 convert(Team team)
        {
            队伍 队伍 = new 队伍();
            队伍.Name = team.Name;
            队伍.成员List = new List<角色>();
            foreach (var item in team.TeamRole)
            {
                Role role = item.Role;
                角色 角色 = 战斗管理.Create(role.Name.Trim(), role.兵种.Trim(), role.攻, role.防, role.智, role.速, role.行动点, role.兵力, role.兵力, item.排, item.列, role.基础攻击技能, role.技能1, role.技能2, role.被动技能, role.特殊技能);
                队伍.成员List.Add(角色);
            }

            return 队伍;
        }
Esempio n. 2
0
        public void Init(队伍 teamA, 队伍 teamB, 战地类型 战地类型)
        {
            teamA战场 = new 战场();
            teamA战场.当前回合 = 1;
            teamA战场.最大回合数 = 30;
            teamA战场.己方角色List = teamA.成员List;
            foreach (var 角色 in teamA.成员List)
                角色.IsTeamA = true;
            teamA战场.敌方角色List = teamB.成员List;
            foreach (var 角色 in teamB.成员List)
                角色.IsTeamA = false;
            teamA战场.己方队伍名称 = teamA.Name;
            teamA战场.敌方队伍名称 = teamB.Name;
            switch (战地类型)
            {
                case Battle.战地类型.野战:
                    teamA战场.战场修正 = 0;
                    teamA战场.战果 = 0;
                    break;
                case Battle.战地类型.防守_城市:
                    teamA战场.战场修正 = 20;
                    teamA战场.战果 = 500;
                    break;
                case Battle.战地类型.防守_小镇:
                    teamA战场.战场修正 = 12;
                    teamA战场.战果 = 200;
                    break;
                case Battle.战地类型.防守_山寨:
                    teamA战场.战场修正 = 4;
                    teamA战场.战果 = 0;
                    break;
                case Battle.战地类型.进攻_城市:
                    teamA战场.战场修正 = -20;
                    teamA战场.战果 = -500;
                    break;
                case Battle.战地类型.进攻_小镇:
                    teamA战场.战场修正 = -12;
                    teamA战场.战果 = -200;
                    break;
                case Battle.战地类型.进攻_山寨:
                    teamA战场.战场修正 = -4;
                    teamA战场.战果 = 0;
                    break;
            }

            List<角色> list = new List<角色>(teamA.成员List);
            list.AddRange(teamB.成员List);
            teamA战场.行动顺序 = new 行动顺序();
            teamA战场.行动顺序.初始化行动表(list);

            foreach (var 角色 in teamA战场.己方角色List)
            {
                if (角色.被动技能 != null && 角色.被动技能 is 战斗开始被动技能)
                {
                    战斗开始被动技能 战斗开始被动技能 = (战斗开始被动技能)角色.被动技能;
                    技能环境 技能环境 = createEnvironment(角色, true, new List<角色>() { 角色 });
                    战斗开始被动技能.Excute(技能环境);
                }

                if (角色.特殊技能 != null && 角色.特殊技能 is 战斗开始被动技能)
                {
                    战斗开始被动技能 战斗开始被动技能 = (战斗开始被动技能)角色.特殊技能;
                    技能环境 技能环境 = createEnvironment(角色, true, new List<角色>() { 角色 });
                    战斗开始被动技能.Excute(技能环境);
                }
            }

            foreach (var 角色 in teamA战场.敌方角色List)
            {
                if (角色.被动技能 != null && 角色.被动技能 is 战斗开始被动技能)
                {
                    战斗开始被动技能 战斗开始被动技能 = (战斗开始被动技能)角色.被动技能;
                    技能环境 技能环境 = createEnvironment(角色, false, new List<角色>() { 角色 });
                    战斗开始被动技能.Excute(技能环境);
                }

                if (角色.特殊技能 != null && 角色.特殊技能 is 战斗开始被动技能)
                {
                    战斗开始被动技能 战斗开始被动技能 = (战斗开始被动技能)角色.特殊技能;
                    技能环境 技能环境 = createEnvironment(角色, false, new List<角色>() { 角色 });
                    战斗开始被动技能.Excute(技能环境);
                }
            }
        }