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. Required fields are marked *