project

85
PROJECT WORK

Upload: nalinee-kumari

Post on 27-Nov-2014

526 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: Project

PROJECT WORK

Page 2: Project

MULTIPLAYER SNAKES AND LADDERS GAME

PROJECT REPORT

DEPARTMENT OF INFORMATION TECHNOLOGY

NATIONAL INSTITUTE OF TECHNOLOGY PATNA

PATNA-800005

Page 3: Project

MULTIPLAYER SNAKES AND LADDERS GAME

PROJECT REPORT

BACHELOR IN TECHNOLOGY

(INFORMATION TECHNOLOGY) Submitted by

1. Anung Mengu (701/07)2. Abeni Jami (710/07)3. Pallavi Kasat (724/07)4. Somashree Saha Talukdar (727/07)5. Satyaban Behera (742/07)

Under the guidance of

Mr. Prabhat Kumar

DEPARTMENT OF INFORMATION TECHNOLOGY

NATIONAL INSTITUTE OF TECHNOLOGY PATNA-800005

Page 4: Project

ACKNOWLEDEGMENT

Behind every successful task there are several factors contributing in many different ways. This is our humble attempt to thank all of them. To complete a task we all need blessings of god almighty. We therefore thank god for enabling us to complete our goal. We would like to thank Mr. Prabhat Kumar for holding our confidence and encouraging us unceasingly.

We also express our gratitude to all other faculty members for their support and co operation towards the success of the project. We also extend our thanks to all our seniors and friends for their moral support and encouragement. Last but not the least thanks a lot to all our team members Who stood together in every dark and confusing moment and became pillars to divide the effort equally.

Anung Mengu (701/07) Abeni Jami (710/07) Pallavi Kasat (724/07) Somashree Saha Talukdar (727/07) Satyaban Behera (742/07)

Page 5: Project

CONTENT

Abstract……………………………………………………..1 Analysis before technical start-off………………………………………2

->Keywords used->Functional components of the project->Requirements ~Hardware requirement ~Manpower requirement

Introduction………………………………………………………………………..4 History ……………………………………………………………………………….5 Rules…………………………………………………………………………………..6 How to play………………………………………………………………………..8 Variations…………………………………………………………………………..9 Major Features…………………………………………………………………..10 Scope of the project…………………………………………………………..11 Feasibility Study …………………………………………………………………12 Requirement Analysis…………………………………………………………15 System Analysis…………………………………………………………………19 Technical overview…………………………………………………………….23 Coding………………………………………………………………………………..24 Testing……………………………………………………………………………….38 Features ,Limitations and Future Enhancement………………….42

Conclusion………………………………………………………………………….44 Bibliography……………………………………………………………………….45

Page 6: Project

Abstract of the project This project is aimed at developing a Multiplayer Snakes and Ladders Game, which can be played over LAN. This game has been built using Java which is platform independent and applet based hence lightweight.

1

Page 7: Project

Keywords

Specific Technology keywords

JAVA, Applet, LAN.

Project type keywords

Analysis, Design, Implementation, Testing, User Interface

Functional components of the project

This a game played by two to four players. It can be played over LAN and it can also be embedded online as it is built using applet. The players roll the dice and based on the number they get they move up the board.The Player who reaches the finish point first wins. This Game has been built using Java.It also enables full screen support.

2

Page 8: Project

Requirements :

Hardware requirements

Number Description1 PC with 1280*1024

pixels

Manpower requirements

3 to 4 students can complete this in 3 – 4 months if they work full time in their college curriculum on the project.

3

Page 9: Project

INTRODUCTION

Page 10: Project

SNAKES AND LADDERS

Snakes and Ladders is a simple board game, for two to four players, in which the players race their token from start to finish according to dice rolls.

The board is a numbered grid squares, on certain squares of the grid are drawn a number of “ladders” and “snakes” connecting two squares together.

The size of the grid (most commonly 8×8, 10×10 or 12×12)

varies from board to board, as does the exact arrangement of the snakes and the ladders: both of these may affect the duration of game play.

4

Page 11: Project

HISTORY OF SNAKES AND LADDERS

Snakes and Ladders originated in India as a game based on

morality called Vaikuntapaali or Paramapada Sopanam (the

ladder to salvation).

The game was played widely in ancient India by the name

