You are on page 1of 73

Desktop Application for Snooker Management System

Submitted by:

Aatia Ali Qureshi (04161513015)


Talha Tariq (04161513034)
Zara Nasir (04161513018)

Submitted to: Ma’am Bushra Almas

DEPARTMENT OF INFORMATION TECHNOLOGY


QUAID-E-AZAM UNIVERSITY, ISLAMABAD

SESSION (2015-2019)
ACKNOWLDEGMNT

All the praises, thanks and acknowledgments are for the creator Allah Almighty, the most
Beneficent, the most Merciful, who gave us strength and enabled us to undertake and execute
this task. Countless salutations upon the Holy Prophet Hazrat Muhammad (S.A.W), source of
knowledge for enlightening the world with the essence of faith in Allah and guiding the mankind
towards the true path of life.

Every project big or small is successful largely due to the effort of a number of wonderful people
who have always given their valuable advice or lent a helping hand. We sincerely appreciate the
inspiration; support and guidance of all those people who have been instrumental in making this
project a success.

Our parents receive our deepest gratitude and love for their dedication and the many years of
support during our undergraduate studies that provided the foundation for this work.
We would like to pay special thanks to our Supervisor Ma’am Bushra Almas for their valuable
time and efforts in making this project a success.
Finally, again thanks to God who has made our life more bountiful. May your name be exalted,
honored, and glorified. Last but not least, we would like to thank everybody who was important
to the successful completion of project.

Aatia Ali Qureshi


Talha Tariq
Zara Nasir

2015-2019
Table of Contents
List of Tables .................................................................................................................................. i
List of Figures ................................................................................................................................ ii
1 Chapter : INTRODUCTION ................................................................................................ 2
1.1 Introduction .......................................................................................................................... 2
1.2 Existing System ................................................................................................................... 2
1.3 Block Diagram/Image of Real Time .................................................................................... 3
1.4 Limitation of existing system............................................................................................... 3
1.5 Software Project Management Plan ..................................................................................... 4
1.5.1 Tabular Form ............................................................................................................ 4
1.5.2 Gantt chart ................................................................................................................. 6
2 Chapter : PROPOSED SYSTEM ........................................................................................ 8
2.1 Problem Statement ............................................................................................................... 8
2.2 Explanation of Our System .................................................................................................. 8
2.2.1 Block Diagram .......................................................................................................... 8
......................................................................................................................................................... 9
2.3 Scope .................................................................................................................................. 10
2.3.1 Major Inputs ............................................................................................................ 10
2.3.2 Major Outputs ......................................................................................................... 10
2.3.3 Major Functionalities .............................................................................................. 10
2.4 Objectives .......................................................................................................................... 11
2.5 Overview ............................................................................................................................ 11
2.5.1 Context Diagram ..................................................................................................... 11
2.6 User Classes and Characteristics ....................................................................................... 12
2.7 Assumptions and Dependencies ........................................................................................ 12
2.8 Advantages of Proposed System ........................................................................................ 13
2.9 Background ........................................................................................................................ 13
2.9.1 Image Processing .................................................................................................... 13
3 Chapter : SYSTEM DESIGN ............................................................................................. 15
3.1 INTRODUCTION ............................................................................................................. 15
3.2 Data Flow Diagram (DFD) ................................................................................................ 16
3.2.1 DFD LEVEL 1 ........................................................................................................ 16
3.3 Domain Model ................................................................................................................... 17
3.4 Activity Diagram ............................................................................................................... 18
3.4.1 Login ....................................................................................................................... 18
3.4.2 Registration ............................................................................................................. 19
3.5 UML Diagrams .................................................................................................................. 20
3.5.1 Use Case Diagram................................................................................................... 21
3.5.2 Use Case Description: ............................................................................................. 22
3.5.3 Sequence Diagram .................................................................................................. 37
....................................................................................................................................................... 39
....................................................................................................................................................... 40
3.5.4 Class Diagram ......................................................................................................... 41
3.6 Relational Schema ............................................................................................................. 42
4 Chapter : TOOLS AND TECHNOLOGY ........................................................................ 44
4.1 Introduction to System Development ................................................................................ 44
4.2 Development ...................................................................................................................... 44
4.2.1 Tools Selection........................................................................................................ 44
4.2.2 Introduction of Microsoft Visual Studio ................................................................. 45
4.2.3 Introduction to C# ................................................................................................... 46
4.3 Techniques ......................................................................................................................... 48
4.3.1 Image Processing .................................................................................................... 48
4.3.2 Region of Interest (ROI) Based Processing ............................................................ 48
4.4 References .......................................................................................................................... 48
5 Chapter: IMPLEMENTATION ........................................................................................ 50
5.1 Introduction to User Interface ............................................................................................ 50
5.1.1 Graphical User Interface (GUI) .............................................................................. 50
5.2 Ball Detection through Image Processing.......................................................................... 54
5.2.1 Yellow Ball Detection............................................................................................. 56
5.2.2 Red Ball Detection .................................................................................................. 56
5.2.3 Green Ball Detection............................................................................................... 57
............................................................................................................................................... 57
5.2.4 Blue Ball Detection ................................................................................................. 57
6 Chapter : SOFTWARE TEST DOCUMENT ................................................................... 59
6.1 Test Approach .................................................................................................................... 59
6.2 Test Plan............................................................................................................................. 59
6.2.1 Features to be Tested .............................................................................................. 59
6.2.2 Features not to be tested .......................................................................................... 59
6.2.3 Testing tools and environment ................................................................................ 60
6.3 Test Cases .......................................................................................................................... 60
6.3.1 TC-1: Register a Player ........................................................................................... 60
6.3.2 TC-2: View Profile ................................................................................................. 61
6.3.3 TC-3: Delete a Player.............................................................................................. 61
6.3.4 TC-4: Choose Color ................................................................................................ 62
6.3.5 TC-5: Allocate Turn ................................................................................................ 62
7 Chapter: CONCLUSION & FUTURE SCOPE ............................................................... 64
7.1 Conclusion ......................................................................................................................... 64
7.2 Future Enhancements ......................................................................................................... 65
List of Tables
Table 2.1 (User classes) ................................................................................................................ 12
Table 3.1 (UC-01: Login) ............................................................................................................. 22
Table 3.2 (UC-02: Register Players) ............................................................................................. 23
Table 3.3 (UC-03: Search Player) ................................................................................................. 24
Table 3.4 (UC-04: View Profile) .................................................................................................. 25
Table 3.5 (UC-05: Delete Player) ................................................................................................. 26
Table 3.6 (UC-06: Allocate Table) ............................................................................................... 27
Table 3.7 (UC-07: Logout) ........................................................................................................... 28
Table 3.8 (UC-08: Detect Ball Pot) .............................................................................................. 29
Table 3.9 (UC-09: Switch Turn) ................................................................................................... 30
Table 3.10 (UC-10: Detect Foul) .................................................................................................. 31
Table 3.11 (UC-11: Allocate Turn) .............................................................................................. 32
Table 3.12 (UC-12: Calculate Score)............................................................................................ 33
Table 3.13 (UC-13: Show Game Result) ...................................................................................... 34
Table 3.14 (UC-14: Show Series Result) ...................................................................................... 35
Table 3.15 (UC-15: Choose Color) ............................................................................................... 36
Table 6.1(TC-1: Register a Player) ............................................................................................... 60
Table 6.2 (TC-2: View Profile) ..................................................................................................... 61
Table 6.3 (TC-3: Delete a Player) ................................................................................................. 61
Table 6.4 (TC-4: Choose Color) ................................................................................................... 62
Table 6.5 (TC-5: Allocate Turn) ................................................................................................... 62

