You are on page 1of 36

Session : 2020-2021

A Project Report On
“Jumble Word Game”
Submitted by Samuel Kumar
Class – XII (Science)
Under the Guidance of
Mr. Amit Yerpude
PGT (Computer Science)

Table of Contents
Serial Description Page
No. No.

1 Certificate 02
2 Acknowledgement 03
3 Introduction 04-09
4 Objective of the project 10
5 Proposed system 11
6 System Development Life Cycle (SDLC) 12-13
7 Modules used and their purposes 14-16
8 Flowchart 17
9 Source Code 18-20
10 Output Screens 21-24
11 Limitations & Future Scope 25
12 Requirements 26
13 Bibliography 27

2
Certificate
This is to certify that Samuel Kumar student of class XII (Science) has
successfully prepared the report on the Project entitled “Jumble Word
Games” under the guidance of Mr. Amit Yerpude (PGT Computer Science).
The report is the result of his efforts & endeavours. The report is found worthy
of acceptance as final Project report for the subject Computer Science of class
XII (Science).

Signature of Internal Examiner Signature of External Examiner

--------------------------- --------------------------

Signature of Principal

----------------------

2
Acknowledgement
I would like to express a deep sense of thanks and gratitude to my project guide
Mr. Amit Yerpude for guiding me immensely through the course of the project.
He always envinced keen interest in my project. His constructive advice &
constant motivation have been responsible for the successful completion of his
project.

My sincere thank goes to Mr. Rajesh Kumar (principal) sir for his co-ordination
in extending every possible support for the completion of this project.

I must thanks to my classmates for their timely help and support for completion
of this project.

Last but not the least, I would like to thank all those who had helped directly or
indirectly towards the completion of this project.

SAMUEL KUMAR
Class- XII (Science)

2
Introduction
 About Jumble Word Game :-

Jumble word game is a new way to introduce new vocabulary. It is a word


game with a clue and a set of words each of which is “Jumbled” by
scrambling. It is a game in which a jumbled word is given to the player and
player has to rearrange the characters of the word to make a correct
meaningful word to score maximum points.
If the player is not able to guess the correct word in first attempt then the hints
will be given to them.

The computer picks a random word from a group and then creates a jumbled
version of it, where the letters are in random order. The player has to guess the
original word to win the game.

Example :-

2
1. Jumble word: erwta
Correct word: water
2. Jumble word: mehtatasmci
Correct word: mathematics
3. Jumble word: keseg
Correct word: geeks

This is a one player game, at first program pick a random word from the given
database of words using choice() method of random module. After shuffling
the characters of picked word using sample method of random module and
shows the jumbled word on the screen. Current player should give the answer;
if it gives the correct answer after rearranging the characters then player‟s
score is incremented by one otherwise not. After quitting the game, winner is
decided on the basis of scores.

 Python Overview:-

Python is a general-purpose high-level programming language. It is an open


source language, released under a GPL-Compatible license. Python Software
Foundation (PSF), a non-profit organization, holds the copy-right of python.
Guido Van Rossum conceived python in the late 1980s. It was released in
1991 at Centrum Wiskunde & Informatica (CWI) in the Netherlands as a
successor to the ABC language. He named this language after a popular
comedy show called „Monty Python‟s Flying Circus‟ (and not after python -
the snake). In the last few years, it‟s popularity has increased immensely.
According to stackoverflow.com‟s recent survey, python is in the top ten most
popular technologies in 2018. It is also dynamically-typed because it carries

2
out type-checking at run time. It does so to make sure that the type of construct
matches what we except it to be. The distinctive feature of python is that it is
an interpreted language. The Python IDLE (Integrated Development &
Learning Environment) executes instruction one line at a time. The python
programming language is one of the richest languages.

 Features of Python :-

1. Easy :-
Python is a very easy to learn and understand; using this python tutorial,
any beginner can understand the basics of python.