of Moksha Patamu, the earliest known Jain version Gyanbazi

dating back to 16th century.

Moksha Patamu was perhaps invented by Hindu spiritual

teachers to teach children about the effects of good deeds as

opposed to bad deeds. The ladders represented virtues such

as generosity, faith, humility, etc., and the snakes represented

vices such as anger, theft, etc.

Variations of the game made it to England during

the British Raj, with one appearing under the name Snakes

and Ladders around 1892, which was then patented.

5

Page 12: Project

RULES

A minimum of two players and a maximum of four players

can play this game. 

At the start of the game, the player's pieces are placed in the

start area. 

Each of the active players shall have to wait for their turn one

by one to roll the dice.

When “six“ appears on the dice, then the player who is active at

that instant can take out his piece from the start area.

If “six” doesn’t appear on the dice, then the active player gets

only a single chance.

The buttons should be moved according to the number

appearing on the dice. 

If a player cannot make a valid move they must pass the die to

the next player. 

Whenever the button of one player reaches the bottom of a

ladder then the player can climb up the ladder to the respective

position at the top of the ladder.

6

Page 13: Project

If the button of one player reaches the square with a snake, the

player has to retrace back to the square at the tail of the snake.

If a player rolls three 6s on the die, they return to the beginning

of the game and may not move until they roll another 6.

The game is won when the button of a particular player

reaches the finish point first.

7

Page 14: Project

HOW TO PLAY

Select the color you desire to play with. Roll the dice by clicking the image of the dice on the right-

hand side of the window. The turn of each player shuffles until we get “six” on the

dice. When the number in the dice rolls out to be “six”, then the

active player can take out his button from the start area. Then that active player gets another chance to roll the dice. The button will be moved automatically, when clicked on it,

to the desired block as per the number on the dice. Whenever “six“ appears on the dice, then the active player

gets another chance to roll the dice. If “six” doesn’t appear on the dice, then the active player

gets only a single chance. Whenever the button of one player reaches the bottom of a

ladder then the player can climb up the ladder to the respective position at the top of the ladder.

If the button of one player reaches the square with the head of a snake, the player has to retrace back to the square at the tail of the snake.

If a player rolls three 6s on the die, they return to the beginning of the game and may not move until they roll another 6.

The game is won when the button of a particular player reaches the finish point first.

8

Page 15: Project

VARIATIONS

To get a game started faster, some house rules, allow a player to bring his piece into play on any roll, on a 1 or a 6, or allow multiple tries to roll a 6.

9

Page 16: Project

MAJOR FEATURES

Game is built over java which is platform independent. Applet based so light weight. Can be embedded in a web page. Can be played over LAN. Full screen support. Liberty to select the mode of the game.

10

SCOPE OF THE PROJECT

Page 17: Project

GOAL

To build a proper GUI for our game which will also be loaded with

various other features.

IMPLEMENTATION

Proper and user friendly GUI.

Light weight.

Can be embedded in a webpage.

Played over a web server.

11

FEASIBILITY STUDY

Page 18: Project

Feasibility Study

A feasibility study is a short, which aims to answer a number of questions.

Does the system contribute to the overall objectives of the Organization?

Can the system be implemented using current technology and within given cost

and schedule constraints?

Can the system be integrated with systems which are already in place?

Page 19: Project

Operational Feasibility

Operational feasibility measures how well the solution will work in the organization

and how will end-user & management feels about the system? Proposed system as

helpful for all the stakeholders associated with the organization. It will allow the

employees to have up-to-date information regarding all the aspects of their respective

departments. The decision-making process will also become faster with the use of

data integration, consolidation and computation power available at all the nodes in the

organization.

On studying the operational feasibility of the project, the following conclusions could

be derived.

Developed system will provide the adequate throughput and all necessary

information to end-users.

It will provide efficient and cost-effective access to up-to-date data.

If installed within suitable environment, system will do operations under

environment of limited resources.

Thus, it is operationally feasible to develop the propose system.

12

Technical Feasibility

Technical feasibility tries to answer the following questions to make the software

feasible to develop.

The software or tools necessary for building or running the application are easily

available or not?

The compatibility amongst software exists or not?

Page 20: Project

Are developer aware of these technologies?

What about the alternative of these chosen technologies?

Schedule Feasibility