i
List of Figures
Figure 1.1 (Real Image of System) ................................................................................................. 3
Figure 1.2 (Project Management Plan-a) ........................................................................................ 4
Figure 1.3 (Project Management Plan-b) .................................................................................. 5
Figure 1.4 (Gantt Chart) .................................................................................................................. 6
Figure 2.1 (Block Diagram of Proposed System-a) ........................................................................ 8
Figure 2.2 (Block Diagram-b)......................................................................................................... 9
Figure 2.3 (Block Diagram of Proposed System) ........................................................................... 9
Figure 2.4 (Context diagram) ........................................................................................................ 11
Figure 3.1 (Data Flow Diagram Level 1)...................................................................................... 16
Figure 3.2 (Domain Model) .......................................................................................................... 17
Figure 3.3 (Activity Diagram of Login) ...................................................................................... 18
Figure 3.4 (Activity diagram of Registration) .............................................................................. 19
Figure 3.5 (Use Case diagram) ..................................................................................................... 21
Figure 3.6 (SD of Allocate Table) ................................................................................................ 37
Figure 3.7 (SD of Detect ball pot) ................................................................................................ 38
Figure 3.8 (SD of Switch Turn) .................................................................................................... 39
Figure 3.9 (SD of Detect Foul) ..................................................................................................... 39
Figure 3.10 (SD of Allocate Turn) ................................................................................................ 40
Figure 3.11 (Class Diagram) ......................................................................................................... 41
Figure 5.1 (Login Interface) .......................................................................................................... 51
Figure 5.2 (Admin Home Page) .................................................................................................... 52
Figure 5.3 (Admin Register Player Page) ..................................................................................... 52
Figure 5.4 (Admin View Player Page) ......................................................................................... 53
Figure 5.5 (Admin New Match Page) .......................................................................................... 53
Figure 5.6 (Admin New Match Page) ........................................................................................... 54
Figure 5.7 (Yellow Ball Detection) .............................................................................................. 56
Figure 5.8 (Red Ball Detection) .................................................................................................... 56
Figure 5.9 (Green Ball Detection) ................................................................................................ 57
Figure 5.10 (Blue Ball Detection) ................................................................................................. 57

ii
Snooker Management System CHAPTER1 : INTRODUCTION

CHAPTER1

INTRODUCTION

1
Snooker Management System CHAPTER1 : INTRODUCTION

1 Chapter : INTRODUCTION

1.1 Introduction
Snooker is an interesting type of athletics, which could train our way of thinking due to the fact
that the player has to consider the next positions in advance after firing, called "Position Game".
Snooker has been popular for hundreds of years in some form. In the beginning, people used
wooden sticks to hit the balls in holes on the outside, which used to be called "rotating balls".
This game in turn has been moved into tables to play. Afterwards, people opened some holes on
the table, which turned into "pool tables" nowadays and increases interest in most of this game
on the inside table. As can be seen from history, snooker was born in England and France in the
early 14th century, when it was popular only among those European palaces, so called "Palace
Balls". Louis XIV was also asked to play billiards with his doctor. According to historical
documents, from Louis XVI to James I in England they were both enthusiastic players.

1.2 Existing System


There are many types of Snooker games like Pool in America, Snooker in England and Carom in
France and Spain. And Pool in America could be further divided into Fourteen, Three Cushion, 8
Balls and 9 Balls, etc. This study adopts the rules of snooker. The game of snooker contains
table, balls and cues (sticks). There are four pockets at the four corners of the table and two
pockets in the center. The balls are colored (red = 1, yellow = 2, green = 3, brown = 4, blue = 5,
pink = 6 and black = 7) and have first signs from 1 to 7 and the white ball is taken as cue ball.
The player who can get the most points wins the game. The breaking blow starts with the red ball
and the players hit the red ball first. If he successfully hits the red ball in his pocket, then he can
hit any other colored sphere (i.e. blue or any ball except red). If he successfully hits the colored
ball in the hole, then the pause continues and he can hit the red ball again and so on, unless he
can hit the ball in his pocket. The player should first hit the red ball in the pocket to continue his
break otherwise the other player will play his shot.

After inserting all the red balls in the pockets, the player hits the colored ball starting from
yellow or the number 2. Based on the ball marks, players can hit the colored ball. For example,
after all the reds, they can only hit the yellow ball. When a yellow ball is hit in the pocket, then
they can hit the other ball (i.e. green) and then they can hit the other balls based on their marks.

2
Snooker Management System CHAPTER1 : INTRODUCTION

The highest grades belong to the black ball (i.e. 7). If the player hits the wrong ball, it is
considered a foul. The signs are deducted on the foul.

In the present, the calculation of scores is recorded by humans and is noted on the blackboard or
recorded in the calculator on the pool table, which results in low efficiency. Furthermore, it
cannot present the game live or perform post-analysis.

1.3 Block Diagram/Image of Real Time

Figure 1.1 (Real Image of System)

1.4 Limitation of existing system


 Paper Work
 Time Consuming

3
Snooker Management System CHAPTER1 : INTRODUCTION

 Uncertainty in Decision Making


 Usage of Man Power
 Exhaustive Searching
 Allocate Turn
 Choose color (Other than red)

