Color Game In Python Using Tkinter Module | Python Project

by | Feb 4, 2022 | Coding, Python

Introduction of the Project

Do you like to play games? Today, we are going to code a wonderful, confusing color game using python language. For this, we are going to use the Tkinter module. Tkinter provides classes that allow the display, positioning, and control of widgets like Frame, Label, Entry, Text, Canvas, Button, Radiobutton, Checkbutton, Scale, Listbox, Scrollbar, OptionMenu, Spinbox LabelFrame, and PanedWindow. Now let us have a look at the requirements and source code for this color game in the python using Tkinter module.

 

Requirements

1. VSCode or any Python IDE

2. Tkinter and Random module must be preinstalled on your pc

Steps to Create Color Game In Python Using Tkinter Module

Step 1: Windows: Open Command Prompt and type

macOS: Open Terminal and type

pip3 install tk  and

pip3 install random

Step 2: Paste the below piece of code in your Editor/IDE; you can also alter it as per your wish!

Source Code

# Import the modules

import tkinter

import random




# List of colours

colours = ['Pink', 'Blue', 'Green', 'Orange', 'Black', 'Yellow', 'Purple', 'White', 'Brown']




# Initialising score to 0

score = 0




# Initialy the time will be 25 seconds

remainingtime = 25




# This function will begin the game

def beginGame(event):




if remainingtime == 25:




# If the above statement is satisfied, we are beginning the countdown

countdown()




# Here, we are calling function to choose the next colour

nextColour()




# This function will choose the next color

def nextColour():




global score

global remainingtime




# If statement

if remainingtime > 0:




# If the above statement is satisfied, we are making the text entry box active

i.focus_set()




# If the input color name and colou of the text are matching,

if i.get().lower() == colours[1].lower():




# we are increasing the score by 5

score += 5




# Using, delete function, we are deleting the text of the box

i.delete(0, tkinter.END)




# The random generates a random colour using shuffle

random.shuffle(colours)




# Here, we are changing the text colour to a random colour value

label.config(fg = str(colours[1]), text = str(colours[0]))




# Here, we are updating the score

scoreLabel.config(text = "Score : " + str(score))







# This is countdown function

def countdown():




global remainingtime




if remainingtime > 0:




# If the above statement is satisfied, we will decrement the time by 1 second

remainingtime -= 1




# Here, we are updating the remaining time label

timeLabel.config(text = "Remaining time : " + str(remainingtime))




# after function, calls function once after given time in milliseconds.

timeLabel.after(1000, countdown)




# To create GUI window

root = tkinter.Tk()




# To set the title

root.title("COLOR GAME")




# To set the size

root.geometry("900x600")




# Here, we are adding an instruction label

instruction = tkinter.Label(root, text = "\n Type the colour of the words, and not the word text! \n", font = ('TimesNewRoman', 20))

instruction.pack()




scoreLabel = tkinter.Label(root, text = "Press Enter to Play \n", font = ('TimesNewRoman', 20))

scoreLabel.pack()




# Remaining time label

timeLabel = tkinter.Label(root, text = "Remaining time: " + str(remainingtime), font = ('TimesNewRoman', 20))

timeLabel.pack()




# Color text font and size specification

label = tkinter.Label(root, font = ('TimesNewRoman', 80))

label.pack()




# Input text box

i = tkinter.Entry(root)




# To run the 'beginGame' function when the Enter key is pressed

root.bind('<Return>', beginGame)

i.pack()




# To set focus on the input box

i.focus_set()




# To start the GUI

root.mainloop()

Explanation Of The Code

In the beginning, we imported two modules to generate random colors and widgets.

1. We have created a list of colors, which we will be using as input into the input box.

2.  After that, we have initialized the score to 0 and the remaining time to 25 seconds.

3. Now, we are using begin game function, in which we are using the if statement, in which if the remaining time is equal to 25 seconds, the countdown function will start, and the next color function is also called.

4. Next, we are using the next color function to produce the next color with its text. In this function, we convert the input text to lower case and then check whether the color matches it.

5. The shuffle function is used to shuffle the list of colors, and the delete function is used to clear the input box.

6. Now, if the color name matches the color of the text, the score will be increased by 5; else not.

7. In the countdown function, we are using the after function to call the countdown function after each second to decrease the remaining time by one second.

8. At last, we are creating GUI, in which we are giving the title, setting the geometry, score label, timelable, instruction, and input box with color text fonts.

Output

The GUI of the color game in python using the Tkinter module will look like the below screenshot of the output. Time is limited, be fast in answering!

Colour Game In Python Using Tkinter Module

Things to Remember

  • Don’t put space in between height and width in the geometry function.
  • Write the name of the modules in lowercase only.

 

You May Also Like To Create…

0 Comments

Submit a Comment

Your email address will not be published.