Projects are initiated with specific deadline. We need to evaluate whether the deadlines

are mandatory or desirable. Time is the one of the critical factor in the development of

any system but this kind of feasibility is hardly perfect in any system.

Hence, it is feasible to develop a system in predetermined time interval.

Economical Feasibility

Economic feasibility addresses to the following issues:

How much profit can be earned from the system by an organization?

Is the organization having the suitable budget to develop the proposed system?

13

Would it be cost-effective to develop the system or it is worthwhile to remain with

current system?

Implementation Feasibility

Page 21: Project

Under the study of Implementation feasibility, we’ve got to draw the finger to the certain

issues, like

Is it possible to install the software within the given environment?

Will organization management and user support for the installation of the

software?

Will proposed system cause any harm to the operations of the organization?

14

Page 22: Project

REQUIREMENT ANALYSIS PROCESS :

The description of the service and the constraint are the requirement of the system and

the processes involved in the requirement engineering are:

Finding out

Analyzing

Documenting and

Checking these services and constraint.

16

Requirement Validation

Requirements definition and specification

Domain Understandin

g

Prioritization

Requirement Collections

Conflict Resolution

Requirement

Requirement Analysis Process

Process Entry

REQUIREMENT GATHERING AND ANALYSIS

Page 23: Project

The process activities are explained as:

Domain Understanding

Analysis must develop their understanding of the application domain. We spent

some initial time for the domain application, like using the existing forms, understanding

the business processes of the client and finding out the ways of optimizing the operations.

In order to understand client’s domain, multiple visits to client’s organization

were made in order to understand the method of operation of the organization and

understanding the core activities that were to be automated.

Requirement Collection

Over a period of time, questionnaires and one-to-one interviews have proven to be

the best methods for requirement collection.

Following the same approach, the functional specification was prepared based on

many meetings with the client. The meetings were planned out in such a way that they do

not interfere with client’s day-to-day operation. This was supplemented with ad-hoc

meetings as and when asked for by the client.

15

Classification

Page 24: Project

Requirements are classified as follows:

The main requirements are:

User requirements

System requirements

Above requirements can be further classified as below:

Functional requirements

Non-functional requirements

Domain-specific requirements

Conflict Resolution

Here, requirement conflicts are handled so that users can distinguish

themselves. Like some facility may not used by other user , there must not be any

objection from other users.

Requirements Validation

Requirements validation is concerned with showing that the requirements actually

define the system that customer wants. If this validation is inadequate, errors in the

requirements will be propagated to the system design and implementation.

Requirements are checked to discover if they are complete, consistent and in

accordance with what visitors, citizens, govt. officials and other users from the projected

system.

16

There are several aspects of the requirements that must be checked:

Page 25: Project

Validity:

A user may think that a system is needed to perform certain functions. However

further thought and analysis may identify additional or different functions that are

required.

Consistency:

Any one requirement should not conflict with any other.

Completeness:

The definition should include all functions and constrains intended by the system user.

17

Page 26: Project

The analysis model as a bridge between the system description and the design

model.

Requirements analysis provides the software designer with a representation of

information, function, and behavior that can be translated to architectural, interface, and

component-level designs. The analysis model and the requirements specification provide

the developer and the customer with the means to assess quality once software is built.

18

DESIGN MODEL

DESIGN MODEL

ANALYSISMODEL

ANALYSISMODEL

SYSTEM DESCRIPTION

SYSTEM DESCRIPTION

Page 27: Project

SYSTEM ANALYSIS

Page 28: Project

The information domain of the problem must be represented and understood.

The function that the software is to perform must be defined.

Software behavior must be represented.

Models depicting information function and behavior must be partitioned in a

hierarchical manner that uncovers details.

The analysis process should move from the essential information toward

Implementation details.

LINEAR SEQUENTION MODEL

19

Software Requirements Analysis

Code Code Test TestSystem/Information Engg.System/Information Engg.

Analysis Analysis Design Design

Page 29: Project

The Requirements gathering process is intensified and focused specifically on software.

To understand the nature of the program to be built, the software engineer must

understand information domain for the software as well as required function, how

behavior, performance and interface. Requirements both the system are documented and

reviewed with the customer.

Design

Software design is actually multi step process that focuses on four distinct attributes of a

program: data structure, software architecture, interface representation and procedural