1.5 Software Project Management Plan

1.5.1 Tabular Form

Figure 1.2 (Project Management Plan-a)

4
Snooker Management System CHAPTER1 : INTRODUCTION

Figure 1.3 (Project Management Plan-b)

5
Snooker Management System CHAPTER1 : INTRODUCTION

1.5.2 Gantt chart

Figure 1.4 (Gantt Chart)

6
Snooker Management System CHAPTER 2 : PROPOSED SYSTEM

CHAPTER 2

PROPOSED SYSTEM

7
Snooker Management System CHAPTER 2 : PROPOSED SYSTEM

2 Chapter : PROPOSED SYSTEM

2.1 Problem Statement


Snooker is an interesting game, which has been played for hundreds of years in some way.
Traditionally, the game of snooker uses a manual score that can neither record automatically
when the balls are hit in the pocket nor provide back-end analysis. Therefore, our research uses
image processing and webcam techniques combined with object-based image analysis (OBIA)
technologies, implemented a snooker track and a scoring system that has the characteristics of
instant recording in the game and can understanding the competitor starts the game.

2.2 Explanation of Our System

2.2.1 Block Diagram

Figure 2.1 (Block Diagram of Proposed System-a)

8
Snooker Management System CHAPTER 2 : PROPOSED SYSTEM

Figure 2.2 (Block Diagram-b)

Figure 2.3 (Block Diagram of Proposed System)


9
Snooker Management System CHAPTER 2 : PROPOSED SYSTEM

2.3 Scope

2.3.1 Major Inputs

 Color Detector ‘s information


 Login Data of each player
 Allocate turn (Opponent has the access to allocate turn after foul of a player)
 Choose color (player has the access to choose any color other than red after potting red
ball)
 Admin enters the name of a player to view or update or delete his/her profile
 Admin enters table number to allocate the table for a match

2.3.2 Major Outputs

 Real time Score of each player


 History of each player (Name, Age, Ranking, Highest Score, Highest Break, Win
percentage etc.)
 Detect foul
 Turn of a player after a break
 Game result
 Predictions about current situation (Total score according to the remaining balls)
 Number of tables available

2.3.3 Major Functionalities

 Automatic Score Counting


 Foul Detection
 Keep history of every player
 Login
 Logout

10
Snooker Management System CHAPTER 2 : PROPOSED SYSTEM

 Detect Potted ball


 Switch turn
 Current situation
 Game result
 Series result
 Return searched Data

2.4 Objectives
 It’ll save the time and decrease the man power as well.
 Thus, efficiency can be increased.
 It’ll help us to get rid of paper work.
 Our system will be expandable further. Can be implemented for Billiard as well.
 We can also expand our system in such a way that every player will have two chances to
get System help. System will tell how to play according to current situation.
 System will keep the history of each game of every player.
 Automate the playing environment.

2.5 Overview

2.5.1 Context Diagram

Figure 2.4 (Context diagram)

This study combined Webcam and applied to create a Snooker scoring system. There has been
no other way to cut video frames on the market until now; the training environment, the

11
Snooker Management System CHAPTER 2 : PROPOSED SYSTEM

competition process and post-analysis after the games that the traditional snooker offers do not
have a good way of collecting facts. Instead, this study captured images using image processing
and used UML analysis to store information in the back-end database. With the powerful
computing power of computers, the results of the statistics could analyze the behavior pattern of
each player so that the information can be provided to people with different needs - players,
coaches, fans, commentators - to correct the insufficiency of information of each.

2.6 User Classes and Characteristics

Table 2.1 (User classes)

Sr. User Category Role Required Knowledge

Login, Logout, Registers player, Must have knowledge of our system


View profile, delete player, and how-to login.
1 Admin Allocate table.

Login, Logout, View Profile, Must have knowledge of snooker


2 Player update his account, Plays match. and how to use our system.

2.7 Assumptions and Dependencies


 Is there enough light for the camera for image processing?
 Camera should be placed at center of a table
 We are dealing with the type of snooker game having only 1 red ball and all other color
balls
 Camera should be good enough for image processing (at least 5 MP) because our system
totally depends upon the working of camera.

12
Snooker Management System CHAPTER 2 : PROPOSED SYSTEM

2.8 Advantages of Proposed System


 Reduce Man power
 Keep the history of each player and game
 Automate the environment
 Can be implemented for 8-ball pool, 9-ball and other billiard type games. (in real life)
 Automatic score counting
 Let us know about the current situation of game (i.e. how many snookers are required for
a player to win the game or how many possible scores are left on the table)
 With the powerful computing power of computers, the results of the statistics could
analyze the behavior pattern of each player

2.9 Background
This chapter describes basics of machine learning and image processing. It also describes
different image processing techniques. This chapter also focuses on the image processing
techniques which we will use in our project.

2.9.1 Image Processing


Image processing is a method to convert an image into digital form and perform some operations
on it, in order to obtain an improved image or to extract some useful information. This is a type
of signal distribution where the input is an image, such as the video frame or photo and the
output may be the image or features associated with that image. Usually the image processing
system includes the processing of images as two-dimensional signals while applying to them
already set signal processing methods.

2.9.1.1 When to use Image Processing


Image processing is used in those applications that require:

 Visualizations of objects.
 Image sharpening and restoration (for better creation of image).
 Image retrieval (to separate region of interest).
 Image Recognition (to distinguish objects in image).

13
Snooker Management System CHAPTER 3 : SYSTEM DESIGN

CHAPTER 3

SYSTEM DESIGN

14
Snooker Management System CHAPTER 3 : SYSTEM DESIGN

3 Chapter : SYSTEM DESIGN

3.1 INTRODUCTION
The project design is an initial phase of the project in which the key features, the structure, the
criteria for success and the main results of the project are planned. The point is to develop one or
more projects that can be used to achieve the desired project objectives. System modeling
supports the analysis and design process by introducing a certain degree of formality into the
way systems are defined.

 During system development it is often the case that pictures are used to help visualize
some aspects of the development.
 Modeling provides a way to formalize these representations, through diagrams, not only
defining a standard syntax, but also providing a means to understand and communicate
the ideas associated with the development of the system.
 Models are often represented visually and the information is then represented through
linked diagrams. New methods such as object orientation have advanced the concept of
modeling.
 A good model is one that is easily communicable. They must be used for communication
within a development team and also for an organization as a whole, including
stakeholders.
 The uses of a model can be different and cover a wide spectrum. It could be to model the