2
2. Interpreted :-
It is interpreted (executed) line by line. This makes it easy to test and
debug.
3. Object Oriented :-
The python programming language supports classes and objects.
4. Free and Open-Source :-
The language and it‟s source code are available to the public for free;
there is no need to buy a costly license.
5. Portable :-
Since it is open source, we can run python on windows, mac, linux, or
any other platforms. Our programs will work without needing to the
changed for every machine.
6. GUI (Graphical User Interface) programming :-
We can use it to develop a GUI (Graphical User Interface). One way to
do this is through „Tkinter‟.
7. Large Library :-
Python provides us with a large standard library. We can use it to
implement a variety of functions without needing to reinvent the wheel
every time. Just pick the code we need and continue. This lets us to
focus on other important tasks.

2
 Advantages of Python :-

1. Extensible :- 2. Portable
3. Free & Open-Source
4. Readable
5. Embeddable
6. Improved Productivity
7. Simple and Easy
8. Object Oriented
9. Interpreted
10. Extensive Libraries

 How to install Python :-

1. Point your web browser to the download page on the Python website
(www.python.org).
2. Select the latest Windows x86 MSI Installer and click on the link to
download the .msi installer.
3. Run the installer.
4. Select „Install for all users‟ and click the Next > button.
5. Keep the default option (C:\Python32\) as the destination directory and
click Next > again.
6. Don‟t make any changes in the „Customize Python 3.2.3‟ dialog, just
click Next > again.
7. Click Yes if asked if this program should be allowed to install software
on your system.

2
8. Click the Finish button when installation completes.

 About MySql :-

MySql is a fast, easy to use RDBMS (Relational Database Management


System) being used for many small and big businesses. MySql is developed,
marketed and supported by MySQL AB, which is a Swedish Company.
MySql is becoming is so popular because of many good reasons :-

1. MySql is released under an open-source language. So we have nothing


to pay to use it.
2. MySql is a very powerful program in it‟s own right. It handles a large
subset of the functionality of the most expensive and powerful database
packages.
3. MySql uses a standard form of the well-known SQL data language.
4. MySql works on many operating system and with many languages
including PHP, PERL, C, C++, JAVA, etc.
5. MySql works very quickly and works well even with large data sets.
6. MySql is very friendly to PHP, the most appreciated language for web
development.

2
7. MySql supports large databases, up to 50 million rows or more in a
table. The default file size limit for a table is 4 GB, but we can increase
this (if our operating system can handle) to a theoretical limit of 8
millions Tera-Bytes (TB).
8. MySql is customizable. The open-source GPL license allows
programmers to modify the MySql software to fit their own specific
environments.

 For installing MySql :-

1. For Python 2.7 or lower, install using pip as :- pip install


mysql.connector

2. For Python 3 or higher version, install using pip3 as :- pip3


install mysql.connector

 Advantages of “Jumble word game” :-

1. Enjoyable methods of learning language.


2. Help to improve vocabulary.
3. Increase motivation for learning language.
4. They promote communication in English language.
5. They provide meaningful situations for practicing language.
6. Reduce anxiety related to learning and making errors.
7. Encourage spontaneous use of English language.

2
8. Integrate different linguistic skills.
9. Increase learner participation in class.
10.It boosts up working memory.

 Rules of the game :-

 If the user enter the right answer, then the user will be rewarded by 100
points.
 If the user does not give the right answer, then the user will get the hint of
the first letter of the original word.
 And if the user enter the right answer, then the user will be rewarded by
50 points.
 If the user does not give the right answer even after getting the hint of the
first letter of the original word, then the user will get the hint of the last
letter of the original word.
 And if the user enter the right answer, then the user will be rewarded by
25 points.
 If the user does not give the right answer even after getting the hint of the
last letter of the original word, he/she will lose the game.
 Hence, the game will be over.
 At last, the user will get the total points.

2
Objective of the project
The objective of this project is to let the students apply the programming
knowledge into a real-world situation/problem and exposed the students how
programming skills help in developing a good software.

Some key points are as follows :-

