Download as pdf or txt
Download as pdf or txt
You are on page 1of 21

lOMoAR cPSD| 32024227

ACKNOWLEDGEMENT

We take this opportunity to thank our project guide Prof.Kirti Rani mam and
Head of the department Prof. Suvarnalata.H. mam for their valuable guidance
and for providing all the necessary facilities, which were indispensable in the
completion of this project report. We are also thankful to all the staff members of
Computer Engineering Department for their valuable time, support, comments,
suggestions and persuasion. We would also like to thank the institute for
providing the required facilities, Internet access and important books.

1
DEPARTMENT OF CSE, BKEC
lOMoAR cPSD| 32024227

INDEX

Sr. No
CONTENT Page No.

1.
Abstract 5

2.
Software Requirement 6
3.
Introduction 7-9

4.
Problem Statement 10

5.
Objective 11

6.
Outcome 12

7.
Implementation Code 13-16

8.
Output 17-18

9.
Conclusion 19

9.
References 20

2
DEPARTMENT OF CSE, BKEC
lOMoAR cPSD| 32024227

ABSTRACT

This report presents the development and evaluation of an Egg Catcher Game,
designed for entertainment and educational purposes. The game aims to engage
players in a fun and interactive experience while also enhancing their hand-eye
coordination and reflexes. The development process involved designing the game
mechanics, graphics, and user interface to create an immersive gaming
environment. Additionally, various evaluation methods, including user feedback
and performance analysis, were employed to assess the game's effectiveness and
user satisfaction. Results indicate that the Egg Catcher Game effectively achieves
its objectives, providing an enjoyable experience while also improving players'
cognitive skills. Recommendations for future enhancements and research directions
are also discussed. Overall, this report contributes to the understanding of game
development and its potential applications in education and entertainment.

3
DEPARTMENT OF CSE, BKEC
lOMoAR cPSD| 32024227

SOFTWARE AND HARDWARE REQUIREMENT

❖ Ubuntu (Linux OS)


❖ Programming languages:
• Python
❖ Software: GNU G++
❖ System: Ubuntu 20.04 LTS

4
DEPARTMENT OF CSE, BKEC
lOMoAR cPSD| 32024227

INTRODUCTION

The Egg Catcher Game is a classic arcade-style game that has entertained
generations with its simple yet addictive gameplay. In this digital era, the game has
been reimagined and implemented using Python programming language and the
Pygame library, catering to modern audiences while retaining the nostalgic charm of
the original concept.

The objective of the game is straightforward: players control a basket at the bottom
of the screen, tasked with catching falling eggs before they hit the ground. Each
successfully caught egg earns points, while missed eggs deduct from the player's score
or reduce their lives. The game's mechanics challenge players' hand-eye coordination
and reflexes, making it both entertaining and beneficial for cognitive skills
development.

This report documents the entire process of developing and evaluating the Egg
Catcher Game using Python. It covers aspects such as game design, implementation,
user interface development, and performance evaluation. Additionally, it discusses the
significance of Python in game development and its potential applications in
educational contexts.

Through this report, readers will gain insights into the intricacies of Python-based
game development, the challenges faced during the process, and the methods used for
evaluating the game's effectiveness. Furthermore, it serves as a testament to the
versatility of Python in creating engaging and interactive experiences for users of all
ages.

The development of the Egg Catcher Game involved leveraging the functionalities
provided by the Pygame library, which offers a comprehensive set of tools for creating
2D games in Python. This allowed for efficient implementation of game mechanics
such as player controls, egg spawning, collision detection, and scoring system.
Additionally, Pygame provided flexibility in designing the game's visual elements,

DEPARTMENT OF CSE, BKEC


5
lOMoAR cPSD| 32024227

including graphics, animations, and user interface components. By utilizing Python and
Pygame, developers were able to streamline the development process and focus more
on refining the gameplay experience.

