private static BombRules Initialize(int seed) { DebugLog("Generating Rules for seed {0}", seed); var bombRules = new BombRules { ManualMetaData = new ManualMetaData { BombClassification = ManualMetaData.BOMB_CLASSIFICATION, LockCode = ManualMetaData.LOCK_CODE }, WireRuleSet = WireRuleSetGenerator.CreateWireRules(seed), WhosOnFirstRuleSet = (WhosOnFirstRuleSet)WhosOnFirstRuleSetGenerator.GenerateRuleSet(seed), MemoryRuleSet = (MemoryRuleSet)MemoryRuleSetGenerator.GenerateRuleSet(seed), KeypadRuleSet = (KeypadRuleSet)KeypadRuleSetGenerator.GenerateRuleSet(seed), NeedyKnobRuleSet = (NeedyKnobRuleSet)NeedyKnobRuleSetGenerator.GenerateRuleSet(seed), ButtonRuleSet = ButtonRuleSetGenerator.GenerateButtonRules(seed), WireSequenceRuleSet = (WireSequenceRuleSet)WireSequenceRuleSetGenerator.GenerateRuleSet(seed), PasswordRuleSet = PasswordRuleSetGenerator.GeneratePasswordRules(seed), MorseCodeRuleSet = MorseCodeRuleSetGenerator.GenerateMorseCodeRuleSet(seed), VennWireRuleSet = VennWireRuleSetGenerator.GenerateVennWireRules(seed), RhythmHeavenRuleSet = (RhythmHeavenRuleSet)RhythmHeavenRuleSetGenerator.GenerateRuleSet(seed), MazeRuleSet = (MazeRuleSet)MazeRuleSetGenerator.GenerateRuleSet(seed), SimonRuleSet = SimonRuleSetGenerator.GenerateSimonRuleSet(seed) }; ModRuleSetGenerator.Instance.CreateRules(seed); bombRules.PrintRules(); bombRules.CacheStringValues(); DebugLog("Done Generating Rules for seed {0}", seed); return(bombRules); }
private static BombRules Initialize(int seed) { DebugLog("Generating Rules for seed {0}", seed); var rng = new System.Random(seed); var bombRules = new BombRules { ManualMetaData = new ManualMetaData { ManualVersion = OriginalBombRules.ManualMetaData.ManualVersion, //ManualVersion = $"Rule Seed Modifier {OriginalBombRules.ManualMetaData.LanguageCode}-{seed}", Seed = seed, LockCode = OriginalBombRules.ManualMetaData.LockCode, LanguageCode = OriginalBombRules.ManualMetaData.LanguageCode, IsValid = OriginalBombRules.ManualMetaData.IsValid }, WireRuleSet = WireRuleSetGenerator.CreateWireRules(seed), WhosOnFirstRuleSet = (WhosOnFirstRuleSet)WhosOnFirstRuleSetGenerator.GenerateRuleSet(seed), MemoryRuleSet = (MemoryRuleSet)MemoryRuleSetGenerator.GenerateRuleSet(seed), KeypadRuleSet = (KeypadRuleSet)KeypadRuleSetGenerator.GenerateRuleSet(seed), NeedyKnobRuleSet = (NeedyKnobRuleSet)NeedyKnobRuleSetGenerator.GenerateRuleSet(seed), ButtonRuleSet = ButtonRuleSetGenerator.GenerateButtonRules(seed), WireSequenceRuleSet = WireSequenceRuleSetGenerator.GenerateWireSequenceRules(seed), PasswordRuleSet = PasswordRuleSetGenerator.GeneratePasswordRules(seed), MorseCodeRuleSet = MorseCodeRuleSetGenerator.GenerateMorseCodeRuleSet(seed), //MorseCodeRuleSet = (MorseCodeRuleSet) MorseCodeRuleSetGenerator.GenerateRuleSet(seed), VennWireRuleSet = VennWireRuleSetGenerator.GenerateVennWireRules(seed), RhythmHeavenRuleSet = (RhythmHeavenRuleSet)RhythmHeavenRuleSetGenerator.GenerateRuleSet(seed), MazeRuleSet = (MazeRuleSet)MazeRuleSetGenerator.GenerateRuleSet(seed), SimonRuleSet = SimonRuleSetGenerator.GenerateSimonRuleSet(seed) }; ModRuleSetGenerator.Instance.CreateRules(seed); try { bombRules.CacheStringValues(); } catch (Exception ex) { DebugLog("Could not Print rules due to Exception: {0}", ex.Message); DebugLog(ex.StackTrace); } PrintRules(bombRules); DebugLog("Done Generating Rules for seed {0}", seed); return(bombRules); }
public static bool PrintRules(BombRules bombRules) { logger.DebugFormat("BombRules: {0}", bombRules.ManualMetaData); var success = true; success &= TryPrintRules("WireSet", bombRules.WireRuleSet); success &= TryPrintRules("Button", bombRules.ButtonRuleSet); success &= TryPrintRules("Keypad", bombRules.KeypadRuleSet); success &= TryPrintRules("Simon", bombRules.SimonRuleSet); success &= TryPrintRules("Who's On First", bombRules.WhosOnFirstRuleSet); success &= TryPrintRules("Memory", bombRules.MemoryRuleSet); success &= TryPrintRules("Morse Code", bombRules.MorseCodeRuleSet); success &= TryPrintRules("Venn Wire", bombRules.VennWireRuleSet); success &= TryPrintRules("Maze", bombRules.MazeRuleSet); success &= TryPrintRules("Password", bombRules.PasswordRuleSet); success &= TryPrintRules("Wire Sequence", bombRules.WireSequenceRuleSet); success &= TryPrintRules("Needy Knob", bombRules.NeedyKnobRuleSet); return(success); }
public BombRules GenerateBombRules(int seed) { BombRules bombRules = new BombRules { WireRuleSet = (WireRuleSet)WireRuleSetGenerator.CreateWireRules(seed), WhosOnFirstRuleSet = (WhosOnFirstRuleSet)WhosOnFirstRuleSetGenerator.GenerateRuleSet(seed), MemoryRuleSet = (MemoryRuleSet)MemoryRuleSetGenerator.GenerateRuleSet(seed), KeypadRuleSet = (KeypadRuleSet)KeypadRuleSetGenerator.GenerateRuleSet(seed), NeedyKnobRuleSet = (NeedyKnobRuleSet)NeedyKnobRuleSetGenerator.GenerateRuleSet(seed), ButtonRuleSet = (ButtonRuleSet)ButtonRuleSetGenerator.GenerateButtonRules(seed), WireSequenceRuleSet = (WireSequenceRuleSet)WireSequenceRuleSetGenerator.GenerateRuleSet(seed), PasswordRuleSet = (PasswordRuleSet)PasswordRuleSetGenerator.GeneratePasswordRules(seed), MorseCodeRuleSet = (MorseCodeRuleSet)MorseCodeRuleSetGenerater.GenerateRuleSet(seed), VennWireRuleSet = (VennWireRuleSet)VennWireRuleSetGenerator.GenerateVennWireRules(seed), MazeRuleSet = (MazeRuleSet)MazeRuleSetGenerator.GenerateRuleSet(seed), SimonRuleSet = (SimonRuleSet)SimonRuleSetGenerator.GenerateSimonRuleSet(seed) }; bombRules.CacheStringValues(); bombRules.PrintRules(); return(bombRules); }