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>()); }
public void CreateTown(Account Player, UserGameSettings Settings) { Towns NewTown = new Towns(); SettingStats(Settings); SettingTown(NewTown, Player); Player.Towns.Add(NewTown); }
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")); }
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); }
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); }
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(); }
public async Task UpdateUserSettings(UserGameSettings gameSettings) { await _repositoryUserSettings.UpdateWithChildrenAsync(gameSettings); }
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; } }