+ All Categories
Home > Documents > Tumbler 1

Tumbler 1

Date post: 04-Apr-2018
Category:
Upload: sweetunannu
View: 214 times
Download: 0 times
Share this document with a friend

of 34

Transcript
  • 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


Recommended