diff --git a/KTANExpert.py b/KTANExpert.py index 24e18af..09e3a93 100644 --- a/KTANExpert.py +++ b/KTANExpert.py @@ -38,29 +38,32 @@ #Wires (inputx7(8) -> output) def wires(): + system("title "+ "Wires") + #Def Vars global serialNum wireList = [] instruction = "EMPTY" - number = str(input("How many wires do you have? (3/4/5/6): ")) - if number == "...": - print("Exit Command Detected. Exitting") - return - if number not in ["3","4","5","6"]: - print("Error. Invalid number, '" + str(number) + "'. Resetting") - return - else: - number = int(number) + #number = str(input("How many wires do you have? (3/4/5/6): ")) + #if number == "...": + # print("Exit Command Detected. Exitting") + # return + #if number not in ["3","4","5","6"]: + # print("Error. Invalid number, '" + str(number) + "'. Resetting") + # return + #else: + # number = int(number) #Assigning Wires - wireList = str(input("What are the " + str(number) + " wire colors from top to bottom? (w/y/r/blu/bla): ")) + wireList = str(input("What are the wire colors from top to bottom? (w/y/r/blu/bla): ")) if wireList == "...": print("Exit Command Detected. Exitting") return wireList = wireList.split(";") - if len(wireList) != number: - print("Error. Invalid number of wires, '" + str(len(wireList)) + "'. Resetting") + number = len(wireList) + if number not in [3,4,5,6]: + print("Error. Invalid number of wires, '" + str(number) + "'. Resetting") return for c in wireList: @@ -71,7 +74,7 @@ def wires(): #Logic - 3 Wires if number == 3: if "r" not in wireList: - instruction = "cutwire2" + instruction = "cutwiresecond" elif wireList[number-1] == "w": instruction = "cutwirelast" elif wireList.count("blu") > 1: @@ -175,6 +178,8 @@ def wires(): #Button (inputs various -> output) def button(): + system("title "+ "Button") + # Vars color = "EMPTY" text = "EMPTY" @@ -188,7 +193,7 @@ def button(): # Logic #Starting Information - color = str(input("What is the color of the button? (blu, w, y, r): ")) + color = str(input("What is the color of the button? (blu,w,y,r): ")) if color not in ["blu","w","y","r"]: #Testing color print("Error. Invalid color, '" + str(color) + "'. Resetting") return @@ -324,6 +329,8 @@ def button(): #Keypad (specific inputx4 -> output) def keypad(): + system("title "+ "Keypad") + #Def Vars - keyLists keys = [ "lolli", "at", "lambda", "light", "staff", "h", "backC", "mouth", @@ -394,6 +401,8 @@ def keypad(): #New Simon Says (inputxIndefinite -> output x#) def newnewSimon(): + system("title "+ "Simon Says") + flash = 1 flashSeq = [] global vowel @@ -530,6 +539,8 @@ def newnewSimon(): #Whos on First (input -> output, input -> outputx?) def whofirst(): + system("title "+ "Who's On First") + #Lists of STEP 2 Words #Copy this to make it easier: ", ". So basically WORD CtrlV WORD CtrlV WORD and so on and so forth @@ -588,7 +599,7 @@ def whofirst(): print("Error. Invalid display word ,'" + str(userWords[0]) + "'. Resetting") return if userWords[i] not in totalList: - print("Error. Invalid word .'" + str(userWords[i])+ "'. Resetting") + print("Error. Invalid word ,'" + str(userWords[i])+ "'. Resetting") return # DisplayWord's Sacred Button, ButtonWord, Logic @@ -652,6 +663,8 @@ def whofirst(): #Memory (input -> output x5) (This is as simple as I want in terms of input and output) def memory(): + system("title "+ "Memory") + #Def Vars positions = [] numbers = [] @@ -1010,6 +1023,8 @@ def morseToAlpha(morseIn): #Morse Code Logic (input -> output) def morse(): + system("title "+ "Morse Code") + shell = ["S", "H", "E", "L", "L"] halls = ["H", "A", "L", "L", "S"] slick = ["S", "L", "I", "C", "K"] @@ -1113,6 +1128,7 @@ def morse(): #Complicated Wires (input x4 -> output, loop until complete) def compWires(): + system("title "+ "Complicated Wires") #Def Vars global serialNum @@ -1299,6 +1315,8 @@ def compWires(): #Wire Sequences (inputx1 -> outputx1, loop 4 repeats) def wireSeq(): + system("title "+ "Wire Sequence") + rOcc = 0 bluOcc = 0 blaOcc = 0 @@ -1434,6 +1452,8 @@ def wireSeq(): #Passwords def password(): + system("title "+ "Passwords") + #Defining List Vars allWords = ["about","after","again","below","could", "every","first","found","great","house", @@ -1513,6 +1533,7 @@ def password(): while isDoing: #checking which module you are currently working on print(" ") + system("title "+ "KTANExpert by Reese Ford") module = input("Module? (w/b/k/s/who/m/mO/cW/wS/p/resetbomb/done): ") match module: case "w": @@ -1551,6 +1572,7 @@ def password(): litIndicators = [] parallelPort = "EMPTY" vowel = "EMPTY" + os.system("cls") print("Bomb Reset. All bomb-wide varaible are now empty") case "done": print(" ") diff --git a/README.md b/README.md index 0edab06..587fa26 100644 --- a/README.md +++ b/README.md @@ -35,7 +35,7 @@ As of 10/19/2022, the expert can process these modules: (For more information on modules, visit bombmanual.com) # TO INSTALL: -Download the KTANExpertV1.0 archive, extract both executables in the archive, and run KTANExpert.exe\ +Download the most recent archive from the Releases tab, extract the contents, and run KTANExpert.exe\ Two windows will open, one titled **KTANExpert by Reese Ford**\ And one titled **NeedyModule Sub-Expert**\ The KTANExpert handles regular modules, while the Sub-Expert handles needy modules\ @@ -88,8 +88,8 @@ This will not reset bomb-wide variables like the serial number, number of batter ## Wires `w` -Select the number of wires present in the module (including cut wires from previous attempts). Enter each wire color from the top (which is considered the first wire in the expert) to the bottom. +Seperate the colors with semicolons, and ignore empty slots Follow the given instructions. ### Example: @@ -101,9 +101,8 @@ Follow the given instructions. - *BLUE* - *WHITE* -1) The Player:red_circle: inputs `4` as the wire number, -2) The Expert:large_blue_circle: asks `Wire 1? (r/y/blu/bla/r): ` -3) The Player:red_circle: then inputs `r` ENTER `r` ENTER `blu` ENTER `w` +2) The Expert:large_blue_circle: asks `What are the wire colors from top to bottom? (w/y/r/blu/bla): ` +3) The Player:red_circle: then inputs `r;r;blu;w` 4) The Expert:large_blue_circle: then asks `Last Digit of Serial: ` 5) The Player:red_circle: checks the bomb for a serial number sticker, then inputs what the last digit is, which in the case of this example, is `3` 6) The Expert:large_blue_circle: asks you to `Cut the last RED wire`, which prompts the player to cut the 3rd wire. *Module Complete, move on to the next one.* diff --git a/READMEaccessible.txt b/READMEaccessible.txt index e5cc7bd..975b6fc 100644 --- a/READMEaccessible.txt +++ b/READMEaccessible.txt @@ -81,27 +81,27 @@ This will not reset bomb-wide variables like the serial number, number of batter ## Wires `w` -Select the number of wires present in the module (including cut wires from previous attempts). Enter each wire color from the top (which is considered the first wire in the expert) to the bottom. +Seperate the colors with semicolons, and ignore empty slots Follow the given instructions. ### Example: 0) KTANE gives you a wire module that goes: -- Empty -- RED -- RED -- Empty -- BLUE -- WHITE - -1) The Player inputs `4` as the wire number, -2) The Expert asks `Wire 1? (r/y/blu/bla/r): ` -3) The Player then inputs `r` ENTER `r` ENTER `blu` ENTER `w` +- *Empty* +- *RED* +- *RED* +- *Empty* +- *BLUE* +- *WHITE* + +2) The Expert asks `What are the wire colors from top to bottom? (w/y/r/blu/bla): ` +3) The Player then inputs `r;r;blu;w` 4) The Expert then asks `Last Digit of Serial: ` 5) The Player checks the bomb for a serial number sticker, then inputs what the last digit is, which in the case of this example, is `3` 6) The Expert asks you to `Cut the last RED wire`, which prompts the player to cut the 3rd wire. *Module Complete, move on to the next one.* + ## Button `b` This module just consists of a large button that has some text on it. To start, don't listen to it's lies. Sometimes you have to just click "hold" or hold down "press". When you enter the module in the expert, it will first ask you for a color. diff --git a/needymodules.py b/needymodules.py index 4927af4..30ed4ff 100644 --- a/needymodules.py +++ b/needymodules.py @@ -8,12 +8,18 @@ # Knobs def knobs(): + global isDoing leds = "EMPTY" leds = str(input("What is the led pattern?: ")) - if leds == "...": #Exit Command - print("Exit Command Detected. Exitting") - leds = "EMPTY" - return + match leds: + case "...": + print("Exit Command Detected. Exitting") + leds = "EMPTY" + return + case "done": + print("Bomb Complete.") + isDoing = False + return ledsList = [x for x in leds] for l in ledsList: #Checking for non-binaries if l == "1" or l == "0": @@ -94,7 +100,8 @@ def knobs(): print("For Venting Gas, just follow the prompts on the screen with the goal to vent gas") print("For Cap Discharge, pull down the lever to discharge the capacitor before it explodes") print("For Knobs, follow the instructions below:") -while True: +isDoing = True +while isDoing == True: print(" ") knobs()