# Character Creator print(""" /------------------------------------------------------------\\ Welcome to the Character Creator! Please follow the instructions and distribute your stat points the best that you can. Your character needs to be strong! Here are the main menu options: 1 - Allocate or restore Strength stat points 2 - Allocate or restore Health stat points 3 - Allocate or restore Wisdom stat points 4 - Allocate or restore Dexterity stat points 5 - View your current stats 6 - Exit the Character Creator! \------------------------------------------------------------/ """) stat_pool = ["|","|","|","|","|","|","|","|","|","|", "|","|","|","|","|","|","|","|","|","|", "|","|","|","|","|","|","|","|","|","|"] strength = [] health = [] wisdom = [] dexterity = [] stat_pool_length = len(stat_pool) strength_length = len(strength) health_length = len(health) wisdom_length = len(wisdom) dexterity_length = len(dexterity) choice = None while choice != "6": choice = input("(MAIN)Please choose an option: ") if choice == "1": print(""" /------------------------------------------------------------\\ What would you like to do? 1 - Allocate stat points to Strength 2 - Restore stat points to the Stat Pool \------------------------------------------------------------/ """) choice_1 = input("(SUB)Please choose an option: ") while choice_1 != "1" and choice_1 != "2": choice_1 = input("\n(SUB)Please choose a valid option: ") continue if choice_1 == "1": if stat_pool_length == 0: print("\nYou currently have",stat_pool_length,"stat points in your Stat Pool.\n") print("Returned to the MAIN.\n") continue allo_strength = int(input("\n(SUB)Choose amount to allocate: ")) while allo_strength > stat_pool_length or allo_strength < 1: print("\nInvalid choice.") print("You have",stat_pool_length,"stat points in your Stat Pool.") allo_strength = int(input("\n(SUB)Please choose a valid amount to allocate: ")) if allo_strength > stat_pool_length or allo_strength < 1: continue else: break if allo_strength > 0: strength = stat_pool[:allo_strength] + strength strength_length = len(strength) del stat_pool[:allo_strength] stat_pool_length = len(stat_pool) print(""" /------------------------------------------------------------\\ Your Strength has been successfully increased. \------------------------------------------------------------/ """) if choice_1 == "2": if strength_length == 0: print("\nYou currently have",strength_length,"stat points in your Strength.") print("Returned to the MAIN.\n") continue allo_stat_pool = int(input("\n(SUB)Choose amount to allocate: ")) while allo_stat_pool > strength_length or allo_stat_pool < 1: print("\nInvalid choice.") print("You have",strength_length,"stat points in your Strength.") allo_stat_pool = int(input("\n(SUB)Please choose a valid amount to allocate: ")) if allo_stat_pool > strength_length or allo_stat_pool < 1: continue else: break if allo_stat_pool > 0: stat_pool = strength[:allo_stat_pool] + stat_pool stat_pool_length = len(stat_pool) del strength[:allo_stat_pool] strength_length = len(strength) print(""" /------------------------------------------------------------\\ Your Stat Pool has been successfully restored. \------------------------------------------------------------/ """) elif choice == "2": print(""" /------------------------------------------------------------\\ What would you like to do? 1 - Allocate stat points to Health 2 - Restore stat points to the Stat Pool \------------------------------------------------------------/ """) choice_1 = input("(SUB)Please choose an option: ") while choice_1 != "1" and choice_1 != "2": choice_1 = input("\n(SUB)Please choose a valid option: ") continue if choice_1 == "1": if stat_pool_length == 0: print("\nYou currently have",stat_pool_length,"stat points in your Stat Pool.\n") print("Returned to the MAIN.\n") continue allo_health = int(input("\n(SUB)Choose amount to allocate: ")) while allo_health > stat_pool_length or allo_health < 1: print("\nInvalid choice.") print("You have",stat_pool_length,"stat points in your Stat Pool.") allo_health = int(input("\n(SUB)Please choose a valid amount to allocate: ")) if allo_health > stat_pool_length or allo_health < 1: continue else: break if allo_health > 0: health = stat_pool[:allo_health] + health health_length = len(health) del stat_pool[:allo_health] stat_pool_length = len(stat_pool) print(""" /------------------------------------------------------------\\ Your Health has been successfully increased. \------------------------------------------------------------/ """) if choice_1 == "2": if health_length == 0: print("\nYou currently have",health_length,"stat points in your Health.") print("Returned to the MAIN.\n") continue allo_stat_pool = int(input("\n(SUB)Choose amount to allocate: ")) while allo_stat_pool > health_length or allo_stat_pool < 1: print("\nInvalid choice.") print("You have",health_length,"stat points in your Health.") allo_stat_pool = int(input("\n(SUB)Please choose a valid amount to allocate: ")) if allo_stat_pool > health_length or allo_stat_pool < 1: continue else: break if allo_stat_pool > 0: stat_pool = health[:allo_stat_pool] + stat_pool stat_pool_length = len(stat_pool) del health[:allo_stat_pool] health_length = len(health) print(""" /------------------------------------------------------------\\ Your Stat Pool has been successfully restored. \------------------------------------------------------------/ """) elif choice == "3": print(""" /------------------------------------------------------------\\ What would you like to do? 1 - Allocate stat points to Wisdom 2 - Restore stat points to the Stat Pool \------------------------------------------------------------/ """) choice_1 = input("(SUB)Please choose an option: ") while choice_1 != "1" and choice_1 != "2": choice_1 = input("\n(SUB)Please choose a valid option: ") continue if choice_1 == "1": if stat_pool_length == 0: print("\nYou currently have",stat_pool_length,"stat points in your Stat Pool.\n") print("Returned to the MAIN.\n") continue allo_wisdom = int(input("\n(SUB)Choose amount to allocate: ")) while allo_wisdom > stat_pool_length or allo_wisdom < 1: print("\nInvalid choice.") print("You have",stat_pool_length,"stat points in your Stat Pool.") allo_wisdom = int(input("\n(SUB)Please choose a valid amount to allocate: ")) if allo_wisdom > stat_pool_length or allo_wisdom < 1: continue else: break if allo_wisdom > 0: wisdom = stat_pool[:allo_wisdom] + wisdom wisdom_length = len(wisdom) del stat_pool[:allo_wisdom] stat_pool_length = len(stat_pool) print(""" /------------------------------------------------------------\\ Your Wisdom has been successfully increased. \------------------------------------------------------------/ """) if choice_1 == "2": if wisdom_length == 0: print("\nYou currently have",wisdom_length,"stat points in your Wisdom.") print("Returned to the MAIN.\n") continue allo_stat_pool = int(input("\n(SUB)Choose amount to allocate: ")) while allo_stat_pool > wisdom_length or allo_stat_pool < 1: print("\nInvalid choice.") print("You have",wisdom_length,"stat points in your Wisdom.") allo_stat_pool = int(input("\n(SUB)Please choose a valid amount to allocate: ")) if allo_stat_pool > wisdom_length or allo_stat_pool < 1: continue else: break if allo_stat_pool > 0: stat_pool = wisdom[:allo_stat_pool] + stat_pool stat_pool_length = len(stat_pool) del wisdom[:allo_stat_pool] wisdom_length = len(wisdom) print(""" /------------------------------------------------------------\\ Your Stat Pool has been successfully restored. \------------------------------------------------------------/ """) elif choice == "4": print(""" /------------------------------------------------------------\\ What would you like to do? 1 - Allocate stat points to Dexterity 2 - Restore stat points to the Stat Pool \------------------------------------------------------------/ """) choice_1 = input("(SUB)Please choose an option: ") while choice_1 != "1" and choice_1 != "2": choice_1 = input("\n(SUB)Please choose a valid option: ") continue if choice_1 == "1": if stat_pool_length == 0: print("\nYou currently have",stat_pool_length,"stat points in your Stat Pool.\n") print("Returned to the MAIN.\n") continue allo_dexterity = int(input("\n(SUB)Choose amount to allocate: ")) while allo_dexterity > stat_pool_length or allo_dexterity < 1: print("\nInvalid choice.") print("You have",stat_pool_length,"stat points in your Stat Pool.") allo_dexterity = int(input("\n(SUB)Please choose a valid amount to allocate: ")) if allo_dexterity > stat_pool_length or allo_dexterity < 1: continue else: break if allo_dexterity > 0: dexterity = stat_pool[:allo_dexterity] + dexterity dexterity_length = len(dexterity) del stat_pool[:allo_dexterity] stat_pool_length = len(stat_pool) print(""" /------------------------------------------------------------\\ Your Dexterity has been successfully increased. \------------------------------------------------------------/ """) if choice_1 == "2": if dexterity_length == 0: print("\nYou currently have",dexterity_length,"stat points in your Dexterity.") print("Returned to the MAIN.\n") continue allo_stat_pool = int(input("\n(SUB)Choose amount to allocate: ")) while allo_stat_pool > dexterity_length or allo_stat_pool < 1: print("\nInvalid choice.") print("You have",dexterity_length,"stat points in your Dexterity.") allo_stat_pool = int(input("\n(SUB)Please choose a valid amount to allocate: ")) if allo_stat_pool > dexterity_length or allo_stat_pool < 1: continue else: break if allo_stat_pool > 0: stat_pool = dexterity[:allo_stat_pool] + stat_pool stat_pool_length = len(stat_pool) del dexterity[:allo_stat_pool] dexterity_length = len(dexterity) print(""" /------------------------------------------------------------\\ Your Stat Pool has been successfully restored. \------------------------------------------------------------/ """) elif choice == "5": print(""" /------------------------------------------------------------\\ """) print("\tYou have",stat_pool_length,"stat points left in your") print("\tStat Pool to distribute.") print("\tHere are your stats:\n") if stat_pool_length == 0: print("\t[ STAT POOL -","EMPTY","]\n") if stat_pool_length > 0: print("\t[ STAT POOL -","".join(stat_pool),"]\n") if strength_length == 0: print("\t[ STRENGTH -","EMPTY","]") if strength_length > 0: print("\t[ STRENGTH -","".join(strength),"]") if health_length == 0: print("\t[ HEALTH -","EMPTY","]") if health_length > 0: print("\t[ HEALTH -","".join(health),"]") if wisdom_length == 0: print("\t[ WISDOM -","EMPTY","]") if wisdom_length > 0: print("\t[ WISDOM -","".join(wisdom),"]") if dexterity_length == 0: print("\t[ DEXTERITY -","EMPTY","]") print(""" \------------------------------------------------------------/ """) if dexterity_length > 0: print("\t[ DEXTERITY -","".join(dexterity),"]") print(""" \------------------------------------------------------------/ """) elif choice == "6": print(""" /------------------------------------------------------------\\ Let's hope you've allocated your stats the best way possible! Good luck out there! \------------------------------------------------------------/ """) else: print("\nThat is not a valid option.\n") input("\nPlease press ENTER to exit.")