1. Utilising modern software tools for programming games.


2. Apply object oriented programming principles effectively when
developing small to medium sized projects.
3. Write effective procedural code to solve small to medium sized
problems.
4. Demonstrate a breadth of knowledge in computer science, as exemplified
in the area of game development.
5. Demonstrate ability to conduct a research or applied computer science
project, requiring writing and presentation skills which exemplify
scholarly style in computer science.

Proposed System
The aim of our project is to make a jumbled word game in python language.
This project shows that Python is simple, easy to learn syntax, easy to use and
fast to develop.

The python interpreter and the extensive standard library are available in source
or binary form without charge for all major platforms, and can be freely
distributed.

2
Often, programmers fall in love with python because of the increased
productivity it provides. It is an open-source, simple and portable and a small
amount of code is needed to built the game.

One has to use the data management software. Many software products working
are now in markets, which have helped in making the data easier and efficiently.
Data management initially had to maintain a lot of paper work has to be done
but now software product has made our work easier and faster. Now only this
software has to be loaded on the computer and work can be done. And MySql
has helped us a lot to make and store data of jumbled words.

And this prevents a lot of time and money. The work becomes very easy with
the help of MySql.

Ask jumbled
word Get word
Game
USER Interface
Reply set word Database
correct word

System Development Life Cycle (SDLC)


The System Development Life Cycle as used in the construction of the server
appliance.

2
PLANNING ANALYSIS

SUPPORT DESIGN

IMPLEMENTATION

The system development life cycle is a project management technique that


divides complex projects into a smaller, more easily managed segments or
phases. Segmenting projects allow managers to verify the successful completion
of project phases before allocating resources to subsequent phases.

2
Software development projects typically include planning, creating, developing,
testing and maintenance. However, the phases may be divided differently
depending on the organization.

2
Module used and their purposes

1. The Random Module :-

This module implements pseudo-random number generators for


various distributions.

The random module has a set of methods which used in that


game.

a. random ( ) :-
For integers, there is an uniform selection from a range.
For a sequence, there is an uniform selection of a random element.
The syntax for using this function is „random.random()‟.

b. randrange ( ) :-
This returns a randomly selected element from the range created by
the start, stop and step arguments. The value of start is 0 by default.
Similarly the value of step is 1 by default.
The syntax for using this function is :- „random.randrange()‟.

c. shuffle ( ) :-
This function randomly reorders the element in a list.
It takes a sequence and returns the sequence in a random order.
The syntax for using this function is „randomly.shuffle()‟.

2
2. The String Module :-

This module contains some constants, utility function and classes for string
manipulation.

The string module has a set of method in which one is used in that game.

 join ( ) :- the join() methods provides a flexible way to create strings


from iterable objects. It joins each element of an iterable (such as
list, string and tuple) by a string separator (the string on which the
join () is called) and return the concentrated string.
The syntax for using this method is „string.join(iterable)‟.

3. MySql.connector module :-

This module enables python programs to access MySQL databases, using an


API that is compliant with the Python Database API Specification v2.0 (PEP
249). It is written in pure Python and does not have any dependencies except
for the Python Standard Library.

MySql.connector module has a set of methods in which one is used in that game.

a. cursor ( ) :-

2
A database cursor is a useful control structure of database
connectivity. Normally when we connect to a database from within a
script/program, then the query gets sent to the server, where it gets
executed, and the set of records retrieved as per query is sent over the
connection.

The syntax for using this function is „conn.cursor ( )‟.

b. connect ( ) :-
After we have installed Python MySql connector, we can write
python scripts using MySql.connector library that can connect to
MySql databases from within Python.
Next we need to establish connection to a MySql database using
connect() function of mysql.connector package.

The connect() function of mysql.connector establishes connection to a


MySql database and requires four parameters, which are :

<connection-object>=mysql.connector.connect(
host=<host- name>,
user=<username>,
passwd=<password>
[,database=<database>])

- user is the username on MySql

