We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
You are on page 1/ 16
Pydoku ~ A Sudoku Game
“Ta
DEPARTMENT OF INFORMATION
TECHNOLOGY
2023-2024
Capstone Project Planning Report
“Pydoku — A sudoku game”
Academic year: 2023-2024
Program Code: IF5I
Course: Capstone Project Planning
Course Code: 22058
Subject Teacher: Mrs. Suvarna Thakre
Group no: 17
ZAGDU SINGH CHARITABLE TRUST (REGD.)
THAKUR POLYTECHNIC
(An ISO 9001:2015 Certified Institute)
Thakur Complex, West to W. E. Highway, Kandivali, (E), Mumbai — 400
: 101(Accredited by: National Board Of Accreditation)
‘Semester 5, Department Of Information Technology Pg.Maharashtra State Board of Technical
Education
Certificate
This is to certify that:
Tiara Kabra — 15
Devarsh Mehta - 35
Vivek Tripathi - 63
Supriya Jha - 60
of fifth Semester of Diploma in Information Technology of
Institute Thakur Polytechnic (Code: 0522) have completed
the Capstone Project Planning satisfactorily on “Pydoku —
A sukdoku game” for the academic year 2023-24 as
prescribed in the curriculum.
Place: Mumbai Date:
Subject Teacher Head ofthe Department _ Principal
Semester 5, Department Of Information Technology
Pg.2Pydoku ~ A Sudoku Game
CERTIFICATE
This is to certify that:
Tiara Kabra — 15
Devarsh Mehta — 35
Vivek Tripathi - 63
Supriya Jha — 60
From Th have completed.
Project Guide/Mentor Head of the Department
‘Semester 5, Department Of Information Technology Pg.3Pydoku ~ A Sudoku Game
ACKNOWLEDGEMENT
This acknowledgment transcends the reality of formality when we
would like to express deep gratitude and respect to all those people
behind the screen who guided, inspired and helped me for the
completion of our project work.
This project would add as an asset to my academic profile. We express
our sincere gratitude to our respectful Principal Dr. S.M. Ganechari
for enabling us to make use of laboratory and library facilities liberally,
that helped us a long way in carrying out our project work successfully.
We consider ourselves lucky enough to get such a good project. This
project would add as an asset to my academic profile. We express our
gratitude to the help of the Head of the Department of Information
technology, Mrs. Suwarna Thakre, for her constant supervision,
guidance and co-operation throughout the project and we would like to
express our thankfulness to our project guide (subject teacher), Ms.
Swaranjaly Jagtap for her constant motivation and valuable help
through the project work. We extend our sincere gratitude to our
parents who have encouraged us with their blessings to do this project
successfully.
THANK YOU
‘Semester 5, Department Of Information Technology PedPydoku ~ A Sudoku Game
=
CHAPTER TITLE eee
NO
rod Introduction on Pydoku 6
fod General Introduction 6
12 Aim 6
13 Scope of work 6
14 Background of the industry 7
15 Problem Statement 7
2. Literature Survey for Pydoku 8
2.1 Introduction 8
2.2 Related Work 8
2.3 Method 9
24 Framework 9
3. Proposed detailed methodology of solving | 12
identified problem with action plan.
3.1 Purpose/Goal 12
3.2 Proposed Methodology 13
4, Block Diagram 14
4.1 Proposed Design Plan 1S
4.2 Action Plan 15
5. Conclusion and Bibliography 16
5.1 Conclusion 16
5.2 Bibliography 16
‘Semester 5, Department Of Information Technology Pes————— Pydoku - A Sudoku Game
Abstract
Sudoku consists of a 9 x 9 grid with numbers appearing in some of the squares.
The object of the puzzle is to fill the remaining squares, using all the numbers 1—
9 exactly once in each row, column, and the nine 3 x 3 sub-grids.
Py- doku that is derived from python and doku from Sudoku is a number game
implemented using python,
We have designed the game using Tkinter to provide GUI (Graphical user
interface). Tkinter makes the user’s experience more playful and it has several
additional features,
Chapter — 1 Introduction to Pydoku.
1.1 General Introduction
PyDoku is a Sudoku game implemented in Python, a popular programming
language. Sudoku is a logic-based combinatorial number-placement puzzle. The
goal is to fill a 9x9 grid with digits so that each column, each row, and each of
the nine 3x3 subgrids that compose the grid (also called "boxes," "blocks," or
“regions") contain all of the digits from 1 to 9. The puzzle starts with some cells,
already filled with numbers, and the player's task is to complete the grid following
the rules.
1.2 Aim
The aim of the Pydoku project is to develop a robust and user-friendly Sudoku
game using Python. The project focuses on implementing an interactive and
visually appealing interface for players to engage with, while incorporating
efficient algorithms to generate and solve Sudoku puzzles. Through Pydoku, the
goal is to provide an enjoyable and challenging gaming experience for users,
fostering logical thinking and problem-solving skills. Additionally, the project
aims to showcase the versatility of Python in game development, encouraging
both novice and experienced programmers to explore the language's capabilities
in creating engaging applications.
1.3 Scope of the Project
The scope of the Pydoku project involves creating a fully functional Sudoku game
using the Python programming language. The project aims to implement a user-
friendly interface for players to engage with, offering features such as
customizable difficulty levels, an efficient algorithm for generating unique
puzzles, and a responsive design. Additionally, Pydoku will incorporate
functionalities like error checking, hint options, and a timer to enhance the
Semester 5, Department Of Information Technology Pg.6Pydoku — A Sudoku Game
gaming experience. The project's scope also includes thorough testing to ensure
the gam bility and an opportunity for future expansion, potentially
incorporating, additional features or integrating with other platforms. Overall,
Pydoku aspires to provide a seamless and enjoyable Sudoku-playing experience
through its Python-based implementation.
1.4 Background of the industry
The online gaming industry has experienced explosive growth and transformative
changes over the past few decades, evolving from simple text-based games to
immersive, graphics-rich virtual worlds. The proliferation of high-speed internet,
advanced hardware, and mobile devices has fueled unprecedented accessibility,
enabling millions of players worldwide to connect and engage in multiplayer
experiences. The rise of esports, live streaming, and digital distribution platforms
has reshaped the industry landscape, creating new avenues for both established
and indie developers. Microtransactions, virtual economies, and in-game
purchases have become integral components, generating significant revenue
streams. The ongoing convergence of gaming and technology, coupled with the
increasing influence of social and community-driven aspects, continues to shape
the dynamic and ever-expanding online gaming ecosystem.
1.5 Problem Statement
The project "Pydoku" aims to create a dynamic and engaging Sudoku game using
Python. The challenge lies in implementing an intuitive and visually appealing
user interface, designing a robust algorithm for generating unique and solvable
puzzles of varying difficulty levels, and ensuring seamless user interaction for
input and validation. Additionally, the project involves incorporating features
such as a timer, score tracking, and an option for hints, enhancing the overall
gaming experience. The key problem areas to address include algorithmic puzzle
generation, graphical user interface design, and effective user input handling, all
of which contribute to delivering a polished and enjoyable Sudoku gaming
application.
Semester 5, Department Of Information Technology Pp.7
PPydoku ~ A Sudoku Game
ibaa
Chapter 2 Literature Survey for Pydoku - A sudoku Game
2.1 Introduction
Pydoku is an engaging and meticulously crafted Sudoku game developed using
python, seamlessly combining the elegance of the classic puzzle with the
versatility of modern programming. This project not only showcases the
proficiency in Python programming but also offers a user-friendly interface,
challenging puzzles, and robust algorithms that ensure a seamless and enjoyable
gaming experience. With its intuitive design and intelligent logic, Pydoku serves
as a testament to the fusion of traditional gaming and cutting-edge technology,
providing enthusiasts with a platform to exercise their mental prowess and relish
the timeless allure of Sudoku in a digital realm.
2.2 Related work
Several notable developers excel in crafting online Sudoku platforms, each
bringing unique features and innovation to the table, Renowned for their
commitment to user experience, accessibility, and game optimization,
Sudoku.com stands out as a pioneer, offering a seamless interface and a vast array
of puzzles. Additionally, WebSudoku has earned acclaim for its simplicity and
diverse difficulty levels, appealing to both novice and seasoned players. Sudoku
Kingdom is celebrated for its captivating designs and daily challenges, keeping
enthusiasts engaged. The best developers continually evolve their platforms,
combining user-friendly interfaces with a rich variety of puzzles, ensuring
gratifying experience for Sudoku enthusiasts worldwide.
2.3 Method
To develop an online Sudoku game, start by outlining the project structure and
defining the game's core functionalities. Utilize a programming language like
Python, JavaScript, or a framework like Django or React to build the game's
frontend and backend. Implement a responsive user interface, ensuring an
intuitive design that adapts to various screen sizes. Integrate a random puzzle
generator to provide users with a diverse range of challenges, and incorporate an
algorithm to verify the correctness of user inputs in real-time. Implement a
scoring system, timer, and user authentication for personalized experiences,
allowing players to track their progress and compete with others. Finally,
rigorously test the game to ensure a seamless user experience across different
browsers and devices.
On the backend, establish a database to store user profiles, game progress, and
leaderboards. Use secure authentication methods to protect user data and maintain
the integrity of the gaming experience. Implement logic to handle user
interactions, validate submitted answers, and calculate scores based on
Semester 5, Department Of Information Technology PesPydoku ~ A Sudoku Game
completion time and difficulty level, Regularly update and optimize the game to
enhance performance, introduce new features, and keep players engaged. By
following this methodical approach, you can create a robust online Sudoku game
that combines functionality, user-friendliness, and an enjoyable gaming
experience.
2.4 Framework
To develop a Sudoku game efficiently, consider utilizing a versatile web
framework such as Django or Flask for Python, or React for JavaScript. These
frameworks provide a solid foundation for building the frontend and backend
components of the game. Leverage the framework's features to streamline user
authentication, handle data storage, and implement dynamic interfaces, ensuring
a seamless and interactive Sudoku gaming experience. Integrating with these
frameworks allows developers to focus on game logic and user experience,
accelerating the development process while maintaining scalability and
maintainability.
Create a puzzle
=
Remove 1 cell
Restore removed
cell
x
No
\
|s punzle >
solvable?
Semester 5, Department Of Information Technology Pg.9~ Pydoku ~ A Sudoku Game
Chapter -3 Proposed detailed methodology of solving identified
problem with action plan.
3,1 Purpose/Goal
The primary purpose of building Pydoku, a Sudoku game using Python,
is to offer enthusiasts a challenging and entertaining platform that
hamesses the power of programming to recreate the timeless appeal of
Sudoku in a digital environment. Pydoku aims to provide a seamless
user experience with an intuitive interface, diverse difficulty levels, and
intelligent algorithms for puzzle generation and solution verification.
Beyond serving as a showcase of Python programming proficiency, the
goal is to foster mental stimulation, problem-solving skills, and a sense
of accomplishment for players of all levels, making Pydoku a go-to
destination for Sudoku aficionados seeking a modern and engaging
rendition of this classic puzzle.
Furthermore, Pydoku aspires to contribute to the educational and
recreational aspects of programming by demonstrating how technology
can enhance traditional games. Through its elegant design and
functional features, Pydoku aims to inspire developers and enthusiasts
alike to explore the intersection of coding and gaming, showcasing the
versatility and creativity that can be achieved through the thoughtful
application of programming skills.
A
4 9 7 5/6 Ceca}
2\3 9 8 7 | 4 | sumer
5|7 4}2 9/3 are _
DOS Sooo eo
2} [oy fey fi?
5 2/9
9 zt Tt
" 2 4|8
Bi 2 4|7 [ie
Semester 5, Department Of Information Technology Pg. 10\
Pydoku ~ A Sudoku Game
\
3.2 Proposed Methodology
aie of Pou, a Sudoku game in Python, employ an agile
features and USer Pena, comprehensive requirements analysis to olin Key
eave the game logic, imple Utilize object-oriented programming principles to
Ss " validation. Emplo; * ne lementing a robust algorithm for puzzle generation
ensuring an engagin Y the Pygame library for the graphical user interface,
ensuring 2 ngnging and intuitive design. iteratively develop and test each
morential ‘sours ata to enhance usability and addressing
i : Apply version control, such as Git, to manage
een developroent and regularly update documentation to facilitate future
me iendly Poke a ive and collaborative approach ensures a well-crafted and
user" game, combinit . " i,
development process. ining the efficiency of Python with a strategic
‘Semester 5, Department Of Information Technology Pg. 1d
&a
— Pydoku ~ A Sudoku Game
Chapter — 4 Block Diagram
Al proposed Design Plan
For the implementation of an online Sudoku game, begin with a comprehensive
fesign plan. Define the Project scope, outlining key features such as user
authentication, puzzle generation, real-time validation, and a scoring system.
Choose a responsive web framework like Django for the backend and React for
the frontend, ensuring a seamless user experience across devices.
Fstablish a modular architecture, dividing the system into components
responsible for user authentication, puzzle generation, and gameplay. Implement
a database schema to store user profiles, game progress, and leaderboard data.
neha RESTful APIs to facilitate communication between the frontend and
backend.
Integrate a Sudoku puzzle generator algorithm that ensures unique and solvable
puzzles of varying difficulty levels. Develop a real-time validation mechanism to
verify user inputs, providing immediate feedback on correctness. Implement a
scoring system based on completion time and difficulty, encouraging competition
among players.
Se
“mester 5, Department Of Information Technology Pg. 12
—._
ae
|Yr
ee
Pydoku ~ A Sudoku Game
- :
prioritize security by employing encryption for sensitive data, implementing
cure authentication protocols, and validating user inputs to prevent potential
oits. Perform thorough testing, including unit testing, integration testing, and
ser acceptance testing, to ensure the reliability and functionality of the entire
system.
Lastly, plan for scalability and future enhancements, considering potential
features like multiplayer functionality, additional puzzle variants, and social
integration. Regularly update documentation to facilitate ongoing maintenance
and collaborate with user feedback for continuous improvement. This design plan
rovides a roadmap for the systematic development of a robust and engaging
online Sudoku game.
—
MenuFactory
SY
Controller
nnn ——.— ~
| View oe Model
—
ables
Semes
"5, Department Of Information Technology Pg. 13
ee‘A Sudoku Game
rv Pydoku
br
yz action Plan
sr. Details of | Plann | Planned | Name of
No ed Finished responsible
Start Date team
Date members __
Group Formation 17/8/2023 2gn023.~—~«Y~CS*«CT tara Kaaba
Devarsh Mehta |
Vivek Tripathi
| Supriya Jha |
3] Selection of 31782023 | 31/8/2023 Tiara Kabra
three topics for Devarsh Mehta
presentation. Vivek Tripathi |
Supriya Jha
| __ - __|
3 Presentation 1/8/23 18/23 Tiara Kabra
of three topics Devarsh Mehta
and final topic Vivek Tripathi
selection Supriya Jha
4 Presentation 7/9/2023 7/9/2023 ‘Tiara Kabra Devarsh
of three topics Mehta
and final topic Vivek Tripathi
selection Supriya Jha
5 Allotment of | 14/9/2023 | 14/9/2023 Tiara Kabra
Project guide Devarsh Mehta
Vivek Tripathi
Supriya Jha
6 Discussion with | 21/9/2023 | 5/10/2023 Tiara Kabra
Project guide Devarsh Mehta
Vivek Tripathi
Supriya Jha
7 Imformation s1orz0z2 | 12/10/2023 Tiara Kabra
sharing Devarsh Mehta
Vivek Tripathi
Supriya Jha
‘ester 5, Department Of Information Technology Pg. 14
PePydoku — A Sudoku Game
jst REE 1yio2s 191024 Tiara Kabra
| | Devarsh Mehta
| Vivek Tripathi
| Supriya Sha
| projet Propostl 201023 | 2310.23 Tiara Kabra
9 | submission | Devarsh Mehta
| Vivek Tripathi
Supriya Jha
Seminar on th 30/1023 | 31/1023 ‘Tiara Kabra
0 | Finatised project Devarsh Mehta
topic Vivek Tripath
Supriya Jha
Ai Study of VA1/23 1/123 | Tiara Kabra
| technology | Devarsh Mehta
needed to Vivek Tripathi
implement three Supriya Jha
projects |
La] Smdyof 3/11/23 3/1123 Tiara Kabra
technology and Devarsh Mehta
hardware Vivek Tripathi
components Supriya Jha
(73 _ | Estimation of cost 3/11/23 6/11/23 Tiara Kabra
of budget Devarsh Mehta
Vivek Tripathi
Supriya Jha |
a Information onlii23 TIS Tiara Kabra
gathering and Devarsh Mehta |
documentation Vivek Tripathi |
Supriya Jha
15 | Presentation to 8/11/23 9111723 Tiara Kabra
project guide Devarsh Mehta
Vivek Tripathi |
Supriya Jha |
te |
16 Report Submission | 10/11/23 To/11/23 Taam Kabra
Devarsh Mehta
Vivek Tripathi
Supriya Jha an
eo
Da
"tment Of Information ‘TechnologyPydoku ~ A Sudoku Game
3 Conclusion and Bibliography
te!
pa
yy cote sudoku project has successfully culminated in the creation of
ip "ond user-centric gaming experience. Leveraging Python for its
; apt an and incorporating a responsive web framework for the frontend,
‘pend OBS in delivering a seamless and enjoyable platform for Sudoku
p78 han intelligently designed puzzle generation algorithm, real-time
is intuitive user interface, the game not only challenges players
vai vides a visually appealing and accessible environment. The iterative
put 0 Pe process, coupled with user feedback, ensures a polished and reliable
ere that not only pays homage to the classic puzzle but also showcases
si erity and innovation achievable through strategic programming and
tl desi
jiography
ae pips: dw secksforweeks org
Semester
5,
Department Of Information Technology