One of the key challenges encountered during the development phase was
optimizing the game's performance to ensure smooth gameplay across different
hardware configurations. This involved optimizing code efficiency, managing
resources effectively, and minimizing computational overhead. Through iterative
testing and optimization, developers were able to achieve a balance between visual
fidelity and performance, ensuring that the Egg Catcher Game runs smoothly on a wide
range of devices without compromising the gaming experience.

The Egg Catcher Game is a timeless classic that has transcended generations,
captivating players with its simple yet engaging gameplay mechanics. Originating as a
physical game played with real eggs, it has evolved into a digital incarnation, offering
a modern twist on a beloved pastime. This digital adaptation utilizes the Python
programming language and the Pygame library to recreate the excitement and challenge
of catching falling eggs in a virtual environment.

The allure of the Egg Catcher Game lies in its accessibility and universal appeal.
Players of all ages can quickly grasp the objective: maneuver a basket to catch eggs
falling from above while avoiding any that slip through the cracks. Despite its apparent
simplicity, the game offers a captivating experience that tests players' hand-eye
coordination, timing, and strategic decision-making.

In this report, we delve into the intricacies of developing and evaluating the Egg
Catcher Game using Python. From the initial conceptualization to the final
implementation, each stage of the development process is meticulously documented.
This includes designing the game mechanics, creating intuitive user interfaces, and
refining the visual aesthetics to enhance player immersion.

Furthermore, this report explores the broader implications of Python in the realm
of game development. As one of the most versatile and widely-used programming
6
DEPARTMENT OF CSE, BKEC
lOMoAR cPSD| 32024227

languages, Python offers a plethora of tools and libraries that streamline the
development process and empower developers to bring their creative visions to life. By
leveraging Python's capabilities, the Egg Catcher Game serves as a testament to the
boundless potential of programming in shaping interactive entertainment experiences.

Through a comprehensive evaluation process, encompassing user feedback and


performance analysis, we assess the effectiveness and enjoyment of the Egg Catcher
Game. Insights gleaned from this evaluation not only inform future iterations of the
game but also shed light on the broader implications of gamification in education and
skill development.

In essence, this report serves as a testament to the enduring charm of the Egg
Catcher Game and the limitless possibilities afforded by Python in game development.
It is a testament to the ingenuity of developers and the timeless appeal of interactive
entertainment.

7
DEPARTMENT OF CSE, BKEC
lOMoAR cPSD| 32024227

PROBLEM STATEMENT

The development of the Egg Catcher Game in Python addresses the challenges of
accessibility in game development and the demand for engaging educational content.
By utilizing Python and Pygame, the project simplifies game development, making it
more accessible to beginners. Additionally, the game incorporates educational
elements such as hand-eye coordination and reflex training, catering to the need for
interactive and effective learning experiences. Furthermore, by setting a standard for
educational games, the Egg Catcher Game demonstrates the potential of Python-based
development in creating high-quality, engaging educational content. Overall, this
project serves to bridge the gap between game development and education by
providing a platform for accessible and impactful learning experiences through the
Egg Catcher Game.

8
DEPARTMENT OF CSE, BKEC
lOMoAR cPSD| 32024227

OBJECTIVE

• Develop the Egg Catcher Game using Python and the Pygame library to create an
accessible platform for novice programmers to learn game development.

• Incorporate educational elements such as hand-eye coordination and reflex training


into the game mechanics to provide an engaging and effective learning experience.

• Evaluate the effectiveness of the Egg Catcher Game as an educational tool through
user feedback, performance analysis, and comparison with existing educational
games.

• Demonstrate the potential of Python-based game development in creating high-


quality, interactive educational content that meets the standards of both
entertainment and education.

• Provide insights and resources for educators, developers, and learners interested in
utilizing Python and Pygame for creating educational games and interactive learning
experiences.

DEPARTMENT OF CSE BKEC 9


lOMoAR cPSD| 32024227

OUTCOME

• Creation of the Egg Catcher Game, a fully functional and engaging game developed
in Python using the Pygame library, demonstrating the feasibility and accessibility
of game development in Python for novice programmers.

• Integration of educational elements into the gameplay mechanics of the Egg Catcher
Game, resulting in an interactive learning experience that improves hand-eye
coordination, reflexes, and cognitive skills.