activities of an entire organization or to model a specific functional requirement of a
system.

We used some basic models to show, how our project is going to work. Following are the models
that we have used in this project so far:

1. DFD (data flow diagram)


 Simple Context Diagram (Figure 2.2)
 Level 1 diagram (data flow)
2. Domain Model
3. Activity Diagram
4. ERD (Entity Relationship Diagram)
15
Snooker Management System CHAPTER 3 : SYSTEM DESIGN

5. UML Diagrams
 Use-Case Diagram
 Sequence Diagram
 Class diagram

3.2 Data Flow Diagram (DFD)


A data flow diagram (DFD) is a way of representing a flow of a data of a processor a
system (usually an information system) The DFD also provides information about the outputs
and inputs of each entity and the process itself. A data flow diagram has no control flow; there
are no decision rules and no loops. Specific operations based on the data can be represented by a
flowchart.

3.2.1 DFD LEVEL 1

Figure 3.1 (Data Flow Diagram Level 1)


16
Snooker Management System CHAPTER 3 : SYSTEM DESIGN

3.3 Domain Model

Figure 3.2 (Domain Model)

17
Snooker Management System CHAPTER 3 : SYSTEM DESIGN

3.4 Activity Diagram

3.4.1 Login

Figure 3.3 (Activity Diagram of Login)

18
Snooker Management System CHAPTER 3 : SYSTEM DESIGN

3.4.2 Registration

Figure 3.4 (Activity diagram of Registration)

19
Snooker Management System CHAPTER 3 : SYSTEM DESIGN

3.5 UML Diagrams


The Unified Modeling Language (UML) is a general-purpose, developmental, modeling
language in the field of software engineering, which is intended to provide a standard way to
visualize the design of a system.

The Unified Modeling Language™ (UML®) is a standard visual modeling language intended to
be used for

 modeling business and similar processes


 Analysis, design, and implementation of software-based systems.

UML is intentionally process independent and could be applied in the context of different
processes. Still, it is most suitable for use case driven, iterative and incremental development
processes. An example of such process is Rational Unified Process (RUP).

UML is not complete and it is not completely visual. Given some UML diagram, we can't be
sure to understand depicted part or behavior of the system from the diagram alone. Some
information could be intentionally omitted from the diagram, some information represented on
the diagram could have different interpretations, and some concepts of UML have no graphical
notation at all, so there is no way to depict those on diagrams.

We used three of UML Diagrams that are:

 Use-Case Diagram
 Sequence Diagram
 Class Diagram

20
Snooker Management System CHAPTER 3 : SYSTEM DESIGN

3.5.1 Use Case Diagram

Figure 3.5 (Use Case diagram)

21
Snooker Management System CHAPTER 3 : SYSTEM DESIGN

3.5.2 Use Case Description:

UC-01: Login

Table 3.1 (UC-01: Login)

Use Case ID 01

Use Case Name Login

Actor User(Admin, Player)

Description User Login to his account.

Pre-Condition User is required to have an account.

Post-Condition User successfully logged in.

Basic Flow User enters email address and password.


User selects the “Login” option.
System displays the dashboard.
Exceptional Flow *Server is down.
System will show the message and roll back all the changes.
Admin enters incorrect credentials.
System prompts user to enter correct username.
Admin submits information without filing all required fields.
System asks user to fill all required fields.

22
Snooker Management System CHAPTER 3 : SYSTEM DESIGN

UC-02: Register Players

Table 3.2 (UC-02: Register Players)

Use Case ID 02

Use Case Name Register Players

Actor Admin

Description Admin will be able to register new player.

Pre-Condition Admin must be logged in.

Post-Condition New player registered successfully.

Basic Flow Admin selects the “Register Player” option.


System shows Registration Form.
Admin inputs registration details.
System displays message.
Exceptional Flow *Server is down.
a) System will show the message and roll back all the changes.
3a) Admin submits information without filing all required fields.
System asks user to fill all required fields.

23
Snooker Management System CHAPTER 3 : SYSTEM DESIGN

UC-03: Search Player

Table 3.3 (UC-03: Search Player)

Use Case ID 03

Use Case Name Search Player

Actor Admin

Description Admin will be able search profile of any player.

Pre-Condition Admin must be logged in.

Post-Condition System successfully shows the searched result.

Basic Flow Admin selects the “Search” option.


Admin fills the required field.
Admin selects “Go” option.
Exceptional Flow *Server is down.
a) System will show the message and roll back all the changes.
3a) Admin does not fill the required field.
System will ask to fill required field.

24
Snooker Management System CHAPTER 3 : SYSTEM DESIGN

UC-04: View Profile

Table 3.4 (UC-04: View Profile)

Use Case ID 04

Use Case Name View Profile

Actor User(Admin, Player)

Description User will be able to view profile

Pre-Condition User must be logged in.

Post-Condition System successfully shows the profile result.

Basic Flow User selects the “Profile/Search profile” option.


System will show the list of required profile.
User selects the desired profile.
Exceptional Flow *Server is down.
a) System will show the message and roll back all the changes.

25
Snooker Management System CHAPTER 3 : SYSTEM DESIGN

UC-05: Delete Player

Table 3.5 (UC-05: Delete Player)

Use Case ID 05

Use Case Name Delete Player

Actor Admin

Description Admin will be able to delete the record of any player.

Pre-Condition Admin must be logged in.

Post-Condition Admin successfully deleted the record of any player.

Basic Flow Admin selects “search profile” option.


System shows the profile list.
Admin selects a profile and selects “Delete” option.
Exceptional Flow *Server is down.
a) System will show the message and roll back all the changes.

26
Snooker Management System CHAPTER 3 : SYSTEM DESIGN

UC-06: Allocate Table

Table 3.6 (UC-06: Allocate Table)

Use Case ID 06

Use Case Name Allocate Table

Actor Admin

Description Admin will be able to start a new match by allocating table.

Pre-Condition Admin must be logged in to allocate a table.

Post-Condition Match started.

Basic Flow Admin selects “Start match” option.


Admin selects “Table Number” option.
Admin selects “Player1 and Player2” option.
Exceptional Flow *Server is down.
a) System will show the message and roll back all the changes.
2a) If no table is available.
System shows the message.
3a) Player is not registered.
System will show a message and navigate to the registration
interface.

27
Snooker Management System CHAPTER 3 : SYSTEM DESIGN

UC-07: Logout

