From 5a769c7b4cb6b1c52ea691c8b45ee3f2b2445cf9 Mon Sep 17 00:00:00 2001 From: kumar11jr Date: Sat, 7 Oct 2023 10:53:04 +0530 Subject: [PATCH 1/4] updated half json file --- assets/js/gamesData.json | 291 +++++++++++++++++++++++++++++++++++++++ assets/js/index.js | 2 +- 2 files changed, 292 insertions(+), 1 deletion(-) diff --git a/assets/js/gamesData.json b/assets/js/gamesData.json index 01b0a129aa..2ab871eab6 100644 --- a/assets/js/gamesData.json +++ b/assets/js/gamesData.json @@ -1645,6 +1645,297 @@ "gameTitle": "Snail Game", "gameUrl": "Snail_Game", "thumbnailUrl": "Snail_Game" + }, + "328": { + "gameTitle": "Solitaire", + "gameUrl": "Solitaire_up", + "thumbnailUrl": "" + }, + "329": { + "gameTitle": "Slime Attack ", + "gameUrl": "Slime_attack_game", + "thumbnailUrl": "" + }, + "330": { + "gameTitle": "Star_Trek_Trivia", + "gameUrl": "Star_Trek_Trivia", + "thumbnailUrl": "star-trek-img.png" + }, + "331": { + "gameTitle": "Pokemon_Card_Game", + "gameUrl": "Pokemon_Card_Game", + "thumbnailUrl": "pokemon.jpeg" + }, + "332": { + "gameTitle": "Digit Dilemma", + "gameUrl": "Digit_Dilemma", + "thumbnailUrl": "Digit_Dilemma.png" + }, + "333": { + "gameTitle": "Snail Game", + "gameUrl": "Snail_Game", + "thumbnailUrl": "Snail_Game" + }, + "334": { + "gameTitle": "Tennis", + "gameUrl": "Tennis", + "thumbnailUrl": "paddle.jpeg" + }, + "335": { + "gameTitle": "Illusion", + "gameUrl": "Illusion", + "thumbnailUrl": "Illusion.png" + }, + "336": { + "gameTitle": "Block Buster", + "gameUrl": "Block_Buster", + "thumbnailUrl": "" + }, + "337": { + "gameTitle": "Guess_The_Ball", + "gameUrl": "Guess_The_Ball", + "thumbnailUrl": "" + }, + "338": { + "gameTitle": "Doremon Puzzle", + "gameUrl": "Doremon_Puzzle", + "thumbnailUrl": "logo.png" + }, + "339": { + "gameTitle": "Guess The Celebrity", + "gameUrl": "Guess_The_Celebrity", + "thumbnailUrl": "favicon-32x32.png" + }, + "340": { + "gameTitle": "Rock_Paper_Scissors_Lizard_Spock", + "gameUrl": "Rock_Paper_Scissors_Lizard_Spock", + "thumbnailUrl": "" + }, + "341": { + "gameTitle": "Snail Game", + "gameUrl": "Snail_Game", + "thumbnailUrl": "Snail_Game" + }, + "342": { + "gameTitle": "Snail Game", + "gameUrl": "Snail_Game", + "thumbnailUrl": "Snail_Game" + }, + "343": { + "gameTitle": "Snail Game", + "gameUrl": "Snail_Game", + "thumbnailUrl": "Snail_Game" + }, + "344": { + "gameTitle": "Snail Game", + "gameUrl": "Snail_Game", + "thumbnailUrl": "Snail_Game" + }, + "345": { + "gameTitle": "Snail Game", + "gameUrl": "Snail_Game", + "thumbnailUrl": "Snail_Game" + }, + "346": { + "gameTitle": "Snail Game", + "gameUrl": "Snail_Game", + "thumbnailUrl": "Snail_Game" + }, + "347": { + "gameTitle": "Snail Game", + "gameUrl": "Snail_Game", + "thumbnailUrl": "Snail_Game" + }, + "348": { + "gameTitle": "Snail Game", + "gameUrl": "Snail_Game", + "thumbnailUrl": "Snail_Game" + }, + "349": { + "gameTitle": "Snail Game", + "gameUrl": "Snail_Game", + "thumbnailUrl": "Snail_Game" + }, + "350": { + "gameTitle": "Snail Game", + "gameUrl": "Snail_Game", + "thumbnailUrl": "Snail_Game" + }, + "351": { + "gameTitle": "Snail Game", + "gameUrl": "Snail_Game", + "thumbnailUrl": "Snail_Game" + }, + "352": { + "gameTitle": "Snail Game", + "gameUrl": "Snail_Game", + "thumbnailUrl": "Snail_Game" + }, + "353": { + "gameTitle": "Snail Game", + "gameUrl": "Snail_Game", + "thumbnailUrl": "Snail_Game" + }, + "354": { + "gameTitle": "Snail Game", + "gameUrl": "Snail_Game", + "thumbnailUrl": "Snail_Game" + }, + "355": { + "gameTitle": "Snail Game", + "gameUrl": "Snail_Game", + "thumbnailUrl": "Snail_Game" + }, + "356": { + "gameTitle": "Snail Game", + "gameUrl": "Snail_Game", + "thumbnailUrl": "Snail_Game" + }, + "357": { + "gameTitle": "Snail Game", + "gameUrl": "Snail_Game", + "thumbnailUrl": "Snail_Game" + }, + "358": { + "gameTitle": "Snail Game", + "gameUrl": "Snail_Game", + "thumbnailUrl": "Snail_Game" + }, + "359": { + "gameTitle": "Snail Game", + "gameUrl": "Snail_Game", + "thumbnailUrl": "Snail_Game" + }, + "360": { + "gameTitle": "Snail Game", + "gameUrl": "Snail_Game", + "thumbnailUrl": "Snail_Game" + }, + "361": { + "gameTitle": "Snail Game", + "gameUrl": "Snail_Game", + "thumbnailUrl": "Snail_Game" + }, + "362": { + "gameTitle": "Snail Game", + "gameUrl": "Snail_Game", + "thumbnailUrl": "Snail_Game" + }, + "363": { + "gameTitle": "Snail Game", + "gameUrl": "Snail_Game", + "thumbnailUrl": "Snail_Game" + }, + "364": { + "gameTitle": "Snail Game", + "gameUrl": "Snail_Game", + "thumbnailUrl": "Snail_Game" + }, + "365": { + "gameTitle": "Snail Game", + "gameUrl": "Snail_Game", + "thumbnailUrl": "Snail_Game" + }, + "366": { + "gameTitle": "Snail Game", + "gameUrl": "Snail_Game", + "thumbnailUrl": "Snail_Game" + }, + "367": { + "gameTitle": "Snail Game", + "gameUrl": "Snail_Game", + "thumbnailUrl": "Snail_Game" + }, + "368": { + "gameTitle": "Snail Game", + "gameUrl": "Snail_Game", + "thumbnailUrl": "Snail_Game" + }, + "369": { + "gameTitle": "Snail Game", + "gameUrl": "Snail_Game", + "thumbnailUrl": "Snail_Game" + }, + "370": { + "gameTitle": "Snail Game", + "gameUrl": "Snail_Game", + "thumbnailUrl": "Snail_Game" + }, + "371": { + "gameTitle": "Snail Game", + "gameUrl": "Snail_Game", + "thumbnailUrl": "Snail_Game" + }, + "372": { + "gameTitle": "Snail Game", + "gameUrl": "Snail_Game", + "thumbnailUrl": "Snail_Game" + }, + "373": { + "gameTitle": "CSS Crossword", + "gameUrl": "CSS_Crossword", + "thumbnailUrl": "Snail_Game" + }, + "374": { + "gameTitle": "CSS Select", + "gameUrl": "CSS_Select", + "thumbnailUrl": "Share.png" + }, + "375": { + "gameTitle": "Squid", + "gameUrl": "Squid_Game", + "thumbnailUrl": "img.png" + }, + "376": { + "gameTitle": "Flip Coin", + "gameUrl": "Flip_Coin", + "thumbnailUrl": "image.png" + }, + "377": { + "gameTitle": "Witty Word Quest", + "gameUrl": "witty_word_quest", + "thumbnailUrl": "" + }, + "378": { + "gameTitle": "Typing Game", + "gameUrl": "Typing_Game", + "thumbnailUrl": "" + }, + "379": { + "gameTitle": "numerical_whiz", + "gameUrl": "Number guessing Game", + "thumbnailUrl": "" + }, + "380": { + "gameTitle": "Candy_match", + "gameUrl": "Candy_Match_Saga", + "thumbnailUrl": "image.png" + }, + "381": { + "gameTitle": "Crossy_Road", + "gameUrl": "Crossy_Road", + "thumbnailUrl": "Crossy_Road.png" + }, + "382": { + "gameTitle": "HueHero", + "gameUrl": "HueHero", + "thumbnailUrl": "" + }, + "383": { + "gameTitle": "Puzzel_Winner", + "gameUrl": "Puzzel_Winner", + "thumbnailUrl": "icon.png" + }, + "384": { + "gameTitle": "Emoji_Intruder", + "gameUrl": "Emoji_Intruder", + "thumbnailUrl": "" + }, + "385": { + "gameTitle": "Guess_The_Weapon", + "gameUrl": "Guess_The_Weapon", + "thumbnailUrl": "icon.png" } + } diff --git a/assets/js/index.js b/assets/js/index.js index 8139dc1022..b647836d18 100644 --- a/assets/js/index.js +++ b/assets/js/index.js @@ -2,7 +2,7 @@ const generateLiTags = gamesData => { const liTags = []; - for (let tagNumber = 1; tagNumber <= 286; tagNumber++) { + for (let tagNumber = 1; tagNumber <= 385; tagNumber++) { const gameData = gamesData[tagNumber.toString()]; if (gameData) { From ca783d2bbc357604c145af6f8368461aad855a3e Mon Sep 17 00:00:00 2001 From: kumar11jr Date: Sat, 7 Oct 2023 12:52:55 +0530 Subject: [PATCH 2/4] completed json file --- assets/js/gamesData.json | 192 +++++++++++++++++++-------------------- 1 file changed, 96 insertions(+), 96 deletions(-) diff --git a/assets/js/gamesData.json b/assets/js/gamesData.json index 2ab871eab6..66224ee219 100644 --- a/assets/js/gamesData.json +++ b/assets/js/gamesData.json @@ -1712,164 +1712,164 @@ "thumbnailUrl": "" }, "341": { - "gameTitle": "Snail Game", - "gameUrl": "Snail_Game", - "thumbnailUrl": "Snail_Game" + "gameTitle": "Elemental_Riddles", + "gameUrl": "Elemental_Riddles", + "thumbnailUrl": "" }, "342": { - "gameTitle": "Snail Game", - "gameUrl": "Snail_Game", - "thumbnailUrl": "Snail_Game" + "gameTitle": "Falling_Ball", + "gameUrl": "Falling_Ball", + "thumbnailUrl": "" }, "343": { - "gameTitle": "Snail Game", - "gameUrl": "Snail_Game", - "thumbnailUrl": "Snail_Game" + "gameTitle": "Hit_Target", + "gameUrl": "Hit_Target", + "thumbnailUrl": "image.png" }, "344": { - "gameTitle": "Snail Game", - "gameUrl": "Snail_Game", - "thumbnailUrl": "Snail_Game" + "gameTitle": "Archery", + "gameUrl": "Archery", + "thumbnailUrl": "target.png" }, "345": { - "gameTitle": "Snail Game", - "gameUrl": "Snail_Game", - "thumbnailUrl": "Snail_Game" + "gameTitle": "Click_circle", + "gameUrl": "Click_circle", + "thumbnailUrl": "" }, "346": { - "gameTitle": "Snail Game", - "gameUrl": "Snail_Game", - "thumbnailUrl": "Snail_Game" + "gameTitle": "color_switch_challenger", + "gameUrl": "color_switch_challenger", + "thumbnailUrl": "" }, "347": { - "gameTitle": "Snail Game", - "gameUrl": "Snail_Game", - "thumbnailUrl": "Snail_Game" + "gameTitle": "Puzzle_Game", + "gameUrl": "Puzzle_Game", + "thumbnailUrl": "marvel.jpg" }, "348": { - "gameTitle": "Snail Game", - "gameUrl": "Snail_Game", - "thumbnailUrl": "Snail_Game" + "gameTitle": "Quizify", + "gameUrl": "Quizify", + "thumbnailUrl": "image.png" }, "349": { - "gameTitle": "Snail Game", - "gameUrl": "Snail_Game", - "thumbnailUrl": "Snail_Game" + "gameTitle": "word blitz", + "gameUrl": "word_blitz", + "thumbnailUrl": "" }, "350": { - "gameTitle": "Snail Game", - "gameUrl": "Snail_Game", - "thumbnailUrl": "Snail_Game" + "gameTitle": "Click_circle", + "gameUrl": "Click_circle", + "thumbnailUrl": "" }, "351": { - "gameTitle": "Snail Game", - "gameUrl": "Snail_Game", - "thumbnailUrl": "Snail_Game" + "gameTitle": "color_switch_challenger", + "gameUrl": "color_switch_challenger", + "thumbnailUrl": "" }, "352": { - "gameTitle": "Snail Game", - "gameUrl": "Snail_Game", - "thumbnailUrl": "Snail_Game" + "gameTitle": "Puzzle_Game", + "gameUrl": "Puzzle_Game", + "thumbnailUrl": "marvel.jpg" }, "353": { - "gameTitle": "Snail Game", - "gameUrl": "Snail_Game", - "thumbnailUrl": "Snail_Game" + "gameTitle": "Quizify", + "gameUrl": "Quizify", + "thumbnailUrl": "image.png" }, "354": { - "gameTitle": "Snail Game", - "gameUrl": "Snail_Game", - "thumbnailUrl": "Snail_Game" + "gameTitle": "word blitz", + "gameUrl": "word_blitz", + "thumbnailUrl": "" }, "355": { - "gameTitle": "Snail Game", - "gameUrl": "Snail_Game", - "thumbnailUrl": "Snail_Game" + "gameTitle": "Code Cracker", + "gameUrl": "Code_Cracker", + "thumbnailUrl": "" }, "356": { - "gameTitle": "Snail Game", - "gameUrl": "Snail_Game", - "thumbnailUrl": "Snail_Game" + "gameTitle": "Know Your Country", + "gameUrl": "Know_Your_Country", + "thumbnailUrl": "" }, "357": { - "gameTitle": "Snail Game", - "gameUrl": "Snail_Game", - "thumbnailUrl": "Snail_Game" + "gameTitle": "Musical_Floor", + "gameUrl": "Musical_Floor", + "thumbnailUrl": "" }, "358": { - "gameTitle": "Snail Game", - "gameUrl": "Snail_Game", - "thumbnailUrl": "Snail_Game" + "gameTitle": "Sky_Dodge", + "gameUrl": "Sky_Dodge", + "thumbnailUrl": "" }, "359": { - "gameTitle": "Snail Game", - "gameUrl": "Snail_Game", - "thumbnailUrl": "Snail_Game" + "gameTitle": "Swap Card Game", + "gameUrl": "Swap-Card-Game", + "thumbnailUrl": "images.png" }, "360": { - "gameTitle": "Snail Game", - "gameUrl": "Snail_Game", - "thumbnailUrl": "Snail_Game" + "gameTitle": "Memorization_card", + "gameUrl": "Memorization_card", + "thumbnailUrl": "" }, "361": { - "gameTitle": "Snail Game", - "gameUrl": "Snail_Game", - "thumbnailUrl": "Snail_Game" + "gameTitle": "Smashing_Blocks", + "gameUrl": "Smashing_Blocks", + "thumbnailUrl": "" }, "362": { - "gameTitle": "Snail Game", - "gameUrl": "Snail_Game", - "thumbnailUrl": "Snail_Game" + "gameTitle": "Response_Reaction", + "gameUrl": "Response_Reaction", + "thumbnailUrl": "" }, "363": { - "gameTitle": "Snail Game", - "gameUrl": "Snail_Game", - "thumbnailUrl": "Snail_Game" + "gameTitle": "Truth and Dare", + "gameUrl": "Truth_and_Dare", + "thumbnailUrl": "image.png" }, "364": { - "gameTitle": "Snail Game", - "gameUrl": "Snail_Game", - "thumbnailUrl": "Snail_Game" + "gameTitle": "Rotating_Elements", + "gameUrl": "Rotating_Elements", + "thumbnailUrl": "Rotating_Elements.png" }, "365": { - "gameTitle": "Snail Game", - "gameUrl": "Snail_Game", - "thumbnailUrl": "Snail_Game" + "gameTitle": "Chopsticks", + "gameUrl": "Chopsticks", + "thumbnailUrl": "image-0.png" }, "366": { - "gameTitle": "Snail Game", - "gameUrl": "Snail_Game", - "thumbnailUrl": "Snail_Game" + "gameTitle": "Anime Clicker", + "gameUrl": "Anime_Clicker", + "thumbnailUrl": "bg.jpg" }, "367": { - "gameTitle": "Snail Game", - "gameUrl": "Snail_Game", - "thumbnailUrl": "Snail_Game" + "gameTitle": "3D Snake", + "gameUrl": "3D_Snake", + "thumbnailUrl": "" }, "368": { - "gameTitle": "Snail Game", - "gameUrl": "Snail_Game", - "thumbnailUrl": "Snail_Game" + "gameTitle": "Rocket_Showdown", + "gameUrl": "Rocket_Showdown", + "thumbnailUrl": "Rocket_Showdown.png" }, "369": { - "gameTitle": "Snail Game", - "gameUrl": "Snail_Game", - "thumbnailUrl": "Snail_Game" + "gameTitle": "Find Extra Cube", + "gameUrl": "Find_Extra_Cube", + "thumbnailUrl": "" }, "370": { - "gameTitle": "Snail Game", - "gameUrl": "Snail_Game", - "thumbnailUrl": "Snail_Game" + "gameTitle": "PathPlex", + "gameUrl": "PathPlex", + "thumbnailUrl": "PathPlex.png" }, "371": { - "gameTitle": "Snail Game", - "gameUrl": "Snail_Game", - "thumbnailUrl": "Snail_Game" + "gameTitle": "CSS Select", + "gameUrl": "CSS_Select", + "thumbnailUrl": "Share.png" }, "372": { - "gameTitle": "Snail Game", - "gameUrl": "Snail_Game", - "thumbnailUrl": "Snail_Game" + "gameTitle": "Squid", + "gameUrl": "Squid_Game", + "thumbnailUrl": "img.png" }, "373": { "gameTitle": "CSS Crossword", From 3f5886d47b1b4f0681d249285de005ba645995c0 Mon Sep 17 00:00:00 2001 From: kumar11jr Date: Sat, 14 Oct 2023 20:01:49 +0530 Subject: [PATCH 3/4] new game added --- Games/Molecule_builder/README.md | 24 ++++++++++++ .../assets/images/Molecular_builder.png | Bin 0 -> 23673 bytes Games/Molecule_builder/molecular_builder.py | 35 ++++++++++++++++++ 3 files changed, 59 insertions(+) create mode 100644 Games/Molecule_builder/README.md create mode 100644 Games/Molecule_builder/assets/images/Molecular_builder.png create mode 100644 Games/Molecule_builder/molecular_builder.py diff --git a/Games/Molecule_builder/README.md b/Games/Molecule_builder/README.md new file mode 100644 index 0000000000..59622e374c --- /dev/null +++ b/Games/Molecule_builder/README.md @@ -0,0 +1,24 @@ +# Molecule Builder Game + +## Description +"Molecule Builder" is an educational and puzzle-solving game that challenges players to construct various molecules from individual atoms, while adhering to chemical formulas. This interactive game provides an enjoyable way to learn chemistry concepts and have fun at the same time. + +## Features +- Construct molecules using hydrogen (H) and oxygen (O) atoms. +- Multiple levels with increasing complexity and different target molecules. +- Scoring based on accuracy and completion time. +- User-friendly interface with a canvas for molecule construction. +- Educational gameplay to learn about molecular composition. +- Timer for added challenge. +- Engaging puzzles to test your chemistry knowledge. + +## Game Logic and Description +For a detailed overview of the game logic and a description, please see the [Game Logic and Description](GAME_LOGIC_AND_DESCRIPTION.md) file. + +## Getting Started +To get started with the game, follow these steps: + +1. Clone this repository to your local machine. +2. Run the game using Python (requires Tkinter). + + diff --git a/Games/Molecule_builder/assets/images/Molecular_builder.png b/Games/Molecule_builder/assets/images/Molecular_builder.png new file mode 100644 index 0000000000000000000000000000000000000000..697a9d973878b09db010b116575efd76fd0a2500 GIT binary patch literal 23673 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 K8)esABK`|T1a1@n literal 0 HcmV?d00001 diff --git a/Games/Molecule_builder/molecular_builder.py b/Games/Molecule_builder/molecular_builder.py new file mode 100644 index 0000000000..d4d98fe852 --- /dev/null +++ b/Games/Molecule_builder/molecular_builder.py @@ -0,0 +1,35 @@ +import tkinter as tk + +class MoleculeBuilder: + def __init__(self, root): + self.root = root + self.root.title("Molecule Builder") + + self.canvas = tk.Canvas(self.root, width=400, height=400) + self.canvas.pack() + + self.elements = { + "H": {"color": "red", "count": 0}, + "O": {"color": "blue", "count": 0} + } + + self.canvas.bind("", self.add_element) + + def add_element(self, event): + x, y = event.x, event.y + element = "H" if self.elements["H"]["count"] < 2 else "O" + + if self.elements[element]["count"] < 2: + self.elements[element]["count"] += 1 + self.canvas.create_oval(x - 10, y - 10, x + 10, y + 10, fill=self.elements[element]["color"]) + if self.elements["H"]["count"] == 2 and self.elements["O"]["count"] == 1: + self.check_molecule() + + def check_molecule(self): + if self.elements["H"]["count"] == 2 and self.elements["O"]["count"] == 1: + self.canvas.create_text(200, 200, text="You built water (H2O)!", fill="green", font=("Helvetica", 16)) + +if __name__ == "__main__": + root = tk.Tk() + app = MoleculeBuilder(root) + root.mainloop() From af06a63c965959a2df08f57264c92457788e7603 Mon Sep 17 00:00:00 2001 From: kumar11jr Date: Sat, 14 Oct 2023 20:17:42 +0530 Subject: [PATCH 4/4] Revert "new game added" This reverts commit 3f5886d47b1b4f0681d249285de005ba645995c0. --- Games/Molecule_builder/README.md | 24 ------------ .../assets/images/Molecular_builder.png | Bin 23673 -> 0 bytes Games/Molecule_builder/molecular_builder.py | 35 ------------------ 3 files changed, 59 deletions(-) delete mode 100644 Games/Molecule_builder/README.md delete mode 100644 Games/Molecule_builder/assets/images/Molecular_builder.png delete mode 100644 Games/Molecule_builder/molecular_builder.py diff --git a/Games/Molecule_builder/README.md b/Games/Molecule_builder/README.md deleted file mode 100644 index 59622e374c..0000000000 --- a/Games/Molecule_builder/README.md +++ /dev/null @@ -1,24 +0,0 @@ -# Molecule Builder Game - -## Description -"Molecule Builder" is an educational and puzzle-solving game that challenges players to construct various molecules from individual atoms, while adhering to chemical formulas. This interactive game provides an enjoyable way to learn chemistry concepts and have fun at the same time. - -## Features -- Construct molecules using hydrogen (H) and oxygen (O) atoms. -- Multiple levels with increasing complexity and different target molecules. -- Scoring based on accuracy and completion time. -- User-friendly interface with a canvas for molecule construction. -- Educational gameplay to learn about molecular composition. -- Timer for added challenge. -- Engaging puzzles to test your chemistry knowledge. - -## Game Logic and Description -For a detailed overview of the game logic and a description, please see the [Game Logic and Description](GAME_LOGIC_AND_DESCRIPTION.md) file. - -## Getting Started -To get started with the game, follow these steps: - -1. Clone this repository to your local machine. -2. Run the game using Python (requires Tkinter). - - diff --git a/Games/Molecule_builder/assets/images/Molecular_builder.png b/Games/Molecule_builder/assets/images/Molecular_builder.png deleted file mode 100644 index 697a9d973878b09db010b116575efd76fd0a2500..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23673 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 K8)esABK`|T1a1@n diff --git a/Games/Molecule_builder/molecular_builder.py b/Games/Molecule_builder/molecular_builder.py deleted file mode 100644 index d4d98fe852..0000000000 --- a/Games/Molecule_builder/molecular_builder.py +++ /dev/null @@ -1,35 +0,0 @@ -import tkinter as tk - -class MoleculeBuilder: - def __init__(self, root): - self.root = root - self.root.title("Molecule Builder") - - self.canvas = tk.Canvas(self.root, width=400, height=400) - self.canvas.pack() - - self.elements = { - "H": {"color": "red", "count": 0}, - "O": {"color": "blue", "count": 0} - } - - self.canvas.bind("", self.add_element) - - def add_element(self, event): - x, y = event.x, event.y - element = "H" if self.elements["H"]["count"] < 2 else "O" - - if self.elements[element]["count"] < 2: - self.elements[element]["count"] += 1 - self.canvas.create_oval(x - 10, y - 10, x + 10, y + 10, fill=self.elements[element]["color"]) - if self.elements["H"]["count"] == 2 and self.elements["O"]["count"] == 1: - self.check_molecule() - - def check_molecule(self): - if self.elements["H"]["count"] == 2 and self.elements["O"]["count"] == 1: - self.canvas.create_text(200, 200, text="You built water (H2O)!", fill="green", font=("Helvetica", 16)) - -if __name__ == "__main__": - root = tk.Tk() - app = MoleculeBuilder(root) - root.mainloop()