• Evaluation of the Egg Catcher Game's effectiveness as an educational tool,


supported by user feedback, performance analysis, and comparative assessments
with existing educational games, providing valuable insights into the potential of
gamified learning experiences.

• Establishment of the Egg Catcher Game as a benchmark for Python-based


educational game development, showcasing the capabilities of Python and Pygame
in creating high-quality, interactive content for educational purposes.

• Provision of resources, documentation, and best practices derived from the


development process of the Egg Catcher Game, empowering educators, developers,
and learners to leverage Python and Pygame for creating their own educational
games and interactive learning materials.

10
DEPARTMENT OF CSE, BKEC
lOMoAR cPSD| 32024227

IMPLEMENTATION CODE

from itertools import cycle


from random import randrange
from tkinter import Canvas, Tk, messagebox, font

canvas_width = 800
canvas_height = 400

root = Tk()
c = Canvas(root, width=canvas_width, height=canvas_height, background="deep sky
blue")
c.create_rectangle(-5, canvas_height-100, canvas_width+5, canvas_height+5,
fill="sea green", width=0)
c.create_oval(-80, -80, 120, 120, fill='orange', width=0)
c.pack()

color_cycle = cycle(["light blue", "light green", "light pink", "light yellow", "light
cyan"])
egg_width = 45
egg_height = 55
egg_score = 10
egg_speed = 500
egg_interval = 4000
difficulty = 0.95
catcher_color = "blue4"
catcher_width = 100
catcher_height = 100
catcher_startx = canvas_width / 2 - catcher_width / 2
11
DEPARTMENT OF CSE, BKEC
lOMoAR cPSD| 32024227

catcher_starty = canvas_height - catcher_height - 20


catcher_startx2 = catcher_startx + catcher_width
catcher_starty2 = catcher_starty + catcher_height

catcher = c.create_arc(catcher_startx, catcher_starty, catcher_startx2, catcher_starty2,


start=200, extent=140, style="arc", outline=catcher_color, width=3)
game_font = font.nametofont("TkFixedFont")
game_font.config(size=18)

score = 0
score_text = c.create_text(10, 10, anchor="nw", font=game_font, fill="darkblue",
text="Score: "+ str(score))

lives_remaining = 3
lives_text = c.create_text(canvas_width-10, 10, anchor="ne", font=game_font,
fill="darkblue", text="Lives: "+ str(lives_remaining))

eggs = []

def create_egg():
x = randrange(10, 740)
y = 40
new_egg = c.create_oval(x, y, x+egg_width, y+egg_height, fill=next(color_cycle),
width=0)
eggs.append(new_egg)
root.after(egg_interval, create_egg)

def move_eggs():

12
DEPARTMENT OF CSE, BKEC
lOMoAR cPSD| 32024227

for egg in eggs:


(eggx, eggy, eggx2, eggy2) = c.coords(egg)
c.move(egg, 0, 10)
if eggy2 > canvas_height:
egg_dropped(egg)
root.after(egg_speed, move_eggs)

def egg_dropped(egg):
eggs.remove(egg)
c.delete(egg)
lose_a_life()
if lives_remaining == 0:
messagebox.showinfo("Game Over!", "Final Score: "+ str(score))
root.destroy()

def lose_a_life():
global lives_remaining
lives_remaining -= 1
c.itemconfigure(lives_text, text="Lives: "+ str(lives_remaining))

def check_catch():
(catcherx, catchery, catcherx2, catchery2) = c.coords(catcher)
for egg in eggs:
(eggx, eggy, eggx2, eggy2) = c.coords(egg)
if catcherx < eggx and eggx2 < catcherx2 and catchery2 - eggy2 < 40:
eggs.remove(egg)
c.delete(egg)
increase_score(egg_score)
root.after(100, check_catch)

13
DEPARTMENT OF CSE, BKEC
lOMoAR cPSD| 32024227

def increase_score(points):
global score, egg_speed, egg_interval
score += points
egg_speed = int(egg_speed * difficulty)
egg_interval = int(egg_interval * difficulty)
c.itemconfigure(score_text, text="Score: "+ str(score))

def move_left(event):
(x1, y1, x2, y2) = c.coords(catcher)
if x1 > 0:
c.move(catcher, -20, 0)

def move_right(event):
(x1, y1, x2, y2) = c.coords(catcher)
if x2 < canvas_width:
c.move(catcher, 20, 0)

c.bind("<Left>", move_left)
c.bind("<Right>", move_right)
c.focus_set()
root.after(1000, create_egg)
root.after(1000, move_eggs)
root.after(1000, check_catch)
root.mainloop()

14
DEPARTMENT OF CSE, BKEC
lOMoAR cPSD| 32024227

OUTPUT

15
DEPARTMENT OF CSE, BKEC
lOMoAR cPSD| 32024227

16
DEPARTMENT OF CSE, BKEC
lOMoAR cPSD| 32024227

CONCLUSION

In conclusion, the development and evaluation of the Egg Catcher Game in Python
have demonstrated the effectiveness and potential of Python-based game development
in the educational context. By leveraging the accessibility of Python and the
functionality of the Pygame library, we have created an engaging and interactive
learning experience accessible to novice programmers and learners of all ages.

17
DEPARTMENT OF CSE BKEC
lOMoAR cPSD| 32024227

REFERENCES

• https://www.gjesr.com/Issues%20PDF/ICITAIC-2019/1.pdf

• https://ieeexplore.ieee.org/document/9480232

• https://www.jetir.org/view?paper=JETIR2305619

18
DEPARTMENT OF CSE, BKEC
VISVESVARAYATECHNOLOGICALUNIVERSITY
JnanaSangama,Belagavi-590014

A
CGIPMiniProjectReport On
“EGG CATCHER GAME ”
SubmittedBy:
OMKAR
(USN:-3BK21CS034)

UnderTheGuidanceof

Prof.KEERTIRANI

DEPARTMENTOFCOMPUTERSCIENCE&ENGINEERING
BASAVAKALYANENGINEERINGCOLLEGE
BASAVAKALYAN-585327

AcademicYear-2023-24
BET’s
BASAVAKALYANENGINEERINGCOLLEGE
BASAVAKALYAN-585327

DEPARTMENTOFCOMPUTERSCIENCEANDENGINEERING

Certificate

Thisistocertifythattheprojectworkentitled"EGG CATCHER GAME


workcarriedoutbyOMKAR (USN:3BK21CS034)
student of VI semester (CBCS) B.E. (Computer Science & Engineering) in partial
fulfillment for the CGIP Lab with Mini Project (21CSL55) prescribed by
Visvesvaraya Technological University, Belgavi during the academic year 2023-
2024.

Signature of Guide Head of Department

Prof.Keerti Rani Prof.SuvarnalataHiremath

Name of the Examiners SignaturewithDate

1)-----------------

2)-----------------
Chapter11

At this pleasing moment of having successfully completed our project, we wish to convey
our sincere thanks andgratitudetoour esteemedinstitute"BASAVAKALYAN
ENGINEERING COLLEGE BASAVAKALYAN ".

FirstandforemostoursincerethankstoourPrincipalDr.AshokKumar Vangerifor forwardingus


tocarryoutourprojectandofferingadequatedurationincompletingourproject

We are also grateful to the Head of department of Computer Science &Engineering


Prof.SuvarnalataHiremathforherconstructivesuggestions&Encouragementduringourproject.

Wewishtoplace our gracefulthanks toourprojectguideProf. Keerti Rani,Without whose help and


guidance would not have been possible to complete this project.

Weexpress ourheartfelt thankstoour allstaffmembersofourdepartment who helpedusalot inthe


completionofdirectlyandindirectlywithinthescheduleperiod.

Lastbutnotleastwewouldliketothanksourfriendsandfamilymembersforincreasedandpropels
and encouragement throughout in this position.

ProjectAssociates:
OMKAR (3BK21CS034)

DEPTOFCSE,BKECBASAVAKALYAN 3

You might also like