Introduction
Basic Widgets
Toplevel Widgets
Geometry Management
Binding Functions
Working with Images in Tkinter
Tkinter Advance
Applications and Projects
The FLAMES game is a popular game among youngsters. It stands for Friends, Lovers, Affectionate, Marriage, Enemies, and Siblings. The game predicts the nature of a relationship between two people based on their names.
Here's a step-by-step tutorial on creating a simple FLAMES game using tkinter
:
tkinter
:1. Import Required Libraries:
import tkinter as tk from functools import reduce
2. Logic for FLAMES:
Here's the basic logic for the FLAMES game:
def flames(name1, name2): name1 = name1.lower().replace(" ", "") name2 = name2.lower().replace(" ", "") for letter in name1: if letter in name2: name1 = name1.replace(letter, "", 1) name2 = name2.replace(letter, "", 1) count = len(name1) + len(name2) result = ["Friends", "Lovers", "Affectionate", "Marriage", "Enemies", "Siblings"] while len(result) > 1: split_index = (count % len(result) - 1) if split_index >= 0: left = result[:split_index] right = result[split_index+1:] result = right + left else: result = result[:len(result)-1] return result[0]
3. Create the GUI:
def show_result(): player1 = entry1.get() player2 = entry2.get() result_str = flames(player1, player2) result_label.config(text=result_str) root = tk.Tk() root.title("FLAMES Game") label1 = tk.Label(root, text="Enter your name:") label1.pack(pady=10) entry1 = tk.Entry(root) entry1.pack(pady=10) label2 = tk.Label(root, text="Enter your crush's name:") label2.pack(pady=10) entry2 = tk.Entry(root) entry2.pack(pady=10) button = tk.Button(root, text="Find Relationship", command=show_result) button.pack(pady=20) result_label = tk.Label(root, text="", font=('Helvetica', 16)) result_label.pack(pady=20) root.mainloop()
When you enter two names and click on "Find Relationship", the program calculates the relationship based on the FLAMES logic and displays it. This is a simple game and doesn't actually predict real relationships, but it's a fun pastime for many!
Creating a FLAMES game with Tkinter:
import tkinter as tk import random def flames_calculator(name1, name2): # Function to calculate FLAMES result all_letters = set(name1.lower() + name2.lower()) common_letters = set.intersection(set(name1.lower()), set(name2.lower())) remaining_letters = all_letters - common_letters total_letters = len(remaining_letters) flames = ["Friends", "Love", "Affection", "Marriage", "Enemy", "Siblings"] while len(flames) > 1: index = (total_letters % len(flames) - 1) flames = flames[index + 1:] + flames[:index] return flames[0] def calculate_flames(): name1 = entry_name1.get() name2 = entry_name2.get() result = flames_calculator(name1, name2) label_result.config(text=f"FLAMES Result: {result}") # GUI setup root = tk.Tk() root.title("Love Compatibility Calculator") # Entry widgets for names input entry_name1 = tk.Entry(root, width=20) entry_name1.grid(row=0, column=0, padx=10, pady=10) entry_name2 = tk.Entry(root, width=20) entry_name2.grid(row=0, column=1, padx=10, pady=10) # Button to trigger calculation btn_calculate = tk.Button(root, text="Calculate FLAMES", command=calculate_flames) btn_calculate.grid(row=1, column=0, columnspan=2, pady=10) # Display FLAMES result label_result = tk.Label(root, text="") label_result.grid(row=2, column=0, columnspan=2) root.mainloop()