Ejemplo n.º 1
0
        private List <Slide> GenerateTypeXSlideSequence(UserGameSettings gameSettings, string seed, bool isAX = false)
        {
            // Create slide collection using the 50%X and 50%Distractor
            List <Slide> SlideCollection = new List <Slide>();
            // X
            int typeXSlideCount = (int)(gameSettings.SlideCount * 0.5);

            for (int i = 0; i < typeXSlideCount; i++)
            {
                var slide = new Slide(SlideType.X, gameSettings.SlideDisplayDuration, XSlideImage, ThreadSafeRandom.GetRandomNumber(gameSettings.BlankSlideDisplayTimes));
                if (isAX)
                {
                    slide.BorderColor = XSlideBorderColor;
                }
                SlideCollection.Add(slide);
            }
            // DistractorY
            for (int i = 0; i < gameSettings.SlideCount - typeXSlideCount; i++)
            {
                var slide = new Slide(SlideType.Y, gameSettings.SlideDisplayDuration, YDistractorSlideImage, ThreadSafeRandom.GetRandomNumber(gameSettings.BlankSlideDisplayTimes));

                if (isAX)
                {
                    slide.BorderColor = GetRandomYDistractorBorderColor();
                }

                SlideCollection.Add(slide);
            }
            // Generate random number generator
            Random random = new Random(seed.GetHashCode());

            // Shuffle
            return(SlideCollection.OrderBy(i => random.Next()).ToList <Slide>());
        }
