diff --git a/16_Bug/python/Bug.py b/16_Bug/python/Bug.py new file mode 100644 index 00000000..ba5f4de4 --- /dev/null +++ b/16_Bug/python/Bug.py @@ -0,0 +1,302 @@ +import random + + +def print_n_whitespaces(n: int): + print(" "*n, end="") + + +def print_n_newlines(n: int): + for _ in range(n): + print() + + +def print_feelers(n_feelers, is_player=True): + for _ in range(4): + print_n_whitespaces(10) + for _ in range(n_feelers): + print("A " if is_player else "F ", end="") + print() + + +def print_head(): + print(" HHHHHHH") + print(" H H") + print(" H O O H") + print(" H H") + print(" H V H") + print(" HHHHHHH") + + +def print_neck(): + print(" N N") + print(" N N") + + +def print_body(has_tail=False): + print(" BBBBBBBBBBBB") + print(" B B") + print(" B B") + print("TTTTTB B") if has_tail else "" + print(" BBBBBBBBBBBB") + + +def print_legs(n_legs): + for _ in range(2): + print_n_whitespaces(5) + for _ in range(n_legs): + print(" L", end="") + print() + + +print_n_whitespaces(34) +print("BUG") +print_n_whitespaces(15) +print("CREATIVE COMPUTING MORRISTOWN, NEW JERSEY") +print_n_newlines(3) + +print("THE GAME BUG") +print("I HOPE YOU ENJOY THIS GAME.") +print() +Z = input("DO YOU WANT INSTRUCTIONS? ") +if Z != "NO": + print("THE OBJECT OF BUG IS TO FINISH YOUR BUG BEFORE I FINISH") + print("MINE. EACH NUMBER STANDS FOR A PART OF THE BUG BODY.") + print("I WILL ROLL THE DIE FOR YOU, TELL YOU WHAT I ROLLED FOR YOU") + print("WHAT THE NUMBER STANDS FOR, AND IF YOU CAN GET THE PART.") + print("IF YOU CAN GET THE PART I WILL GIVE IT TO YOU.") + print("THE SAME WILL HAPPEN ON MY TURN.") + print("IF THERE IS A CHANGE IN EITHER BUG I WILL GIVE YOU THE") + print("OPTION OF SEEING THE PICTURES OF THE BUGS.") + print("THE NUMBERS STAND FOR PARTS AS FOLLOWS:") + table = [ + ["NUMBER", "PART", "NUMBER OF PART NEEDED"], + ["1", "BODY", "1"], + ["2", "NECK", "1"], + ["3", "HEAD", "1"], + ["4", "FEELERS", "2"], + ["5", "TAIL", "1"], + ["6", "LEGS", "6"] + ] + for row in table: + print("{:<16}{:<16}{:<20}".format(row[0], row[1], row[2])) + print_n_newlines(2) + +A = 0 +B = 0 +H = 0 +L = 0 +N = 0 +P = 0 +Q = 0 +R = 0 # NECK +S = 0 # FEELERS +T = 0 +U = 0 +V = 0 +Y = 0 + +while not (Y > 0): + Z = random.randint(1, 6) + print() + C = 1 + print("YOU ROLLED A", Z) + if Z == 1: + print("1=BODY") + if B == 1: + print("YOU DO NOT NEED A BODY.") + # goto 970 + else: + print("YOU NOW HAVE A BODY.") + B = 1 + C = 0 + # goto 970 + elif Z == 2: + print("2=NECK") + if N == 1: + print("YOU DO NOT NEED A NECK.") + # goto 970 + elif B == 0: + print("YOU DO NOT HAVE A BODY.") + # goto 970 + else: + print("YOU NOW HAVE A NECK.") + N = 1 + C = 0 + # goto 970 + elif Z == 3: + print("3=HEAD") + if N == 0: + print("YOU DO NOT HAVE A NECK.") + # goto 970 + elif H == 1: + print("YOU HAVE A HEAD.") + # goto 970 + else: + print("YOU NEEDED A HEAD.") + H = 1 + C = 0 + # goto 970 + elif Z == 4: + print("4=FEELERS") + if H == 0: + print("YOU DO NOT HAVE A HEAD.") + # goto 970 + elif A == 2: + print("YOU HAVE TWO FEELERS ALREADY.") + # goto 970 + else: + print("I NOW GIVE YOU A FEELER.") + A = A + 1 + C = 0 + # goto 970 + elif Z == 5: + print("5=TAIL") + if B == 0: + print("YOU DO NOT HAVE A BODY.") + # goto 970 + elif T == 1: + print("YOU ALREADY HAVE A TAIL.") + # goto 970 + else: + print("I NOW GIVE YOU A TAIL.") + T = T + 1 + C = 0 + # goto 970 + elif Z == 6: + print("6=LEG") + if L == 6: + print("YOU HAVE 6 FEET ALREADY.") + # goto 970 + elif B == 0: + print("YOU DO NOT HAVE A BODY.") + # goto 970 + else: + L = L + 1 + C = 0 + print(f"YOU NOW HAVE {L} LEGS") + # goto 970 + + # 970 + X = random.randint(1, 6) + print() + for delay in range(2000): + pass + + print("I ROLLED A", X) + if X == 1: + print("1=BODY") + if P == 1: + print("I DO NOT NEED A BODY.") + # goto 1630 + else: + print("I NOW HAVE A BODY.") + C = 0 + P = 1 + # goto 1630 + elif X == 2: + print("2=NECK") + if Q == 1: + print("I DO NOT NEED A NECK.") + # goto 1630 + elif P == 0: + print("I DO NOT HAVE A BODY.") + # goto 1630 + else: + print("I NOW HAVE A NECK.") + Q = 1 + C = 0 + # goto 1630 + elif X == 3: + print("3=HEAD") + if Q == 0: + print("I DO NOT HAVE A NECK.") + # goto 1630 + elif R == 1: + print("I HAVE A HEAD.") + # goto 1630 + else: + print("I NEEDED A HEAD.") + R = 1 + C = 0 + # goto 1630 + elif X == 4: + print("4=FEELERS") + if R == 0: + print("I DO NOT HAVE A HEAD.") + # goto 1630 + elif S == 2: + print("I HAVE TWO FEELERS ALREADY.") + # goto 1630 + else: + print("I GET A FEELER.") + S = S + 1 + C = 0 + # goto 1630 + elif X == 5: + print("5=TAIL") + if P == 0: + print("I DO NOT HAVE A BODY.") + # goto 1630 + elif U == 1: + print("I ALREADY HAVE A TAIL.") + # goto 1630 + else: + print("I NOW HAVE A TAIL.") + U = 1 + C = 0 + # goto 1630 + elif X == 6: + print("6=LEG") + if V == 6: + print("I HAVE 6 FEET.") + # goto 1630 + elif P == 0: + print("I DO NOT HAVE A BODY.") + # goto 1630 + else: + V = V + 1 + C = 0 + print(f"I NOW HAVE {V} LEGS") + # goto 1630 + + # 1630 + if (A == 2) and (T == 1) and (L == 6): + print("YOUR BUG IS FINISHED.") + Y = Y + 1 + if (S == 2) and (P == 1) and (V == 6): + print("MY BUG IS FINISHED.") + Y = Y + 2 + if C == 1: + continue + Z = input("DO YOU WANT THE PICTURES? ") + if Z != "NO": + print("*****YOUR BUG*****") + print_n_newlines(2) + if A != 0: + print_feelers(A, is_player=True) + if H != 0: + print_head() + if N != 0: + print_neck() + if B != 0: + print_body(True) if T == 1 else print_body(False) + if L != 0: + print_legs(L) + print_n_newlines(4) + print("*****MY BUG*****") + print_n_newlines(3) + if S != 0: + print_feelers(S, is_player=False) + if R == 1: + print_head() + if Q != 0: + print_neck() + if P != 0: + print_body(True) if U == 1 else print_body(False) + if V != 0: + print_legs(V) + + if Y != 0: + break + +print("I HOPE YOU ENJOYED THE GAME, PLAY IT AGAIN SOON!!") \ No newline at end of file