Date post: | 04-Apr-2018 |
Category: |
Documents |
Upload: | sweetunannu |
View: | 214 times |
Download: | 0 times |
of 34
7/29/2019 Tumbler 1
1/34
TUMBLERZ
Tumblerz is an educational game which is helpful for the player to increase his I.Q. level,
concentration, patience, memory power and logical thinking abilities. This game is based on the
water-jug problem which is a part of artificial intelligence studies.
Tumblerz is the collection of three categories of games.
Namely :
1. JUNGLE2. RAIN3. DESERTThe names of the games corresponds with the features available in the games.
JUNGLE :
In jungle game, we have unlimited water supply as is present in jungles.Here, in this game we
are given some unmarked tumblerz which are empty but we know their capacity, unlimited water
and target for each given tumbler. Here with target we mean the amount of water which is to be
filled in that tumbler. Our objective is to reach the target state.We have 40 levels for this game. Player will not be able to access next level before going through previous level.
Features :
1. FILL2. EMPTY3. POUR
FILL:
We can fill the tumbler to its full capacity.
7/29/2019 Tumbler 1
2/34
EMPTY:
We can empty the tumbler.
POUR:
We can pour water from one tumbler to another tumbler.
RAIN :
In rain game, we have limited water supply as is present during rains.Here, in this game we are
given some unmarked tumblerz which are fully or partially filled but we know their capacity and
initial amount, limited water and target for each given tumbler. Here with target we mean the
amount of water which is to be filled in that tumbler. Our objective is to reach the target state.We
have 20 levels for this game.
Player will not be able to access next level before going through previous level.
Features :
1. POUR2. SPLIT WITH BOLT
POUR:
We can pour water from one tumbler to another tumbler.
SPLIT:
We can split the tumbler into half its original capacity with the help of lightning bolts.A tumbler
can be split only once.Only one bolt is available in 1-10 levels and two bolts in 11-20 levels.
7/29/2019 Tumbler 1
3/34
DESERT :
In desert game, we have limited water supply as is present in deserts.Here, in this game we are
given some unmarked tumblerz which are fully or partially filled but we know their capacity and
initial amount, limited water and target for each given tumbler. Here with target we mean the
amount of water which is to be filled in that tumbler. Our objective is to reach the target state.We
have 40 levels for this game.
Player will not be able to access next level before going through previous level.
Features :
1. POURPOUR:
We can pour water from one tumbler to another tumbler.
The project also show solution to the given puzzle by two ways:
1. OPTIMAL SOLUTION
2. SEARCH SOLUTION
OPTIMAL SOLUTION:
Optimal solution shows the shortest path from the initial state to the final state.
SEARCH SOLUTION:
Search solution shows the path from initial state to the final state using a search algorithm. The
solution may or may not be the shortest solution.
7/29/2019 Tumbler 1
4/34
APPLICATUION AREAS:
Mental I.Q evaluation For exercising the brain Entertainment In teaching artificial intelligence.
7/29/2019 Tumbler 1
5/34
SYSTEM SPECIFICATION
1. Hardware RequirementsProcessor : Intel Pentium IV 2.4 GHZ or above
Clock speed : 500 MHZ
System bus : 32 bits
RAM : 256MB of RAM or more
HDD : 40 GB or higher
Monitor : SVGA COLOR
Keyboard : 108 keys
Mouse : button mouse
2. Software Requirements
Technology : JAVA(Core)
Tools : NetBeans ID
NETBEANS IDE
NetBeans IDE is an open-source integrated development environment. NetBeans IDE supports
development of all Java application types (Java SE (including JavaFX), Java ME, web, EJB and
mobile applications) out of the box.
Modularity: All the functions of the IDE are provided by modules. Each module provides a well
defined function, such as support for the Java language, editing, or support for the CVS
versioning system, and SVN. NetBeans contains all the modules needed for Java development in
a single download, allowing the user to start working immediately. Modules also allow NetBeans
7/29/2019 Tumbler 1
6/34
to be extended. New features, such as support for other programming languages, can be added by
installing additional modules. For instance, Sun Studio, Sun Java Studio Enterprise, and Sun
Java Studio Creator from Sun Microsystems are all based on the NetBeans IDE.
License: From July 2006 through 2007, NetBeans IDE was licensed under Sun's Common
Development and Distribution License (CDDL), a license based on the Mozilla Public License
(MPL). In October 2007, Sun announced that NetBeans would henceforth be offered under a
dual license of the CDDL and the GPL version 2 licenses, with the GPL linking exception for
GNU Classpath.
Java SE Application
A Java SE application is an application written to the Java Platform, Standard Edition (Java SE).
The same unmodified Java SE applications can be run on almost any computer, whether that
computer uses the Microsoft Windows, Solaris, Linux, or MacOS X operating systems. The key
to this application portability is the Java Runtime Environment, which is available free of charge
for most operating systems, including all of the ones mentioned above.
In addition to being a platform for multi-platform desktop applications, the Java SE platform is
the basis for other technologies such as Java Platform, Enterprise Edition. You might find
yourself writing Java code that provides back-end logic for web and enterprise applications as
well.
FEATURES:
Desktop Application Development
Java SE is the programming platform for developers who create browser applets, command line
tools, and graphical user interfaces targeted for desktop users. Applications written in Java run
on Windows, Mac OS, Linux, Solaris and other operating systems.
Annotation Processors
7/29/2019 Tumbler 1
7/34
Attach annotation processors to a project and use them while working on your code. The
NetBeans IDE supports third-party annotation processors, such as JPA 2.0 from JEE or custom
ones.
Javadoc Integration
Use the Auto Comment action to generate Javadoc code for your methods. Use the Javadoc
Analyzer plugin to check and fix existing Javadoc comments.
Java Call Hierarchy
The Java Call Hierarchy view displays a tree representing the hierarchy of callers and callees of
the selected method in a project.
Compile on Save
The Build action has been replaced by the Compile on Save feature: Now the IDE builds your
project automatically and the run/debug/test actions are immediately available after saving a file.
If you save changes to a method while the debugger is already running the running application
will be automatically reloaded. Compilation errors inside a method don't stop you from running
your program: The debugger will halt when the program runs into the method in question.
Unit Testing Tools
7/29/2019 Tumbler 1
8/34
JUnit 3 and 4 are integrated into the IDE. You can quickly create, run and re-run unit tests and
view the test results in the IDE. The editor provides keyboard shortcuts for fast navigation
between the test and the class it is testing.
Non-Proprietary Project Build System
The NetBeans IDE stores your project information in open, extendible, non-proprietary formats
such as Apache Ant and Maven scripts.
Integrated Tools
The Java Bean support makes Bean property generation and BeanInfo editing easier. The
NetBeans GUI Builder assists you with Java Swing development, from the prototype to the final
graphical user interface. The well-integrated NetBeans debugger and the NetBeans profiler help
you to write rock-solid Java desktop software.
SYSTEM STUDY AND ANALYSIS
System analysis is a process of gathering and interpreting facts, diagnosing problems and the
information to recommend improvements on the system. System analysis or study is an
important phase of any system development process. The system is studied to the minutest detail
and analyzed. The system is viewed as a whole and the input to the system are identified. System
analysis is concerned with becoming aware of the problem, identifying the relevant and
decisional variables, analyzing and synthesizing the various factors and determining an optimal
or at least a satisfactory solution or program of action.
CONCEPT FORMULATION
7/29/2019 Tumbler 1
9/34
When I joined my training our guide asked us to make a java program to solve a water jug
problem,then I thought to make a program to solve it visually.from there I got the concept for my
project.
PROBLEM UNDERSTANDING
In water jug problems, we are given some tumblers whose capacities are known.We have to fill a
fix amount of water in any particular tumbler.
7/29/2019 Tumbler 1
10/34
FEASIBILITY STUDY
Feasibility study is both necessary and prudent to evaluate the feasibility of the project at the
earliest possible time. It involves preliminary investigation of the project.
The different types of feasibility are:
1. Technical feasibility2. Operational feasibility3. Economical feasibility
Technical feasibility
Technical Feasibility deals with the hardware as well as software requirements. We have to find
out whether the necessary technology, the proposed equipments have the capacity to hold the
data, which is used in the project, should be checked to carryout this technical feasibility.
Technical feasibility in this project:
The main applet can be made using NetBeans IDE or Eclipse IDE. The webpage can be made using Adobe DreamWeaver.
Operational feasibility
This feasibility test asks if the system will work when it is developed.
Operational feasibility in this project:
7/29/2019 Tumbler 1
11/34
The proposed system offers greater level of user-friendliness. The proposed system produces best results and gives high performance. It can be
implemented easily .So this project is operationally feasible.
Economical feasibility
Economical Feasibility deals about the economical impact faced by the organization to
implement a new system. The cost of conducting a full system, including software and hardware
cost for the class of application being considered should be evaluated.
Economic Feasibility in this project:
The cost to develop the project is feasible as the softwares required are available free ofcost on the internet.
There is no additional manpower requirement. There is no additional cost involved in maintaining the proposed system.
7/29/2019 Tumbler 1
12/34
SYSTEM DESIGN
System Design is the most creative and challenging phase in the system life cycle. Design is
the first step into the development phase for any engineered product or system. Design is a
creative process. A good design is the key to effective system. System design is a solution how to
approach the creation of a new system. System design transforms a logic representation of what
is required to do into the physical specification. The specification is converted into physical
reality during development.
7/29/2019 Tumbler 1
13/34
SOFTWARE DESCRIPTION
This project is implemented using Java. Java goes back to 1991 when a group of sun engineers
led by James Gosling , wanted to design a small computer language that could be used for
consumer devices and named it as Green Project. Their idea was to develop a portable language
that could generate intermediate code for virtual machines. This intermediate code then can be
used on any machines that has the correct interpreter.
Java is a programming language that lets us to do almost anything we can do with traditional
programming language for distributed applications. It is platform in-dependent and having a lot
of networking features included within it. A java program can run equally well on any
architecture that has a java interpreter.
FEATURES OF JAVA
1) Encapsulation
Data Encapsulation is one of the most sticking features of OOPs. Encapsulation is the wrapping
up of data and function into single unit called class. The wrapped defines the behavior and
protects the code and data from being arbitrarily accessed by the outside world and only those
function which are wrapped in the class can access it. This type of insulation of data from direct
access by the program is called data hiding.
2) Inheritance
7/29/2019 Tumbler 1
14/34
Inheritance is the process by which objects a class can acquire the properties of objects of
another class i.e. In OOPs the concept of inheritance provides idea of reusability providing the
means of adding additional features to an existing class without modifying it. This is possible by
deriving a new class from the existing on thus the newly created class will have the combined
features of both the parent and the child classes.
3) ObjectOriented
Almost everything in java is a clear, a method or an object. Only the most basic primitive
operative and data types are at a sub-class level.
4) Data Abstraction
Data Abstraction is an act of representing essential features without including the background
details and explanation.
5) Platform Independent
Java programs are compiled with a byte code format that can be read and run by interpreters on
many platforms including Windows 95, Windows NT and later.
6) Multi-Thread
Java is inherently multi-threaded. A single java program can make many different things
processing independently and continuously.
7) High Performance
Java can be compiled on the fly with a Just-in-time compiler (JIT) to code that rivals C++ in
speed.
7/29/2019 Tumbler 1
15/34
8) Safe
Java code can be executed in an environment that prohibits it from viruses, deleting or modifying
files or otherwise performing data destroying and computer crashing operation.
9) Simple
Java has the bare bones functionally needed to implement its rich feature set.
2.2.2 Components
Java has several in-built components:
Javac : Compiler for java programs that could generate byte codes
Java : Interpreter to read and execute java byte codes.
Javap : To disassemble and debug the java bytecodes.
Javadoc: Document generator.
Javah : To write and link native codes with java programs.
7/29/2019 Tumbler 1
16/34
SYSTEM TESTING AND IMPLEMENTATIONS
Testing is a process of executing a program with the interest of finding an error. A good test is
one that has high probability of finding the yet undiscovered error. Testing should systematically
uncover different classes of errors in a minimum amount of time with a minimum amount of
efforts.
Testing is divided into several distinct operations:
1. Unit Testing
Unit test comprises of a set tests performed by an individual program prior to the integration of
the unit into large system. A program unit is usually the smallest free functioning part of the
whole system. Module unit testing should be as exhaustive as possible to ensure that eachrepresentation handled by each module has been tested. All the units that makeup the system
must be tested independently to ensure that they work as required.
During unit testing some errors were raised and all of them were rectified and handled well. The
result was quiet satisfactory and it worked well.
2. Integration Testing
Integration testing is a system technique for constructing the program structure while at the same
time conducting tests to uncover errors associated with interfacing. The objective is to take unit
tested modules and build a program structure that has been dictated by design. Bottom-up
integration consists of unit test followed by testing of the entire system.
7/29/2019 Tumbler 1
17/34
All the modules were tested for their compatibility with other modules .The test were almost
successful. All the modules coexisted very well, with almost no bugs. All the modules were
encapsulated very well so as to not hamper the execution of other modules.
3. Validation Testing
After validation testing, software is completely assembled as a package, interfacing errors that
have been uncovered and corrected and the final series of software test; the validation test
begins. Steps taken during software design and testing can greatly improve the probability of
successful integration in the larger system.
The system was tested fully using variety of test cases and the outcome was satisfactory.
4. Recovery Testing
It is a system that forces the software to fail in a variety of ways and verifies that the recovery is
properly performed.
The test cases were chosen to fail the project and the project was able to make considerable
recovery.
5. Black Box Testing
Black box testing is done to find out the following information as shown in below:
1. Incorrect or missing functions:
There were no incorrect or missing functions found.
2. Interface errors:
There were no interface errors.
7/29/2019 Tumbler 1
18/34
3. Performance error:
There were some performance errors which were corrected and tested again.
4. Termination error:
There were no termination error
6. Test Data Output
After preparing test data, the system under study is tested using the test data. While testing the
system using test data, errors are again uncovered and corrected by using above testing and
corrections are also noted for future use.
The bugs found were corrected and then tested again.
7/29/2019 Tumbler 1
19/34
SNAPSHOTS
The Front Screen
7/29/2019 Tumbler 1
20/34
Choose Game Type Screen
7/29/2019 Tumbler 1
21/34
Jungle Levels
7/29/2019 Tumbler 1
22/34
Jungles Level 1
The player can use the fill and empty buttons shown to fill and empty the tumblers.
7/29/2019 Tumbler 1
23/34
The player can pour the water from one tumbler to another by clicking on the first tumbler and
then on the next tumbler.
7/29/2019 Tumbler 1
24/34
Rain levels
7/29/2019 Tumbler 1
25/34
The player can split the tumbler into half its capacity by using the bolt button.
7/29/2019 Tumbler 1
26/34
1st level rain screen after using bolt.
7/29/2019 Tumbler 1
27/34
Desert level screen
7/29/2019 Tumbler 1
28/34
Desert level 1 game screen
7/29/2019 Tumbler 1
29/34
Optimal solution screen
7/29/2019 Tumbler 1
30/34
Try solution screen
You can try any of the move by clicking on that particular move.
7/29/2019 Tumbler 1
31/34
Screen while searching for the solution when using search solution option.
7/29/2019 Tumbler 1
32/34
Screen after the target is achieved.You can either go to the next level or quit the game.
7/29/2019 Tumbler 1
33/34
7/29/2019 Tumbler 1
34/34