Ejemplo n.º 2
0
        public void CreateTown(Account Player, UserGameSettings Settings)
        {
            Towns NewTown = new Towns();

            SettingStats(Settings);
            SettingTown(NewTown, Player);
            Player.Towns.Add(NewTown);
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> Starter(UserGameSettings Starter)
        {
            var Player = await _userManager.FindByIdAsync(User.GetUserId());

            var Set = await _context.UserGameSettings.LastOrDefaultAsync(x => x.UserId == Player.Id);

            var GameEngine = new CreateNewTown();

            GameEngine.CreateTown(Player, Set);
            await _context.SaveChangesAsync();

            return(RedirectToAction("Index"));
        }
Ejemplo n.º 4
0
        public Game Generate(GameType gameType, UserGameSettings gameSettings, long userId, string userName, string seed = "")
        {
            if (string.IsNullOrWhiteSpace(seed))
            {
                seed = ThreadSafeRandom.CreateRandomString(SeedLength);
            }

            // Create game
            Game game = new Game(gameType, gameSettings, userId, userName, seed);

            // Pick game slides
            switch (gameType)
            {
            case GameType.TypeX:
                game.Slides = GenerateTypeXSlideSequence(gameSettings, seed, false);
                break;

            case GameType.SeekX:
                game.Slides = GenerateSeekXSlideSequence(gameSettings, seed, false);
                break;

            case GameType.TypeAX:
                game.Slides = GenerateTypeXSlideSequence(gameSettings, seed, true);
                break;

            case GameType.SeekAX:
                game.Slides = GenerateSeekXSlideSequence(gameSettings, seed, true);
                break;

            case GameType.SeekAXQuiz:
                break;

            default:
                break;
            }

            return(game);
        }
Ejemplo n.º 5
0
        public ICollection <UpgradeModel> BuildingPage(Towns Town)
        {
            VindorelDbContext          _context = new VindorelDbContext();
            ICollection <UpgradeModel> Upgrades = new List <UpgradeModel>();

            Buildings     = _context.Buildings.LastOrDefault(x => x.TownID == Town.TownId);
            Settings      = _context.UserGameSettings.LastOrDefault(x => x.UserId == Town.UserId);
            Populations   = _context.Population.LastOrDefault(x => x.TownId == Town.TownId);
            this.Upgrades = Upgrades;
            this.Upgrades.Add(UpgradeTownCenter(Buildings.TownCenter));
            this.Upgrades.Add(UpgradeCityWall(Buildings.CityWall));
            this.Upgrades.Add(UpgradeTechnologyCamp(Buildings.TechnologyCamp));
            this.Upgrades.Add(UpgradeTradeHouse(Buildings.TradeHouse));
            this.Upgrades.Add(UpgradeWareHouse(Buildings.Warehouse));
            this.Upgrades.Add(UpgradeTemple(Buildings.Temple));
            this.Upgrades.Add(UpgradeBarracks(Buildings.Barracks));
            this.Upgrades.Add(UpgradeFarm(Buildings.Farm));
            this.Upgrades.Add(UpgradeMeatCamp(Buildings.MeatCamp));
            this.Upgrades.Add(UpgradeMine(Buildings.Mine));
            this.Upgrades.Add(UpgradeWoodCutterHut(Buildings.WoodCutterHut));
            this.Upgrades.Add(UpgradeTaxHouse(Buildings.TaxHouse));

            return(Upgrades);
        }
Ejemplo n.º 6
0
        public async void SelectedUpgrade(UpgradeModel SelectedBuilding)
        {
            Town        = _context.Towns.LastOrDefault(x => x.UserId == Player.Id);
            Settings    = _context.UserGameSettings.LastOrDefault(x => x.UserId == Player.Id);
            Populations = _context.Population.LastOrDefault(x => x.TownId == Town.TownId);
            #region SelectBuild
            switch (SelectedBuilding.index)
            {
            case 0:
                Buildings.TownCenter++;
                break;

            case 1:
                Buildings.CityWall++;
                break;

            case 2:
                Buildings.TechnologyCamp++;
                break;

            case 3:
                Buildings.TradeHouse++;
                break;

            case 4:
                Buildings.Warehouse++;
                break;

            case 5:
                Buildings.Temple++;
                break;

            case 6:
                Buildings.Barracks++;
                break;

            case 7:
                Buildings.Farm++;
                break;

            case 8:
                Buildings.MeatCamp++;
                break;

            case 9:
                Buildings.Mine++;
                break;

            case 10:
                Buildings.WoodCutterHut++;
                break;

            case 11:
                Buildings.TaxHouse++;
                break;
            }
            #endregion
            #region Upgraded
            Settings.Point_Culture    += SelectedBuilding.Gain_Culture;
            Settings.Point_Economy    += SelectedBuilding.Gain_Economy;
            Settings.Point_Military   += SelectedBuilding.Gain_Military;
            Settings.Point_Exp        += SelectedBuilding.Gain_Exp;
            Settings.Point_Karma      += SelectedBuilding.Gain_Karma;
            Settings.NaturalAttack    += SelectedBuilding.Gain_NaturalAttack;
            Settings.NaturalDef       += SelectedBuilding.Gain_NaturalDef;
            Town.TownWOOD_perHour      = SelectedBuilding.Gain_TownWOOD_perHour;
            Town.TownGOLD_perHour      = SelectedBuilding.Gain_TownGOLD_perHour;
            Town.TownIRON_perHour      = SelectedBuilding.Gain_TownIRON_perHour;
            Town.TownMeat_perHour      = SelectedBuilding.Gain_TownMeat_perHour;
            Town.TownWHEAT_perHour    += SelectedBuilding.Gain_TownWHEAT_perHour;
            Populations.TraderPop     += SelectedBuilding.Gain_TraderPop;
            Populations.AggressivePop += SelectedBuilding.Gain_AgressivePop;
            Populations.CulturalPop   += SelectedBuilding.Gain_CulturalPop;
            #endregion
            await _context.SaveChangesAsync();
        }
Ejemplo n.º 7
0
 public async Task UpdateUserSettings(UserGameSettings gameSettings)
 {
     await _repositoryUserSettings.UpdateWithChildrenAsync(gameSettings);
 }
Ejemplo n.º 8
0
 private void SettingStats(UserGameSettings Settings)
 {
     if (Settings.God == "fus")
     {
         Settings.AnarchyRate      = 1;
         Settings.ArmySpeed        = 1;
         Settings.BuildSpeed       = 1;
         Settings.CultureRate      = 1;
         Settings.NaturalAttack    = 1;
         Settings.NaturalDef       = 1;
         Settings.Point_Culture    = 1;
         Settings.Point_Economy    = 1;
         Settings.Point_Exp        = 1;
         Settings.Point_Karma      = 1;
         Settings.Point_Military   = 1;
         Settings.NaturalBreedRate = 1;
         Settings.TraderRate       = 1;
         Settings.TrainSpeed       = 1;
     }
     if (Settings.God == "teliros")
     {
         Settings.AnarchyRate      = 1;
         Settings.ArmySpeed        = 1;
         Settings.BuildSpeed       = 1;
         Settings.CultureRate      = 1;
         Settings.NaturalAttack    = 1;
         Settings.NaturalDef       = 1;
         Settings.Point_Culture    = 1;
         Settings.Point_Economy    = 1;
         Settings.Point_Exp        = 1;
         Settings.Point_Karma      = 1;
         Settings.Point_Military   = 1;
         Settings.NaturalBreedRate = 1;
         Settings.TraderRate       = 1;
         Settings.TrainSpeed       = 1;
     }
     if (Settings.God == "sopyak")
     {
         Settings.AnarchyRate      = 1;
         Settings.ArmySpeed        = 1;
         Settings.BuildSpeed       = 1;
         Settings.CultureRate      = 1;
         Settings.NaturalAttack    = 1;
         Settings.NaturalDef       = 1;
         Settings.Point_Culture    = 1;
         Settings.Point_Economy    = 1;
         Settings.Point_Exp        = 1;
         Settings.Point_Karma      = 1;
         Settings.Point_Military   = 1;
         Settings.NaturalBreedRate = 1;
         Settings.TraderRate       = 1;
         Settings.TrainSpeed       = 1;
     }
     if (Settings.God == "xaraxel")
     {
         Settings.AnarchyRate      = 1;
         Settings.ArmySpeed        = 1;
         Settings.BuildSpeed       = 1;
         Settings.CultureRate      = 1;
         Settings.NaturalAttack    = 1;
         Settings.NaturalDef       = 1;
         Settings.Point_Culture    = 1;
         Settings.Point_Economy    = 1;
         Settings.Point_Exp        = 1;
         Settings.Point_Karma      = 1;
         Settings.Point_Military   = 1;
         Settings.NaturalBreedRate = 1;
         Settings.TraderRate       = 1;
         Settings.TrainSpeed       = 1;
     }
     if (Settings.God == "handor")
     {
         Settings.AnarchyRate      = 1;
         Settings.ArmySpeed        = 1;
         Settings.BuildSpeed       = 1;
         Settings.CultureRate      = 1;
         Settings.NaturalAttack    = 1;
         Settings.NaturalDef       = 1;
         Settings.Point_Culture    = 1;
         Settings.Point_Economy    = 1;
         Settings.Point_Exp        = 1;
         Settings.Point_Karma      = 1;
         Settings.Point_Military   = 1;
         Settings.NaturalBreedRate = 1;
         Settings.TraderRate       = 1;
         Settings.TrainSpeed       = 1;
     }
     if (Settings.God == "zean")
     {
         Settings.AnarchyRate      = 1;
         Settings.ArmySpeed        = 1;
         Settings.BuildSpeed       = 1;
         Settings.CultureRate      = 1;
         Settings.NaturalAttack    = 1;
         Settings.NaturalDef       = 1;
         Settings.Point_Culture    = 1;
         Settings.Point_Economy    = 1;
         Settings.Point_Exp        = 1;
         Settings.Point_Karma      = 1;
         Settings.Point_Military   = 1;
         Settings.NaturalBreedRate = 1;
         Settings.TraderRate       = 1;
         Settings.TrainSpeed       = 1;
     }
     if (Settings.God == "atheist")
     {
         Settings.AnarchyRate      = 1;
         Settings.ArmySpeed        = 1;
         Settings.BuildSpeed       = 1;
         Settings.CultureRate      = 1;
         Settings.NaturalAttack    = 1;
         Settings.NaturalDef       = 1;
         Settings.Point_Culture    = 1;
         Settings.Point_Economy    = 1;
         Settings.Point_Exp        = 1;
         Settings.Point_Karma      = 1;
         Settings.Point_Military   = 1;
         Settings.NaturalBreedRate = 1;
         Settings.TraderRate       = 1;
         Settings.TrainSpeed       = 1;
     }
 }