public Tutorial(Character _currentCharacter)
        {
            Console.WriteLine($"Entering {name}...");
            Objective stayingAlive = new Objective("Stay alive!", "With death of this one the journey of its watcher ends.", true);

            stayingAlive.SetStatus(1);
            Objective foodSearch = new Objective("Find something to eat", "Staying alive is possible only when one has enough energy to move. So, one should search for something that moves to eat it", true);

            foodSearch.SetStatus(1);
            Objective guard = new Objective("Guard the nest", "One is caring not only for oneself, but for their children as well. Thought, sometimes exact priorities may shift a bit", true);

            guard.SetStatus(1);
            objectives = new List <Objective>()
            {
                stayingAlive, foodSearch, guard
            };
            for (int i = 0; i < objectives.Count; i++)
            {
                Console.WriteLine(objectives[i].ToString());
            }
            accessibleCreatures = new List <Type>()
            {
                typeof(Arboroharamiya), typeof(ShortLeggedLizard), typeof(Ahirmoneura)
            };
            territories = new List <ITerritory>()
            {
                TerritoryFactory.GenerateStart(this, 1, 1, Landscape.Option.YourNest)
            };
            currentCharacter = _currentCharacter;
            Console.WriteLine($"{name} level generated!");
            Console.WriteLine(levelDesc);
            Entrance();
        }
        private void InitializeTerritories(World world)
        {
            const float initialMoney = 1000f;

            world.InitializeTerritories(new List <TerritoryEntity>()
            {
                TerritoryFactory.Create("新緑教会", initialMoney),
                TerritoryFactory.CreatePlayer("魔法科学振興委員会", initialMoney)
            });
        }
Ejemplo n.º 3
0
        public ActionResult NameTerritory()
        {
            var vm = new NameTerritoryViewModel();

            // setup new territory for new users
            if (!this.UserContext.TerritoryId.HasValue)
            {
                // find a territory or create new one
                var available = this.Context.Territories.Where(x => x.Players.Count == 0);

                Territory territory = null;

                // todo: put this in domain/data layer
                if (available.Any())
                {
                    // get a random one
                    var length = available.Count();
                    var rand   = new Random();
                    var index  = rand.Next(0, length);
                    territory         = available.ToList().ElementAt(index);
                    territory.Players = new List <ApplicationUser>();
                    territory.Players.Add(this.UserContext);
                }
                else
                {
                    // create territory
                    territory = TerritoryFactory.CreateTerritory();
                    territory.Players.Add(this.UserContext);

                    this.Context.Territories.Add(territory);
                }

                TerritoryFactory.InitializeTerritory(territory);

                this.Context.SaveChanges();
            }

            return(View(vm));
        }