# Shared list and dictionary
powerups = ["fire flower", "super star", "ice flower"]
powerup_strength = {
"fire flower": 40,
"super star": 100,
"ice flower": 30
}
# Task 2: Yoshi’s Power Snack Picker
def build_snack_name():
fruit = input("Choose a fruit: ")
enemy = input("Choose a Mario enemy: ")
snack_name = fruit + " " + enemy
count = 0
for item in powerups:
if powerup_strength[item] > 35:
count += 1
return f"Snack name: {snack_name}\nStrong power-ups: {count}"
# Task 3: Bowser’s Lava Lift
def check_lava_lift_energy():
try:
energy = int(input("Enter Mario’s energy level (0–100): "))
except:
return "Invalid energy input."
if energy < 20:
charging_status = "Energy too low. Charging..."
while energy < 100:
energy += 10
return f"{charging_status}\nFully charged to {energy}!"
elif energy >= 80:
max_power = 0
strongest = ""
for item in powerups:
if powerup_strength[item] > max_power:
max_power = powerup_strength[item]
strongest = item
return f"Energy is high! Use the {strongest.title()} (Power: {max_power}) to escape!"
else:
return "Energy is moderate. Wait before using the Lava Lift."
# Task 4: Mystery Block Guess
def guess_block_item():
attempts = 0
while attempts < 3:
guess = input("Guess what's in the block: ")
if guess in powerups:
strength = powerup_strength[guess]
return f"You got it! {guess.title()} unlocked. Power: {strength}"
else:
attempts += 1
continue
return "The block vanished into a Warp Pipe!"
# Task 5: Luigi’s Haunted Hideout
def find_luigi():
room = input("Which room is Luigi in? ")
message = ""
if room.lower() == "basement":
message += "Spooky! The basement is full of invisible Boos!\n"
message += "Available power-ups:\n"
for item in powerups:
message += f"- {item.title()} (Power: {powerup_strength[item]})\n"
return message
# Task 6: Bullet Bill Blitz
def activate_defenses():
ready = input("Activate defenses? (yes/no): ")
if ready.lower() != "yes":
return "Defenses not activated."
defense_log = "Activating defenses:\n"
for item in powerups:
if powerup_strength[item] < 35:
continue
defense_log += f"- {item.title()} used!\n"
if item == "super star":
defense_log += "Super Star unleashed! Enemies obliterated!\n"
break
return defense_log
# Task 7: Toad’s Tunnel Trouble
def escape_tunnel():
danger = input("Is there danger? (yes/no): ")
if danger.lower() == "yes":
powerups.clear()
powerup_strength.clear()
countdown = 3
while countdown > 0:
countdown -= 1
return "Toad and Mario escaped just in time!"
else:
return "All clear. Tunnel is safe."
# Task 8: Collect the Shiny Shell
def collect_powerup():
new_name = input("Name your new power-up: ")
try:
new_strength = int(input("Enter its strength: "))
except:
return "Strength must be a number."
if new_name in powerups:
powerup_strength[new_name] = new_strength
return f"{new_name.title()} updated with strength {new_strength}!"
else:
powerups.append(new_name)
powerup_strength[new_name] = new_strength
return f"{new_name.title()} added with strength {new_strength}!"
# Task 9: Koopa Kart Inventory
def sort_powerups():
while True:
sort_type = input("Sort by 'name' or 'strength'? ")
if sort_type == "name":
sorted_items = sorted(powerups)
break
elif sort_type == "strength":
sorted_items = sorted(powerups, key=lambda x: powerup_strength[x], reverse=True)
break
else:
continue
message = "Sorted Power-Ups:\n"
for item in sorted_items:
message += f"- {item.title()} (Power: {powerup_strength[item]})\n"
return message
# Task 10: Castle Showdown
def start_final_battle():
nickname = input("Enter your hero nickname: ")
castle = input("Which castle will you storm? ")
try:
count = int(input("How many power-ups will you take? "))
except:
return "Invalid number of power-ups."
selected_items = []
for item in powerups[:count]:
if powerup_strength[item] < 30:
continue
selected_items.append(item)
while True:
command = input("Type 'go!' to start the battle: ")
if command.lower() == "go!":
break
message = f"{nickname} is charging into {castle} with:\n"
for item in selected_items:
message += f"- {item.title()} (Power: {powerup_strength[item]})\n"
message += "Let the final battle begin!"
return message