Table 3.7 (UC-07: Logout)

Use Case ID 07

Use Case Name Logout

Actor User(Admin, Player)

Description User will be able to sign out.

Pre-Condition User must be logged in.

Post-Condition User successfully logged out.

Basic Flow User selects “Logout” option.


System displays login screen.

Exceptional Flow *Server is down.


a) System will show the message and roll back all the changes.

28
Snooker Management System CHAPTER 3 : SYSTEM DESIGN

UC-08: Detect Ball Pot

Table 3.8 (UC-08: Detect Ball Pot)

Use Case ID 08

Use Case Name Detect Ball Pot

Actor System

Description System will be able to detect either the ball is potted or not and
manage the turn.
System will be able to detect the foul and manage the turn.
Pre-Condition System is getting input from the camera properly.

Post-Condition System will display the break score.

Extension Points Ball not potted, step 3.


Foul detected, step 4.
Basic Flow System checks the input scenario.
If the correct ball is potted then system will update the break score.
If the ball is not potted, system will switch the turn to other player.
System manages the foul if it is detected.
Exceptional Flow *Server is down.
a) System will show the message and roll back all the changes.
1a) Camera is not working properly.
System will show error message.

29
Snooker Management System CHAPTER 3 : SYSTEM DESIGN

UC-09: Switch Turn

Table 3.9 (UC-09: Switch Turn)

Use Case ID 09

Use Case Name Switch Turn

Actor System

Description System will be able to switch turn.

Pre-Condition Player completes his turn.

Post-Condition System successfully switches the turn.

Extension points Ball is not potted in UC-08: Detect Ball Pot, Level: Sub-function.

Basic Flow System adds break score to the total score of that player.
System switches the turn to the opponent.

Exceptional Flow *Server is down.


a) System will show the message and roll back all the changes.
1a) Camera is not working properly.
System will show error message.

30
Snooker Management System CHAPTER 3 : SYSTEM DESIGN

UC-10: Detect Foul

Table 3.10 (UC-10: Detect Foul)

Use Case ID 10

Use Case Name Detect Foul

Actor System

Description System will be able to manage the foul.

Pre-Condition Foul is detected.

Post-Condition Foul score will be added to the total score of opponent.

Extension point Foul detected in UC-08: Detect Ball Pot, Level: Sub-function.

Basic Flow System checks the type of foul.


System adds the foul score (according to the type of foul) to the
opponent total score.
Exceptional Flow *Server is down.
a) System will show the message and roll back all the changes.
1a) Camera is not working properly.
System will show error message.
1b) The cue ball goes out of the snooker table.

31
Snooker Management System CHAPTER 3 : SYSTEM DESIGN

UC-11: Allocate Turn

Table 3.11 (UC-11: Allocate Turn)

Use Case ID 11

Use Case Name Allocate Turn

Actor Player

Description Player will be able to allocate turn to him or the other opponent.

Pre-Condition There must be a foul.

Post-Condition Turn allocated.

Basic Flow Opponent player allocate the turn either to him or other player.
System saved the break and switched the turn.

Exceptional Flow *Server is down.


a) System will show the message and roll back all the changes.
1a) If player presses the button spontaneously without a foul.
System will show the message that there is no foul.

32
Snooker Management System CHAPTER 3 : SYSTEM DESIGN

UC-12: Calculate Score

Table 3.12 (UC-12: Calculate Score)

Use Case ID 12

Use Case Name Calculate Score

Actor System

Description System will be able to update the score.

Pre-Condition Turn must be switched.

Post-Condition System shows the total score.

Basic Flow System will add break score to total score.

Exceptional Flow *Server is down.


a) System will show the message and roll back all the changes.

33
Snooker Management System CHAPTER 3 : SYSTEM DESIGN

UC-13: Show Game Result

Table 3.13 (UC-13: Show Game Result)

Use Case ID 13

Use Case Name Show Game Result

Actor System

Description System will able to show the winner.

Pre-Condition There must be a running game.

Post-Condition System will show the result of game.

Basic Flow System will show the score of each player.


System will compare total score of each player.

Exceptional Flow *Server is down.


a) System will show the message and roll back all the changes.
2a) If score of both players is equal.
System shows that match is tied.

34
Snooker Management System CHAPTER 3 : SYSTEM DESIGN

UC-14: Show Series Result

Table 3.14 (UC-14: Show Series Result)

Use Case ID 14

Use Case Name Show Series Result

Actor System

Description System will be able to show the series result.

Pre-Condition Players must be registered.

Post-Condition System will show the games won by each player.

Basic Flow System will save the result of each game of each player.
System will add the winning games of each player (played against
same opponent).
Exceptional Flow *Server is down.
a) System will show the message and roll back all the changes.

35
Snooker Management System CHAPTER 3 : SYSTEM DESIGN

UC-15: Choose Color

Table 3.15 (UC-15: Choose Color)

Use Case ID 14

Use Case Name Choose Color

Actor Player

Description Player chooses the color according to his own choice.

Pre-Condition Red ball must be potted

Post-Condition Ball successfully selected

Basic Flow Player selects the color button from interface.

Exceptional Flow *Server is down.


a) System will show the message and roll back all the changes.

36
Snooker Management System CHAPTER 3 : SYSTEM DESIGN

3.5.3 Sequence Diagram

3.5.3.1 Allocate Table

Figure 3.6 (SD of Allocate Table)

37
Snooker Management System CHAPTER 3 : SYSTEM DESIGN

3.5.3.2 Detect Ball Pot

Figure 3.7 (SD of Detect ball pot)

38
Snooker Management System CHAPTER 3 : SYSTEM DESIGN

3.5.3.3 Switch Turn

Figure 3.8 (SD of Switch Turn)

3.5.3.4 Detect Foul

Figure 3.9 (SD of Detect Foul)

39
Snooker Management System CHAPTER 3 : SYSTEM DESIGN

3.5.3.5 Allocate Turn

Figure 3.10 (SD of Allocate Turn)

40
Snooker Management System CHAPTER 3 : SYSTEM DESIGN

3.5.4 Class Diagram

Figure 3.11 (Class Diagram)

41
Snooker Management System CHAPTER 3 : SYSTEM DESIGN

3.6 Relational Schema


Admin Table
PK Admin_id Account FK Account_Id

Account Table
PK Account_Id Name Contact no Age password

Player Table
Account profile FK Profile_Id FK Account_Id FK Admin_id

Snooker Table
PK S_Id Pots balls FK Admin_id

