import tkinter as tk from tkinter import messagebox import random
root = tk.Tk() root.title("Jujutsu Kaisen Adventure") root.geometry('700x450')
title_label = tk.Label(root, text="Welcome to the Jujutsu Kaisen Fan Quiz!", font=("Arial", 24), bg="lightblue") title_label.pack(pady=40)
selected_character = ""
def start_game():
global selected_character
selected_character = ""
character_window = tk.Toplevel(root)
character_window.title("Choose Your Lover")
character_window.geometry('700x450')
character_window.config(bg="dark blue")
tk.Label(character_window, text="Choose your character:", font=("Times New Roman", 24)).pack(pady=20)
characters = ['Gojo', 'Shoko', 'Geto', 'Yuki']
for character in characters:
button = tk.Button(character_window, text=character, font=("Times New Roman", 18), command=lambda c=character: choose_character(c, character_window))
button.pack(pady=10)
def choose_character(character, window):
global selected_character
selected_character = character
window.destroy()
heart_window = tk.Toplevel(root)
heart_window.title("Adventure Begins")
heart_window.geometry('700x450')
tk.Label(heart_window, text=f"You chose {character} as your lover!", wraplength=600, font=("Arial", 12)).pack(pady=20)
context_text = (
"After a long day of work, you decide to walk home as there is thundering rain with only your umbrella to keep you dry. "
"As you reach an intersection, you see a cat standing in the middle of the road, limping to get across. "
"You notice car lights coming full force towards the cat."
)
tk.Label(heart_window, text=context_text, wraplength=600, font=("Arial", 12)).pack(pady=20)
continue_button = tk.Button(heart_window, text="Continue", font=("Arial", 24), bg="white", fg="black", command=superfan_adventure)
continue_button.place(relx=0.5, rely=0.6, anchor=tk.CENTER)
def superfan_adventure(): questions_and_choices = { "Gojo": [ ("What is Gojo’s eye color?", ["Vibrant Blue", "Bright Blue", "Both A and B"]), ("What's the name of Gojo’s Domain Expansion?", ["Unlimited Void", "Infinity Domain Expansion", "Domain Expansion"]), ("What are Gojo’s powers?", ["Swallowing curses to use them", "Both A and C", "Manipulates Space"]), ], "Shoko": [ ("What is Shoko’s hair color?", ["Dark Green", "Blonde", "Brown"]), ("Who were Shoko’s friends?", ["Miyoko and Geto", "Gojo and Geto", "Yuki and Miyoko"]), ("How long is Shoko’s hair?", ["Short", "Long", "Medium"]), ], "Geto": [ ("What color is Geto’s hair?", ["Blonde", "Dark Grey", "Black"]), ("Geto’s known bestie?", ["Shoko", "Utahime", "Gojo"]), ("Geto’s powers?", ["Cursed spirit manipulation", "Using cursed weapons", "None"]), ], "Yuki": [ ("How long is Yuki’s hair?", ["Short", "Medium", "Long"]), ("Yuki’s average outfit?", ["Black shirt and jeans", "White shirt and black skirt", "Black shirt and sweats"]), ("Yuki’s power?", ["Star Rage", "Cursed spirit manipulation", "Limitless cursed technique"]), ] }
if selected_character in questions_and_choices:
random.shuffle(questions_and_choices[selected_character])
ask_question(questions_and_choices[selected_character], 0)
def ask_question(questions, question_index): if question_index < len(questions): question_data = questions[question_index] question = question_data[0] choices = question_data[1]
question_window = tk.Toplevel(root)
question_window.title("Question")
question_window.geometry('700x450')
tk.Label(question_window, text=question, wraplength=600, font=("Arial", 16)).pack(pady=20)
selected_answer = tk.StringVar()
for choice in choices:
tk.Radiobutton(question_window, text=choice, variable=selected_answer, value=choice, font=("Arial", 14)).pack(anchor=tk.W)
submit_button = tk.Button(question_window, text="Submit", command=lambda: check_answer(selected_answer.get(), question_data, question_window, questions, question_index))
submit_button.pack(pady=10)
else:
show_victory_message(selected_character)
def check_answer(selected_answer, question_data, window, questions, question_index): correct_answer = question_data[1][0] # Assume the first answer is correct for simplicity
if selected_answer == correct_answer:
messagebox.showinfo("Correct!", "Your answer is correct!")
window.destroy()
ask_question(questions, question_index + 1)
else:
messagebox.showwarning("Incorrect!", "Your answer is incorrect! Restarting.")
window.destroy()
if messagebox.askyesno("Game Over", "Would you like to restart the game?"):
start_game()
def show_victory_message(character): victory_window = tk.Toplevel(root) victory_window.title("Congratulations!") victory_window.geometry('700x450')
victory_text = (
f"You've successfully answered all questions for {character}!\n\n"
f"As you take a deep breath, a warm glow envelops the room, and suddenly, you find yourself standing before {character}.\n"
f"Their radiant smile lights up your heart, making the world around you fade away."
)
tk.Label(victory_window, text=victory_text, wraplength=600, font=("Arial", 12)).pack(pady=20)
exit_button = tk.Button(victory_window, text="Exit", command=root.quit)
exit_button.pack(pady=20)
Start the game button
start_button = tk.Button(root, text="Start Game", font=("Arial", 24), command=start_game) start_button.place(relx=0.5, rely=0.5, anchor=tk.CENTER)
Run the application
root.mainloop()
Choose your own Adventure Storyline: Must haves: Nature themed - In a world of calamity where global Choosing youre own character Defeatings mobs
First Idea: BrainRot Adventure Memes are the character you’re choosing McDonalds Skibidi Toilet Rizz Alpha
Romance - Apocalypse with your anime crush where nature has taken over and only you and your pookie are left alive (demo)
In a world taken over by nature and zombies, you are now one of the sole survivors of this tragedy. But, as you navigate this wasteland you stumble across an unlikely character; one you’d only dream of: ⤵️
3 options regarding show: JJK, AoT, and Fairytail Characters based on show (planning on shortening list based on time constraints): [Gojo, Geto, Shoko, Yuki] But what exactly led to this encounter….
“Choose one of the four characters;
[Gojo, Geto, Shoko, or Yuki]”
Input name
Opening
(top of the screen) “Welcome [input name]”! “START” (the middle of the screen)
“You were walking down the street and suddenly it goes black. Before it goes black you hear a honk. You thought you didn’t make it but you seem to wake up in a bed that’s not yours. You look around confused until [input character] enters. You're surprised to see your favorite character but he says he needs your help to live. How are you gonna help?”
In three days, you will get tested on your knowledge of JJK and your answers will affect the outcome of the game. Your [input character] will either survive or die based on, if based on the player's choice/ answer. If the player does not get the required questions right by the third day then [input character] then they die, so it’s the player's job to be a hero to [input character]/lover.
Questions that correlates to the character you chose Day one - medium (level of difficulty)
Day two - hard (level of difficulty)
Day three - extreme (level of difficulty)
Scoring Have to get atleast get a ⅚ questions correct to marry [input character] if you get less than 5 questions then the player will not get to marry and the game will end[input character] The game will not tell you what question you got wrong it will only say if you get married or not to the [input character]
Gojo questions
Easy 1 - What is Gojo’s eye color
Choice 1 - Vibrant Blue
Choice 2 - Bright Blue
Choice 3 - Both A and B
Easy 2 - What's the name of Gojo’s Domain Expansion?
Choice 1 - Unlimited Void
Choice 2 - Infinity Domain Expansion
Choice 3 - Domain Expansion
Easy 3 - What are Gojo’s power
Choice 1 - Swallowing curses to use them
Choice 2 - Both A and C
Choice 3 - Manipulates Space
Hard 1 - What was Gojo’s most iconic line?
Choice 1 - “You're weak.”
Choice 2 - "In all the heavens and the earth, I alone am the honored one"
Choice 3 - "No one can ever truly judge us, so we must continually prove the worth of our existence"
Hard 2 - How tall is Gojo’s
Choice 1 - Neither
Choice 2 - 191cm
Choice 3 - 6’2 ½ ft
Extreme 1 - What do Gojo likes to eat
Choice 1 - Fruit
Choice 2 - Sweets
Choice 3 - Noodles
Shoko questions
Easy1 - What is Shoko’s Hair Color
Choice 1 - Dark Green
Choice 2 - Blonde
Choice 3 - Brown
Easy 2 - Who were Shoko’s friends
Choice 1 - Miyoko and Geto
Choice 2 - Gojo and Geto
Choice 3 - Yuki and Miyoko
Easy 3 - How long is Shoko’s hair?
Choice 1 - Short
Choice 2 - Long
Choice 3 - Medium
Hard 1 - What does Shoko call Gojo?
Choice 1 - “Disgusting”
Choice 2 - “Kitten”
Choice 3 - “Trash"
Hard 2 - What is Shoko’s Height
Choice 1 - 5’7
Choice 2 - 5’8
Choice 3 - 5’6
Extreme 1 - Shoko’s Quote
Choice 1 - “I was so selfish”
Choice 2 - “No your wrong”
Choice 3 - Both
Geto questions
Easy 1 - What color is his hair?
Choice 1 - Blond
Choice 2 - Dark Grey
Choice 3 - Black
Easy 2 - Geto’s known bestie pop?
Choice 1 - Shoko
Choice 2 - Utahime
Choice 3 - Gojo
Easy 3 - Geto’s powers?
Choice 1 - Cursed spirit manipulation
Choice 2 - Using cursed weapons
Choice 3 - none
Hard 1 - What was Geto’s most iconic line?
Choice 1 - “Utahime, You crying?”
Choice 2 - “Are you the strongest because you’re Saturo Gojo or are you Saturo Gojo because you're the strongest?”
Choice 3 - "In all the heavens and the earth, I alone am the honored one"
Hard 2 - Who took over Geto’s body?
Choice 1 - Jogo
Choice 2 - Gojo
Choice 3 - Kenjaku
Extreme 1 - What date was the Shibuya incident?
Choice 1 - February 8th 2012
Choice 2 - October 31st 2018
Choice 3 - August 23rd 2007
Yuki questions
Easy1 - How long is Yuki’s hair?
Choice 1 - Short
Choice 2 - Medium
Choice 3 - Long
Easy 2 - Yuki’s average outfit?
Choice 1 - Black shirt and jeans
Choice 2 - White shirt and black skirt
Choice 3 - Black shirt and sweats
Easy 3 - Yuki’s
Choice 1 - Star Rage
Choice 2 - Cursed spirit manipulation
Choice 3 - Limitless cursed technique
Hard 1 - What was Yuki’s most iconic line?
Choice 1 - “No, I'm not crying!”
Choice 2 - “What kind of woman is your type?”
Choice 3 - “If I had stayed at the bottom I would have hated myself.”
Hard 2 - Who did Yuki train?
Choice 1 - Todo
Choice 2 - Maki
Choice 3 - Mai
Extreme 1 - Who was on Yuki’s team during the Shibuya incident?
Choice 1 - Yuji
Choice 2 - Inumaki
Choice 3 - No one
Log in or sign up for Devpost to join the conversation.