Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test3: Post v1.0 #99

Draft
wants to merge 12 commits into
base: top
Choose a base branch
from
52 changes: 37 additions & 15 deletions KTANExpert.py
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand All @@ -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:
Expand Down Expand Up @@ -175,6 +178,8 @@ def wires():

#Button (inputs various -> output)
def button():
system("title "+ "Button")

# Vars
color = "EMPTY"
text = "EMPTY"
Expand All @@ -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
Expand Down Expand Up @@ -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",
Expand Down Expand Up @@ -394,6 +401,8 @@ def keypad():

#New Simon Says (inputxIndefinite -> output x#)
def newnewSimon():
system("title "+ "Simon Says")

flash = 1
flashSeq = []
global vowel
Expand Down Expand Up @@ -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

Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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 = []
Expand Down Expand Up @@ -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"]
Expand Down Expand Up @@ -1113,6 +1128,7 @@ def morse():

#Complicated Wires (input x4 -> output, loop until complete)
def compWires():
system("title "+ "Complicated Wires")

#Def Vars
global serialNum
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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",
Expand Down Expand Up @@ -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":
Expand Down Expand Up @@ -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(" ")
Expand Down
9 changes: 4 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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\
Expand Down Expand Up @@ -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:
Expand All @@ -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.*
Expand Down
22 changes: 11 additions & 11 deletions READMEaccessible.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
17 changes: 12 additions & 5 deletions needymodules.py
Original file line number Diff line number Diff line change
Expand Up @@ -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":
Expand Down Expand Up @@ -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()

Expand Down