Ball Table
PK Id Color score FK S_Id

Profile Table
PK Profile_Id Rank H_break H_score Matches_won FK Admin_id

Admin (Admin_id, Account, Account_Id)

Account (Account_Id, Name, Contact no, Age, password)

Player (Account, profile, Profile_Id, Account_Id, Admin_id)

Snooker (S_Id, Pots, balls, Admin_id)

Ball (Id, Color, score, S_Id)

Profile (Profile_Id, Rank, H_break, H_score, Matches_won, Admin_id)

42
Snooker Management System CHAPTER 4 : TOOLS & TECHNOLOGIES

CHAPTER 4

TOOLS & TECHNOLOGIES

43
Snooker Management System CHAPTER 4 : TOOLS & TECHNOLOGIES

4 Chapter : TOOLS AND TECHNOLOGY

4.1 Introduction to System Development


“The process of transferring the proposed system into an executable program according to design
specification is called development.”

The conversion of the manual processing system into a computerized system requires the
development of a computer program consisting of a convenient step structure. The most
complicated and time-consuming development process is code, debugging and testing and then
integrates each module to get a complete operating software. Each program module must
perform the appropriate work based on the system's input and output requirements to ensure
better compatibility with the proposed system. “The process of assuring that the system is an
operational and then allowing user to take over its operations for the use and the evaluation is
called implementation.”

From the technical point of view, which involves creating compatible files, training the operating
staff and installing the hardware? After implementation, performance of the system is also
evaluated. Development and Implementation phase can be summarized as collection of the
following steps.

 Development of computer programs.


 Implementation and testing of computer program.
 Training personnel.

4.2 Development
The development phase has been divided in the following steps.

4.2.1 Tools Selection


To develop the required software, it is necessary to develop a computer program or software that
should manage all user requirements and meet those needs. In other words, it should depict the
original system or provide an image of the current one. To develop a program, the first thing is
the selection of the tool.
 Microsoft Visual Studio 2013
 C# language
 Library emgucv
There are several tools and technologies available for software development. Choosing the right
tools and technologies for software development is not an easy task. Before choosing any tool or

44
Snooker Management System CHAPTER 4 : TOOLS & TECHNOLOGIES

technology developer, it is necessary to have a complete understanding of the customer's


problem or needs. The tools and technology used in this project have been included in customer
requests.

4.2.2 Introduction of Microsoft Visual Studio


The Visual Studio integrated development environment is a creative startup plan that you can use
to edit, debug and create code, then publish an app. An integrated development environment
(IDE) is a feature-rich program that can be used for many aspects of software development. In
addition to the standard editor and debugger provided by most IDEs, Visual Studio includes
compilers, code completion tools, graphic designers and many other features to simplify the
software development process.

4.2.2.1. Features of Visual Studio 2013

With the introduction of Visual Studio 2013, Microsoft has provided us with new features aimed
at simplifying application development along with testing and implementation. The new version
of Visual Studio 2013 allowed developers to achieve even better and simpler performance than
previous versions. They enjoy better operation with the following features:

Edit and Continue in 64-bit

 Open the Resolve menu when typing


 Method Return Value Inspection
 Multi-Core JIT Improvements
 Async Debugging Improvement
 Entity Framework/ ADO.NET Connection Resiliency and so on.
 Enhancements have been added to the IDE itself.
 Connect to databases
 Debug, test, and improve your code
 Deploy your finished application
 Manage your source code and collaborate with others
 Extend Visual Studio

45
Snooker Management System CHAPTER 4 : TOOLS & TECHNOLOGIES

4.2.2.2. Visual Studio 2013 System Requirements

The following products support the minimum system requirements below:

 Visual Studio Enterprise 2013

 Visual Studio Professional 2013

 Visual Studio Community 2013

 Visual Studio Team Explorer 2013

 Visual Studio Test Professional 2013

 Visual Studio Test Agent 2013

 Visual Studio Test Controller 2013

 Visual Studio Team Foundation Server Office Integration 2013

 Visual Studio Feedback Client 2013

Visual Studio is considered the best for creating desktop applications in C #. It is not
necessary to explicitly install the compiler for C # as it provides a build-in compiler and many
other packages and application development APIs in C #.

4.2.3 Introduction to C#
A modern object-oriented programming language developed in 2000 by Anders Hejlsberg at
Microsoft as a rival to Java (which is quite similar to). It was created because Sun, (later bought
by Oracle) did not want Microsoft to make changes to Java, so Microsoft chose instead to create
its own language. C # has grown rapidly since it was created, with broad support from Microsoft
that helped get a big following; is now one of the most popular programming languages in the
world.

With Visual Studio now installed, the .NET Framework is installed because it is part of the
Visual Studio installation. Writing applications in C # with Visual Studio takes advantage of the.
NET Framework. This framework provides applications for all types of services provided by the
framework. This includes things like database information, information about reading from an
XML file, as well as configuration, network operations and all the basic features that each
application needs. C # can therefore be used to create business applications, games, web

46
Snooker Management System CHAPTER 4 : TOOLS & TECHNOLOGIES

applications and applications that run on tablets or mobile devices. The .NET Framework works
through the common language runtime and the Class Library.

4.2.3.1. Purpose of Use

C # is a hybrid of C and C ++; is a Microsoft programming language developed to compete with


Sun's Java language. C # is an object-oriented programming language used with XML-based
Web services on the .NET platform and designed to improve productivity in Web application
development. C # can be used to create almost everything but is particularly strong in creating
applications and Windows desktop games. C # can also be used to develop web applications and
has become increasingly popular for mobile development.

Windows Forms is a GUI class library (Graphical User Interface) that is included in the .Net
Framework. Its main purpose is to provide a simpler interface for developing applications for
desktops, tablets, PCs. It is also referred to as Win Form. Applications developed using Windows
Forms or Win Forms are known as Windows Forms applications that run on the desktop
computer. Win Form can only be used to develop Windows Forms applications and not web
applications. Win Forms applications can contain different types of controls such as labels, lists,
tooltips, etc.

4.2.3.2. Features of C#

 Simplicity. All the Syntax of java is like C++.


 Consistent Behavior. C# introduced a unified type system which eliminates the problem
of varying ranges of integer types.
 Modern Programming Language.
 Pure Object-Oriented Programming Language.
 Type Safety.
 Feature of Versioning.
 Compatible with other Language.
 Inter-operability.

