internal void Interpret(string response) { response = response.ToLower(); if (response == "stop") { TextSynthesizer.Stop(); return; } if (response == "menu") { TextSynthesizer.Speak("main menu"); IdleBomb(); return; } if (response == "strike") { strikes++; if (strikes >= 3) { strikes = 0; TextSynthesizer.Speak("strikes reset"); } TextSynthesizer.Speak(strikes + " strikes"); return; } switch (mode) { case Modes.start: switch (response) { case "simple button": mode = Modes.module; currentModule = new SimpleButton(); break; case "simple wires": mode = Modes.module; currentModule = new SimpleWires(); break; case "keypad": mode = Modes.module; currentModule = new Keypad(); break; case "simon says": mode = Modes.module; currentModule = new SimonSays(); break; case "bomb setup": mode = Modes.module; currentModule = new BombCheck(); break; case "first": mode = Modes.module; currentModule = new WhoFirst(); break; case "memory": mode = Modes.module; currentModule = new MemoryModule(); break; case "morse": mode = Modes.module; currentModule = new MorseModule(); break; case "complicated wires": mode = Modes.module; currentModule = new ComplicatedWires(); break; case "sequential wires": mode = Modes.module; currentModule = new SequentialWires(); break; case "maze": mode = Modes.module; currentModule = new Maze(); break; case "password": mode = Modes.module; currentModule = new PasswordModule(); break; case "new bomb": mode = Modes.start; labels = new Dictionary <string, bool>(); batteries = 0; strikes = 0; serialNumber = ""; parraler = false; TextSynthesizer.Speak("new bomb"); break; default: TextSynthesizer.Speak("Again"); break; } break; case Modes.module: currentModule.Interpret(response); break; } }