2
- password is the password of the user
- host-name is the database server hostname or IP address
- database is optional which provides the database name of
a MySql database.

The syntax for using this function is :-


„mysql.connector.connect()‟.

c. execute ( ) :-
This method is used to executes an SQL statement. Once we have
created a cursor, we can execute SQL query using execute() function
with cursor object .

The syntax for using this method is „cursor.execute()‟.

For example,
If we want to view all the records of table data which is a table in the
database test to which we established connection, we can execute SQL
query “select * from data” by writing:

„cursor.execute(“select * from data”)

Flow-chart
Start

Get one word


from Database

(Guess the

2
Jumbled word)

Is Calculate the first


True „guessed word‟ False character of word
==
„Original
Word‟
Point=+ ? Hint: Print the
100 first letter of the
original word

Get another Is Calculate the


word True „guessed word‟ False last character
== of word
„Original
Word‟
Point=+ ? Hint: Print the
50 last letter of the
original word

Get another
word Is
True „guessed word‟ False
==
„Original word‟
?
Point=+ Game
25 Over

Print final
Get another score
word

2
End

Source
Code

2
import random
import mysql.connector

conn=mysql.connector.connect(host='localhost',
user='root',
password='kv123456',
database='myproject')
cur=conn.cursor()

print("HELLO USER!!")
print("WELCOME TO THE WORLD OF JUMBLE WORD")
print("LET US START OUR GAME")
print("YOUR JUMBLED WORD ARE HERE")

print(" ")

point=0 while True:


qno=random.randrange(1,81)
sql='select*from jumbleword where WNO='+str(qno)
cur.execute(sql) for i in cur: word=i[1]
orig=word print(orig) word=list(word)

2
random.shuffle(word) wordj=''.join(word)
print(wordj)
ans=input('Enter your word:')

if ans==orig:
point=point+100
print('Your answer is correct')
continue
els
e:
print('The word start with',orig[0])
ans=input('Enter your word:')

if ans==orig:
point=point+50
print('Your answer is correct')
else
:
print('The word end with',orig[-1])
ans=input('Enter your word:')

if ans==orig:
point=point+25
print('Your answer is correct')

2
else:
print('GAME OVER')
print('Your Score is ',point)
print('I hope you have enjoyed this game, come back soon')
bre
ak

2
Output
Screens

2
1. Welcome Screen of the game “Jumble Word”.

2. When the answer is correct.

2
3. When the user does not give right answer, then the user get hint of the first
letter of the original word.

2
4. When the user does not give right answer even after getting the hint of the
first letter of the original word, then the user get hint of the last letter of the
original word.

2
5. When user lose the game, then it shows “GAME OVER”.

2
6. When it shows final score.

2
Limitations and Future Scope

 Limitations :-

• Only one player can play at a time.


• Registration of players cannot be done.
• Score of players cannot be saved.
• It does not provide timing system.
• The number of words are limit.

 Future Scope :-

• The number of player can be more than one at a time.


• Registration of players can be done.
• Score of players can be saved.
• Timing system can be provided.
• The number of words can be extended more than 10 letters.

2
Requirements

 Hardware required :-

 Modern Operating System:


• Windows 7 or 10
• Mac OS X 10.11 or higher, 64-bit
• Linux: RHEL 6/7, 64-bit (almost all libraries also work in Ubuntu)
 X86 64-bit CPU (Intel / AMD architecture)
 4 GB RAM
 5 GB free space
 Printer for printing project

2
 Software required :-

 Operating System – Windows 10


 Python 3.7.4 (tags/v3.7.4:e09359112e, Jul 8 2019, 19:29:22) [MSC
v.1916 32 bit (Intel)] on win32 for execution of program
 MS word, for preparing documentation

Bibliography
1. www.wikipedia.com
2. www.slideshare.net
3. www.geeksforgeeks.org
4. www.google.com
5. Computer Science with Python by Sumita Arora Class XIIth(Book)

2
2
Thank You!!

You might also like