47
Snooker Management System CHAPTER 4 : TOOLS & TECHNOLOGIES

4.3 Techniques

4.3.1 Image Processing


Image processing is a method to convert an image into digital form and perform some operations
on it, in order to obtain an improved image or to extract some useful information. This is a type
of signal distribution where the input is an image, such as the video frame or photo and the
output may be the image or features associated with that image. Usually the image processing
system includes the processing of images as two-dimensional signals while applying to them
already set signal processing methods.

4.3.1.1 When to use Image Processing


Image processing is used in those applications that require:
 Visualizations of objects.
 Image sharpening and restoration (for better creation of image).
 Image retrieval (to separate region of interest).
 Image Recognition (to distinguish objects in image).

4.3.2 Region of Interest (ROI) Based Processing


A region of interest (ROI) is a portion of an image that you want to filter or perform some other
operation on.

4.4 References

 https://docs.microsoft.com/en-us/visualstudio/ide/visual-studio-ide
 http://ecomputernotes.com/csharp/cs/features-of-c
 https://www.c-sharpcorner.com/UploadFile/773808/new-features-in-visual-studio-2013/
 https://vegibit.com/introduction-to-c-and-visual-studio-for-beginners/
 https://www.geeksforgeeks.org/introduction-to-c-sharp/
 https://sisu.ut.ee/imageprocessing/book/1

48
Snooker Management System CHAPTER 5 : IMPLEMENTATION

CHAPTER 5

IMPLEMENTATION

49
Snooker Management System CHAPTER 5 : IMPLEMENTATION

5 Chapter: IMPLEMENTATION

5.1 Introduction to User Interface


In information technology, the user interface is all designed in software that a person can interact
with. Help users perform operations very easily. This includes screen, keyboard, mouse and
desktop appearance. It also provides the ease of interacting with users with an application and a
website. In application development, the developers' effort has increased to the user interface to
make it more beautiful and interactive.

The user interface is the view of the front-end application to which the user interacts to use the
software. The user can manage and control the software and hardware through the user interface.
Today the user interface is found in almost all places where digital technology exists, directly
from computers, mobile phones, cars, music players, planes, ships, etc. The user interface is part
of the software design that provides users with an internal view of the software.

The user interface can be text-based, text-based and audio-video based, depending on the
underlying hardware and software combination. The user interface can be hardware or software
or a combination of both. The software becomes more popular if its user interface is:

 Attractive
 Simple to use
 Responsive in short time
 Clear to understand
 Consistent on all interfacing screens

UI is divided into two categories:

 Command Line Interface


 Graphical User Interface

We are using only GUI for our implementation purpose.

5.1.1 Graphical User Interface (GUI)


The graphical user interface provides a graphical view of the application to interact with users.
The graphical user interface can be a combination of software and hardware. Using the user
interface the user interprets the software.

50
Snooker Management System CHAPTER 5 : IMPLEMENTATION

The graphical user interface uses more resources than the command line interface. With
advanced technologies, programmers and developers create a complex GUI design that works
more efficiently and reliably, but uses more resources than a less complex GUI. Programmers
should take care of the resources used in the application GUI.

5.1.1.1 Login Interface

Figure 5.1 (Login Interface)

51
Snooker Management System CHAPTER 5 : IMPLEMENTATION

5.1.1.2 Admin Home Page

Figure 5.2 (Admin Home Page)

5.1.1.3. Admin Register Player Page

Figure 5.3 (Admin Register Player Page)

52
Snooker Management System CHAPTER 5 : IMPLEMENTATION

5.1.1.4. Admin View Player Page

Figure 5.4 (Admin View Player Page)

5.1.1.5. Admin New Match Page

Figure 5.5 (Admin New Match Page)

53
Snooker Management System CHAPTER 5 : IMPLEMENTATION

5.1.1.6. Player Profile

Figure 5.6 (Admin New Match Page)

5.2 Ball Detection through Image Processing


To extract all the snooker objects from the Snooker videos, this thesis proposes an effective
snooker segmentation algorithm. This method is divided into two steps: first, we use an
automatic segmentation method of local peak edges to extract the Snooker table, this step is
mainly used for image preprocessing; and therefore it is the detection of video objects. Through
image preprocessing, morphological processing and grouping, we can obtain the candidate areas
of snooker balls. With the conversion of the color space between HSV and RGB and the
histogram equalization in digital image processing, the accurate detection snooker areas derive
from the characteristics of the candidate areas. The experimental results are represented in three-
dimensional reconstruction scenes.

The segmentation of foreground and background is an important pre-processing step in the


multi-objective detection. In this paper, the table covered with green baize is taken into
consideration as shown in Fig.1 (B). Green baize color has been used as an important feature for

54
Snooker Management System CHAPTER 5 : IMPLEMENTATION

table detection and ball detection. The color space used for background identification can be
roughly divided into two categories: hardware equipment-oriented space (such as RGB) and
perception-oriented space (such as HSV). HSV space is more consistent with human color
feeling, and is generally used for image post-processing and reconstruction. In the pre-processing
stage, the original bitmap data read by PC are generally RGB pixels. The transition from RGB
space to HSV space is nonlinear, and the efficiency is relatively low so as to need introducing
another optimization algorithm. Hence the RGB space is considered to be adopted because the
space is simple, fast and meeting the subsequent processing requirements. In order to have a
better adaption to the ambient light variation, the normalized RGB color space is used for the
segmentation of background pixels and foreground pixels.

The aim of multi-objective detection is to accurately locate the position of all the targets on
table. This image segmentation processing can be divided into following three steps:

(1) Table detection.

(2) Single ball detection in a local region.

(3) Multi-ball detection in the whole image.

Table detection is mainly for filtering out the interference factors outside the table region. In
the top-down view, the movement of each ball is confined in the rectangular area covered
with green baize. The key of the rectangle detection is to find out four straight edge lines by
introducing the HT algorithm. The edge points will be extracted by the threshold
segmentation.

55
Snooker Management System CHAPTER 5 : IMPLEMENTATION

5.2.1 Yellow Ball Detection

Figure 5.7 (Yellow Ball Detection)

5.2.2 Red Ball Detection

Figure 5.8 (Red Ball Detection)

56
Snooker Management System CHAPTER 5 : IMPLEMENTATION

5.2.3 Green Ball Detection

Figure 5.9 (Green Ball Detection)

5.2.4 Blue Ball Detection

Figure 5.10 (Blue Ball Detection)