detail. The design process translates requirements into a representation of the software

that can be assessed for quality before coding begins. Like requirements, the design is

documented and becomes part of software configuration.

Code generation

The design must be translated into a machine readable form. The code generation step

performs this task. If design is performed in a detailed Manner, code generation can be

accomplished mechanistically.

Testing

Once code has been generated, program testing begins. The testing process focuses on the

logical internals of the software, ensuring that all statements have been tested and on the

functional externals; that is, concluding test to uncover errors and ensure that defined

input will procedure actual results that agree with required results.

20

Analysis Modeling

Scenario-based elements

Use-case diagram

Activity diagram

Flow-oriented elements

Data-Flow diagram

Class-based elements

Class diagram

Behavioral elements

State diagram

Sequence diagram

Page 30: Project

ANALYSIS MODEL

Use case and User Scenario

Use cases are interesting phenomena. For a long time, in both object-oriented and

traditional development, people used typical interactions to help them understand

requirements. However, these scenarios were treated very informally-always done but

rarely documented.

21

A use case is a set of scenarios tied together by a common user goal. Use case diagram

for our system is illustrated below.

Page 31: Project

Actors

An actor is a role that a user plays with respect to the system. Actor don’t need to human,

even though actor are represented as stick figures within a use case diagram. An actor can

also be an external system that needs some information from the current system.

22

Page 32: Project

TECHNICAL OVERVIEW

Page 33: Project
Page 34: Project

JAVA LANGUAGE: Java is an innovative programming language that has become the language of choice for programs that need to run on a variety of different computer systems. First of all, Java enables you to write small programs called applets. These are programs that you can embed in web pages to provide some intelligence. Being able to embed executable code in a web page introduces a vast range of exciting possibilities. Instead of being a passive presentation of text and graphics, a web page can be interactive in any way that we want. Java’s support for the Internet and network-based applications generally doesn’t end with applets. For example, Java Server Pages (JSP) provides a powerful means of building a server application that can dynamically create and download HTML pages to a client that are precisely customized for the specific request that is received. Of course, the pages that are generated by JSP can themselves contain Java applets. Java also allows us to write large-scale application programs that we can run unchanged on any computer with an operating system environment in which Java is supported. This applies to the majority of computers in use today. We can even write programs that will work both as ordinary applications and as applets. The most important characteristic of Java is that it was designed from the outset to be machine independent. We can run Java programs unchanged on any machine and operating system combination that supports Java. The next most important characteristic of Java is that it is object-oriented.

APPLETS:

Applets are small applications that are accessed on an Internet server, transported over the Internet, automatically installed, and run as part of a Web document. After an applet arrives on the client, it has limited access to resources, so that it can produce an arbitrary multimedia user interface and run complex computations without introducing the risk of viruses or breaching data integrity.

23

Page 35: Project

CODING

Page 36: Project

STYLESHEETDefault.java

