You are on page 1of 29

KENDRIYA VIDYALYA

PURI

Computer science
Project
Session : 2020-2021

A Project Report On
“Jumble Word Game”

Submitted by;
Rupali Banerjee
Under the Guidance of
Class – XI-A (Science) Mrs. Shradhanjali Singh
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

1
Certificate
This is to certify that Rupali Banerjee student of class XI-A (Science) has
successfully prepared the report on the Project entitled “Jumble Word Games”
under the guidance of Mrs.Shradhanjali Singh (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 XI-A (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
Mrs. Shradhanjali Singh 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. Akash Seet (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.

Rupali Banerjee
Class- XI-A (Science)

3
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 :-

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 shufflingthe
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.

4
❖ 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 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.

5
❖ 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. 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.

6
❖ 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.
8. Click the Finish button when installation completes.

7
❖ 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.
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

8
❖ 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.
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.

9
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.

10
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.

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

11
System Development Life Cycle
(SDLC)
The System Development Life Cycle as used in the construction of the server
appliance.

PLANNING ANALYSIS

SUPPORT DESIGN

IMPLEMENTATION

12
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.

Software development projects typically include planning, creating, developing,


testing and maintenance. However, the phases may be divided differently
depending on the organization.

13
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()‟.

14
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 ( ) :-
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 ( )‟.

15
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


- 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”)

16
Flow-chart
Start

Get one word


from Database

(Guess the
Jumbled word)

Is Calculate the first


True False character of word
==

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

Word‟
Point=+ ? Hint: Print the
50 last letter of the
original word

Get another
word Is
True „guessed word‟ False
==

?
Point=+ Game
25 Over

Print final
Get another score
word

End

17
Source
Code

18
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)
random.shuffle(word)
wordj=''.join(word)
print(wordj)
ans=input('Enter your word:')

19
if ans==orig:
point=point+100
print('Your answer is correct')
continue

else:
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')

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

break

20
Output
Screens

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

2. When the answer is correct.

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

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.

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

6. When it shows final score.

24
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.

25
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

❖ 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

26
Bibliography
1. www.wikipedia.com
2. www.slideshare.net
3. www.geeksforgeeks.org
4. www.google.com
5. Computer Science with Python
by Rupali Banerjee Class XIth A(Book)

27
Thank You!!

28

You might also like