57
Snooker Management System CHAPTER6 : SOFTWARE TEST DOCUMENT

CHAPTER6

SOFTWARE TEST DOCUMENT

58
Snooker Management System CHAPTER6 : SOFTWARE TEST DOCUMENT

6 Chapter : SOFTWARE TEST DOCUMENT


This chapter explains the software testing process and techniques that are used to test our system.
It further elaborates the acceptance test cases that are used to test functional and non-functional
requirements after software development.

6.1 Test Approach


The manual test includes the software test manually without the use of any automatic tool or
script. The tester takes on the role of an end user and tests the software to identify unexpected
behavior or bugs. Here in this work, the tester is admin. There are several steps for manual tests
such as unit tests, system tests and user acceptance tests. The administrator only develops
acceptance test plans, acceptance test cases or acceptance test scenarios to test the software to
ensure system reliability.

6.2 Test Plan


6.2.1 Features to be Tested
Features to be tested are all according to user perspective. For example

 Register Player
 View Profile
 Delete Player
 Allocate Turn
 Chose Color

6.2.2 Features not to be tested


The features that should not be tested are from the developer's point of view. For example

 Power used by processor


 Memory consumed by Snooker application
 Software risk factor

59
Snooker Management System CHAPTER6 : SOFTWARE TEST DOCUMENT

6.2.3 Testing tools and environment


Following tools and environment are used for testing:

 PC
 Windows operating system

6.3 Test Cases


A test case describes an input, action, or an event and an expected response, to determine if a
feature of a software application is working correctly.

6.3.1 TC-1: Register a Player

Table 6.1(TC-1: Register a Player)

ID T1
Description The purpose of this test case is to check either a new player is
registered successfully or not
Tester Admin
Setup 1. Admin login using his account.
2. Admin open Register Player Panel
Instructions 1. Enter Required Information.
2. Selects “Submit” option.
Expected Results Shows a notification “user registered successfully”.
Verdict --

60
Snooker Management System CHAPTER6 : SOFTWARE TEST DOCUMENT

6.3.2 TC-2: View Profile

Table 6.2 (TC-2: View Profile)

ID T2
Description The purpose of this test case is to check either player’s profile visible
or not
Tester Admin
Setup 1. Admin login using his account.
2. Admin open view profile panel.
Instructions 1. Selects or Search a Player.
2. Selects a profile.
Expected Results Shows Player Profile information.
Verdict --

6.3.3 TC-3: Delete a Player

Table 6.3 (TC-3: Delete a Player)

ID T3
Description The purpose of this test case is to check either system delete a profile
successfully or not.
Tester Admin
Setup 1. Admin login using his account.
2. Admin open View Profile Panel.
Instructions 1. Selects or search a specific Player.
2. Selects “Deletes” option.
Expected Results Show a toast “user is Deleted successfully”.
Verdict --

61
Snooker Management System CHAPTER6 : SOFTWARE TEST DOCUMENT

6.3.4 TC-4: Choose Color

Table 6.4 (TC-4: Choose Color)

ID T4
Description The purpose of this test case is to check either player can choose color
or not after potting a red ball
Tester Player
Setup 1. Admin login using his account.
2. Admin Starts New Match
Instructions 1. Player 1 or Player 2 pots a red ball.
Expected Results System asks require Player to choose a color.
Verdict --

6.3.5 TC-5: Allocate Turn

Table 6.5 (TC-5: Allocate Turn)

ID T5
Description The purpose of this test case is to check either player can allocate turn
or not after detecting a foul by opponent player
Tester Player
Setup 1. Admin login using his account.
2. Admin Starts New Match
Instructions 1. Player 1 or Player 2 attempts a foul.
Expected Results System asks the opponent player for Allocate Option.
Verdict --

62
Snooker Management System CHAPTER7 : CONCLUSION & FUTURE SCOPE

CHAPTER7

CONCLUSION & FUTURE SCOPE

63
Snooker Management System CHAPTER7 : CONCLUSION & FUTURE SCOPE

7 Chapter: CONCLUSION & FUTURE SCOPE

7.1 Conclusion
This paper focuses on the management of a snooker club and automation of a snooker
game (having a single red ball). Our main goal is to automate the snooker game with the
help of image processing techniques. We will keep the record of every player and their
ranks according to their performances in our system. This paper also focuses on the
research of the key technologies in the snooker robot vision system with the help of camera
and proposes an effective multi-objective recognition method for locating and identifying
the targets on the table (i.e. multi-objective detection). The important conclusions are
summarized as follows:

1) Our main goal is to make the camera as an official umpire. This system is helpful to
get rid of paper work. This system reduces the man power.
2) Our system keeps the history of each player. We maintain a ranking system for
each player according to their overall performance.
3) The normalized RGB color space is suitable for the segmentation of foregrounds
and background of snooker robot vision system, which is able to effectively filter
out the influence of illumination variation. Making use of the normalized RGB
color space and histogram statistics can effectively detect the edge points of balls
and the table.
4) The combination of the improved HT algorithm and the LS method can detect the
single ball position accurately. The improved HT algorithm can effectively
eliminate the imperfect edge points, while the LS method can fit and obtain the
most accurate circle with the least mean square error. The combination of the two
methods is able to overcome the disadvantage of the LS method in noise
sensitivity, and improve the accuracy of the HT algorithm.
5) Based on the above conclusions of 3 and 4, the multi-ball detection method used in
this paper is able to effectively locate and segment of each ball on the table. The
HT algorithm and LS method will ensure the correctness and robustness of the
detection process.

64
Snooker Management System CHAPTER7 : CONCLUSION & FUTURE SCOPE

7.2 Future Enhancements


 Can be implemented on full frame of a snooker game (i.e. 15 Red balls) as well as for
century game.
 Can be implemented for Billiard, 8 ball pool and 9-ball game (Using Pattern recognition
techniques).
 We can enhance our system for proper foul detection (i.e. Double stick foul and hand
foul).
 We can make our system more efficient by giving hints. (i.e. if a player pot black ball and
there is a ball already on the spot of black then, system will tell us that where the black
ball should be placed)
 We can enhance our system by indicating the possible maximum score (a player can
achieve) by detecting remaining balls on the table at current time and system will also
indicate the foul required for a player to win the game at current time.
 We can use AI techniques to help a player that how to break a snooker (i.e. system will
indicate the direction and angle to break the snooker).
 Can be implemented for a snooker club having a server for maintaining history.

65

You might also like