import java.util.*;import java.awt.*;import java.awt.event.*;import java.applet.*;/*<applet code="RandomGen2" height=800 width=1500>*</applet>*/public class RandomGen2 extends Applet implements ActionListener{

Button btnGen;int array[];Panel btnpanel;Color charColor[];String msg1="Player1's Score";String msg2="Player2's Score";int player1_score=0,player2_score=0;int turn=0;String win=" ";String win1=" ";String win2=" ";public void init(){ Font f=new Font("SansSerif",Font.BOLD,12); setFont(f); setBackground(Color.white); btnGen = new Button("ROLL THE DICE"); btnGen.addActionListener(this); setLayout(new BorderLayout()); btnpanel=new Panel(); btnpanel.add(btnGen);

add(btnpanel, BorderLayout.SOUTH);

//Array to store lucky numbers array = new int[] {0,0,0,0,0,0};24

Page 37: Project

//Color for each lucky number charColor=new Color[] {Color.red, Color.orange, Color.green, Color.pink, Color.blue, Color.black };

}

public void paint(Graphics g){setBackground(Color.cyan);FontMetrics fm=g.getFontMetrics();g.drawString(msg1,660,230);g.drawString(msg2,660,260);g.setColor(Color.red);g.fillRect(10,10,64,64);g.setColor(Color.green);g.fillRect(74,10,64,64);g.setColor(Color.blue);g.fillRect(138,10,64,64);g.setColor(Color.yellow);g.fillRect(202,10,64,64);g.setColor(Color.red);g.fillRect(266,10,64,64);g.setColor(Color.green);g.fillRect(330,10,64,64);g.setColor(Color.blue);g.fillRect(394,10,64,64);g.setColor(Color.yellow);g.fillRect(458,10,64,64);g.setColor(Color.red);g.fillRect(512,10,64,64);g.setColor(Color.green);g.fillRect(576,10,64,64);g.setColor(Color.yellow);

g.fillRect(10,74,64,64);g.setColor(Color.red);g.fillRect(74,74,64,64);g.setColor(Color.green);g.fillRect(138,74,64,64);25

Page 38: Project

g.setColor(Color.blue);g.fillRect(202,74,64,64);g.setColor(Color.yellow);g.fillRect(266,74,64,64);g.setColor(Color.red);g.fillRect(330,74,64,64);g.setColor(Color.green);g.fillRect(394,74,64,64);g.setColor(Color.blue);g.fillRect(458,74,64,64);g.setColor(Color.yellow);g.fillRect(512,74,64,64);g.setColor(Color.red);g.fillRect(576,74,64,64);g.setColor(Color.blue);

g.fillRect(10,138,64,64);g.setColor(Color.yellow);g.fillRect(74,138,64,64);g.setColor(Color.red);g.fillRect(138,138,64,64);g.setColor(Color.green);g.fillRect(202,138,64,64);g.setColor(Color.blue);g.fillRect(266,138,64,64);g.setColor(Color.yellow);g.fillRect(330,138,64,64);g.setColor(Color.red);g.fillRect(394,138,64,64);g.setColor(Color.green);g.fillRect(458,138,64,64);g.setColor(Color.blue);g.fillRect(512,138,64,64);g.setColor(Color.yellow);g.fillRect(576,138,64,64);g.setColor(Color.green);

g.fillRect(10,202,64,64);g.setColor(Color.blue);26

Page 39: Project

g.fillRect(74,202,64,64);g.setColor(Color.yellow);g.fillRect(138,202,64,64);g.setColor(Color.red);g.fillRect(202,202,64,64);g.setColor(Color.green);g.fillRect(266,202,64,64);g.setColor(Color.blue);g.fillRect(330,202,64,64);g.setColor(Color.yellow);g.fillRect(394,202,64,64);g.setColor(Color.red);g.fillRect(458,202,64,64);g.setColor(Color.green);g.fillRect(512,202,64,64);g.setColor(Color.blue);g.fillRect(576,202,64,64);g.setColor(Color.red);g.fillRect(10,266,64,64);g.setColor(Color.green);g.fillRect(74,266,64,64);g.setColor(Color.blue);g.fillRect(138,266,64,64);g.setColor(Color.yellow);g.fillRect(202,266,64,64);g.setColor(Color.red);g.fillRect(266,266,64,64);g.setColor(Color.green);g.fillRect(330,266,64,64);g.setColor(Color.blue);g.fillRect(394,266,64,64);g.setColor(Color.yellow);g.fillRect(458,266,64,64);g.setColor(Color.red);g.fillRect(512,266,64,64);g.setColor(Color.green);g.fillRect(576,266,64,64);g.setColor(Color.yellow);

27

Page 40: Project

g.fillRect(10,330,64,64);g.setColor(Color.red);g.fillRect(74,330,64,64);g.setColor(Color.green);g.fillRect(138,330,64,64);g.setColor(Color.blue);g.fillRect(202,330,64,64);g.setColor(Color.yellow);g.fillRect(266,330,64,64);g.setColor(Color.red);g.fillRect(330,330,64,64);g.setColor(Color.green);g.fillRect(394,330,64,64);g.setColor(Color.blue);g.fillRect(458,330,64,64);g.setColor(Color.yellow);g.fillRect(512,330,64,64);g.setColor(Color.red);g.fillRect(576,330,64,64);g.setColor(Color.blue);

g.fillRect(10,394,64,64);g.setColor(Color.yellow);g.fillRect(74,394,64,64);g.setColor(Color.red);g.fillRect(138,394,64,64);g.setColor(Color.green);g.fillRect(202,394,64,64);g.setColor(Color.blue);g.fillRect(266,394,64,64);g.setColor(Color.yellow);g.fillRect(330,394,64,64);g.setColor(Color.red);g.fillRect(394,394,64,64);g.setColor(Color.green);g.fillRect(458,394,64,64);g.setColor(Color.blue);g.fillRect(512,394,64,64);

28

Page 41: Project

g.setColor(Color.yellow);

g.fillRect(576,394,64,64);g.setColor(Color.green);g.fillRect(10,458,64,64);g.setColor(Color.blue);g.fillRect(74,458,64,64);g.setColor(Color.yellow);g.fillRect(138,458,64,64);g.setColor(Color.red);g.fillRect(202,458,64,64);g.setColor(Color.green);g.fillRect(266,458,64,64);g.setColor(Color.blue);g.fillRect(330,458,64,64);g.setColor(Color.yellow);g.fillRect(394,458,64,64);g.setColor(Color.red);g.fillRect(458,458,64,64);g.setColor(Color.green);g.fillRect(512,458,64,64);g.setColor(Color.blue);g.fillRect(576,458,64,64);g.setColor(Color.red);

g.fillRect(10,512,64,64);g.setColor(Color.green);g.fillRect(74,512,64,64);g.setColor(Color.blue);g.fillRect(138,512,64,64);g.setColor(Color.yellow);g.fillRect(202,512,64,64);g.setColor(Color.red);g.fillRect(266,512,64,64);g.setColor(Color.green);g.fillRect(330,512,64,64);g.setColor(Color.blue);g.fillRect(394,512,64,64);

29

Page 42: Project

g.setColor(Color.yellow);

g.fillRect(458,512,64,64);g.setColor(Color.red);g.fillRect(512,512,64,64);g.setColor(Color.green);g.fillRect(576,512,64,64);g.setColor(Color.blue);

g.fillRect(10,576,64,64);g.setColor(Color.red);g.fillRect(74,576,64,64);g.setColor(Color.green);g.fillRect(138,576,64,64);g.setColor(Color.blue);g.fillRect(202,576,64,64);g.setColor(Color.yellow);g.fillRect(266,576,64,64);g.setColor(Color.red);g.fillRect(330,576,64,64);g.setColor(Color.green);g.fillRect(394,576,64,64);g.setColor(Color.blue);g.fillRect(458,576,64,64);g.setColor(Color.yellow);g.fillRect(512,576,64,64);g.setColor(Color.red);g.fillRect(576,576,64,64);g.setColor(Color.black);g.drawString("100",20,20);g.drawString("HOME",30,30);g.drawString("99",84,20);g.drawString("98",148,20);g.drawString("97",212,20);g.drawString("DANGER",216,40);g.drawString("96",276,20);g.drawString("95",340,20);g.drawString("94",404,20);

30

Page 43: Project

g.drawString("93",468,20);

g.drawString("92",522,20);g.drawString("91",586,20);g.drawString("81",20,84);g.drawString("82",84,84);g.drawString("83",148,84);g.drawString("84",212,84);g.drawString("85",276,84);g.drawString("86",340,84);g.drawString("87",404,84);g.drawString("88",468,84);g.drawString("89",522,84);g.drawString("90",586,84);g.drawString("80",20,148);g.drawString("79",84,148);g.drawString("78",148,148);g.drawString("77",212,148);g.drawString("76",276,148);g.drawString("75",340,148);g.drawString("74",404,148);g.drawString("73",468,148);g.drawString("72",522,148);g.drawString("71",586,148);g.drawString("61",20,212);g.drawString("62",84,212);g.drawString("63",148,212);g.drawString("64",212,212);g.drawString("65",276,212);g.drawString("66",340,212);g.drawString("67",404,212);g.drawString("68",468,212);g.drawString("69",522,212);g.drawString("70",586,212);g.drawString("60",20,276);g.drawString("59",84,276);g.drawString("58",148,276);g.drawString("57",212,276);

31

Page 44: Project

g.drawString("56",276,276);g.drawString("55",340,276);g.drawString("54",404,276);g.drawString("53",468,276);g.drawString("DANGER",462,296);g.drawString("52",522,276);g.drawString("51",586,276);g.drawString("41",20,340);g.drawString("42",84,340);g.drawString("43",148,340);g.drawString("44",212,340);g.drawString("45",276,340);g.drawString("46",340,340);g.drawString("47",404,340);g.drawString("48",468,340);g.drawString("49",522,340);g.drawString("50",586,340);g.drawString("40",20,404);g.drawString("39",84,404);g.drawString("38",148,404);g.drawString("37",212,404);g.drawString("36",276,404);g.drawString("35",340,404);g.drawString("34",404,404);g.drawString("33",468,404);g.drawString("32",522,404);g.drawString("31",586,404);g.drawString("21",20,468);g.drawString("22",84,468);g.drawString("23",148,468);g.drawString("24",212,468);g.drawString("25",276,468);g.drawString("26",340,468);g.drawString("27",404,468);g.drawString("28",468,468);g.drawString("29",522,468);g.drawString("30",586,468);g.drawString("20",20,522);

32

Page 45: Project

g.drawString("19",84,522);g.drawString("18",148,522);g.drawString("17",212,522);g.drawString("16",276,522);g.drawString("15",340,522);g.drawString("14",404,522);g.drawString("13",468,522);g.drawString("12",522,522);g.drawString("11",586,522);g.drawString("1 ",20,586);g.drawString("START",32,608);g.drawString("2",84,586);g.drawString("3",148,586);g.drawString("4",212,586);g.drawString("5",276,586);g.drawString("6",340,586);g.drawString("7",404,586);g.drawString("8",468,586);g.drawString("9",522,586);g.drawString("10",586,586);g.drawLine(45,99,173,45);g.drawLine(59,113,187,59);g.drawLine(237,547,429,173);g.drawLine(251,561,443,187);g.drawLine(173,429,109,301);g.drawLine(123,315,187,443);/*g.drawLine();g.drawLine();g.drawLine();g.drawLine();*/g.drawArc(30, 40, 300, 300, 0, 75);g.drawArc(30, 40, 300, 300, 0, -75);g.drawArc(100,100,400,400,0,-75);g.drawArc(305,486,160,130,190,-75);

int h = 30; 33

Page 46: Project

Font f=new Font("SansSerif",Font.BOLD,15); g.drawString("SNAKES & LADDERS",150,680); //Fonts for title Font font = new Font("Verdana", Font.BOLD , 15);

g.setFont(font); g.setColor(Color.red); g.drawString("CURRENT NUMBER ON THE DICE", 670, h);

//lines to draw borders g.drawLine(660,10,960 ,10); g.drawLine(660,10,660,210); g.drawLine(960,10,960,210);

//Vertical distance from title to numbers h= h + 100;

//Fonts for numbers Font font1 = new Font("Verdana", Font.BOLD , 19); g.setFont(font1);

//Drawing numbers for(int n=0;n<1;n++) { g.setColor(charColor[n]); Integer I = new Integer(array[n]); g.drawString(I.toString(), 680, h); }

//Drawing bottom border g.setColor(Color.red); g.drawLine(660,210,960,210); g.drawString(" "+player1_score,760,230); g.drawString(" "+player2_score,760,260); g.drawString(" " +win,760,300); g.drawString(" "+win1,760,330); g.drawString(" "+win2,760,360);

34

Page 47: Project

}

public void actionPerformed(ActionEvent ev){

int exist=0; int n =1; turn++; //initialize rnd with current system time Random rnd = new Random();

//generate the first number

int i = Math.abs(rnd.nextInt() % 7);

//If number is 0 keep generate numbers until it is not 0; there is no 0 in Lottery while(i==0) i = Math.abs(rnd.nextInt() % 7);

//add number to array array[0]= i; current_score(i,turn); repaint(); } public void current_score(int i,int turn){//player1if (turn%2==0 && (player1_score+i)<=100 && win!="GAME OVER"){//to enter the boardif(i==6&& player1_score==0)player1_score=player1_score+i;else if(i<=6 && player1_score>0)player1_score=player1_score+i;if(player1_score==17)

35

Page 48: Project

player1_score=player1_score+57;if (player1_score==38)player1_score=player1_score+21;if (player1_score==81)player1_score=player1_score+16;turn--;if (player1_score==53)player1_score=player1_score-16;if (player1_score==97)player1_score=player1_score-53;

}//player2else if(turn%2!=0 &&(player2_score+i)<=100 && win!="GAME OVER") {//to enter the boardif(i==6&& player2_score==0)player2_score=player2_score+i;else if(i<=6 && player2_score>0)player2_score=player2_score+i;if(player2_score==17)player2_score=player2_score+57;if (player2_score==38)player2_score=player2_score+21;if (player2_score==81)player2_score=player2_score+16;turn--;if (player2_score==53)player2_score=player2_score-16;if (player2_score==97)player2_score=player2_score-53;

//snakes_ladders(player2_score);}if(player1_score==100||player2_score==100){ win="GAME OVER";

36

Page 49: Project

if(player1_score==100)win1=" CONGRATULATIONS!!!!!!! PLAYER1 WINS";elsewin2=" CONGRATULATIONS!!!!!! PLAYER2 WINS";}}}

37

Page 50: Project

TESTING

Page 51: Project

UNIT TESTING

It is a method of testing that verifies the individual units of source code.

A unit is the smallest testable part of an application. This is also known as “module testing”.

Implementation in our project After writing code of each module like design of game board,

rolling of dice, movement of dice and user interface, we separately checked whether the result generated is correct or not.

We have applied these testing on a set of dummy moves for testing purposes.

Each module is tested a large number of times till the integration is done.

38

Page 52: Project

INTEGRATION TESTING

‘Integration Testing’ (sometimes called Integration and Testing, abbreviated I&T) is the phase of software testing in which individual software modules are combined and tested as a group.

Implementation in our project This testing has been done in our project with sample moves by

rolling the dice and checking the moves of various numbers appearing on the dice.

We have taken input modules which have been unit tested and grouped them in large scale tests as defined in an integration test plan to those aggregates, and then the output is obtained as an integrated system, ready for system testing.

39

Page 53: Project

SYSTEM TESTING

System testing of software or hardware is testing conducted on a complete, integrated system to evaluate the system’s compliance with its specified requirements. System testing falls within the scope of black-box testing, and as such, should require no knowledge of the inner design of the code or logic.

Implementation in our project A series of testing are done before the system is ready for

accepting the final test. Each of the modules like design of game board, rolling of dice, movement of dice and user interface, have been tested on different compatible systems.

Effort was done to maximize the number of iterations of all modules testing to remove all the errors.

40

Page 54: Project

VALIDATION TESTING

After integration testing and system testing, software is completely assembled as a package, interfacing errors has been uncovered and corrected

A final series of software tests, validation begins.

RECOVERY TESTING

In software testing, we have preceded the recovery testing to test how well the software is able to recover from crashes, hardware failures and other similar problems.

Implementation in our project We have practically performed this testing by running our

software on the systems heavily loaded with running processes, a desktop running on UPS and a laptop running on battery power. The result was success in every case.

41

Page 55: Project
Page 56: Project

FUTURE PROSPECTS AND LIMITATIONS

Page 57: Project

LIMITATIONS OF OUR PROJECT

The major limitation of our project is its resolution issues. It shows proper resolution in 1280 * 1024 pixels, but in the resolution of 1280 * 800 pixels, i.e. in widescreen systems, the software does not show the appropriate resolution.

There is no scope to save the game. The ‘save and exit’ feature is not provided. This means that a previously played game cannot be reloaded.

There is no provision to store the high scores of the previously played games.

42

Page 58: Project

FUTURE PROSPECTS

The limitations related to the resolution issues would be sorted out so that it

supports as many different resolution schemes as possible.

The ‘save’ and ‘save and exit’ features would be added to add more flexibility to

this game.

A provision would be made to store the high scores of the players. This would be

done by making a database where the scores would be saved and stored.

The feature of playing more than four players over LAN would be added so that

multiple players can control a piece(color).

The feature of embedding the game into the web browser would be provided to

provide tractableness to this game.

43

Page 59: Project

CONCLUSION

Page 60: Project
Page 61: Project

CONCLUSION

From a proper analysis of positive points and constraints on the component, it can be safely concluded that the product is a highly efficient GUI based component. This application is working properly and meeting to all user requirements. This component can be easily plugged in many other systems.

44

Page 62: Project

BIBLIOGRAPHY

Page 63: Project

The Complete Reference Java 2 By: Herbert Schlidt

Software Engineering By: Roger Pressman

Software Engineering By: Rajib Mall

www.google.com www.wikipedia.com

45

Books:-

Websites:-