Vous êtes sur la page 1sur 69

A

PROJECT REPORT
ON

GAME CENTER
Submitted in Partial Fulfillment of the Requirements for the Degree in Bachelor of Technology IN

COMPUTER SCIENCE & ENGINEERING

Session: 2011-12
Submitted To: Submitted By:

Asst. Prof. Mr.Yogesh Rathi Ms. Namita Sharma CS & IT Dept.

Jagrit Makhija Janardan Bhatt VII Semester

DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING

Yagyavalkya Institute of Technology Sitapura, Jaipur

CERITIFICATE
This is to certify that the project titled Game Center is submitted by Janardan Bhatt & Jagrit Makhija, students of final year in partial fulfilment for the award of degree of Bachelor Of Technology of Rajasthan Technical university, Kota has been carried out under my supervision during academic year 2011-2012. This work is should not been submitted partially or wholly to any other university or institute for the award of this or any other degree or diploma.

Project Guide

(YOGESH RATHI)

(NAMITA SHARMA)

Head of the Department

(ANKUR GOYAL)

Page 2

PREFACE
The report in concern with the project on GAME CENTER covers all a considerable area of entertainment applicbility. The report also offers specific recommendations in a number of areas for Private gaming firms to strengthen their present activities and to formulate future strategies for a more meaningful intervention. It was ambitious to undertake such a massive study regarding the numerous fields and measures that the entertainment industry adopts to perform the daily tasks. The varied experiences of the gaming platforms which have been brought into this study, the area specific data and idiom, and the scientific analysis make the report immensely useful and valuable. The game center provides a means of leisure activities to users. It has a user friendly interface which is very easy to use. Such game centers are used now a days by a lot of people for their personal entertainment purpose, plus we all very well know that playing games improves the ability to think as people stress their minds while playing games to get the best score.

Page 3

ACKNOWLEDGMENT

This Project Report would not have been completed without the support from my advisors, professors, friends and family. I would thank those who devoted their time and information. Everyone involved was very helpful and enthusiastic for success of my thesis completion. I am also very thankful to the YIT Management, Principal (YIT) & Vice Principal (YIT) for their valuable support & cooperation during my report work. I am greatly indebted to my advisors, HOD, Mr.Ankur Goyal, CS & IT Dept.,Asst. Prof. Yogesh Rathi and my project guide Ms.Namita Sharma, for their helpful guidance, suggestion and encouragement throughout this study. Moreover this Project would not have been finished without the endless support and tolerance of my friends at YIT, Jaipur. Last but not the least, it would be impossible for me to work on this project completely without the encouragement from my family. Therefore, I am greatly appreciated for both physical and mental support i have received from them.

Page 4

Table of Contents

Sno.

Topic

Page No.

1. INTRODUCTION ............................................................................................ 6
1.1 Introduction to the Project................................................................................................. 6

2. SWDLC (SOFTWARE DEVELOPMENT LIFE CYCLE) .................. 11


2.1 The Waterfall Model and itss Phases. ............................................................................... 11 2.1 2.2 2.3 2.4 Objective ........................................................................................................................ 13 Analysis .......................................................................................................................... 14 Design and Implementation ............................................................................................ 18 Testing and Debugging .................................................................................................. 62

3. LIMITATIONS .............................................................................................. 65 4. FUTURE OF THE PROJECT ....................................................................... 66 5. CONCLUSION ............................................................................................. 67 6. RECOMMENDATION .................................................................................. 68 7. BIBLIOGRAPHY AND REFERENCES ........................................................ 69

Page 5

1. INTRODUCTION 1.1 Introduction to the Project


About the Project The project on GAME CENTER was initially aimed to enhance the understanding of JAVA, but later became part of an interest. The project is basically an application based on JAVA using Awt, Swing and JDBC. The application developed using these platforms provides an easy to access interface to a nave user. Having been provided with all the required facilities within the application, the user hardly feels the need of assistance or guidance. The customer can avail adequate features in the application that are of general entertainment purpose. It consists of an excellent user-interface designed completely in Java Swing. The AIM of the PROJECT is: 1) To make the interface as interactive and attractive as possible at the front-end. 2) To display all the available information, as given by the client. 3) To make the data as dynamic as possible. 4) To ensure re-usability. 5) To prevent Data Redundancy. The project basically consists of: 1) A user panel where the user can choose to either go to the login panel or sign up panel. 2) A login panel where the user can enter his id and password to login to the game center. 3) The signup panel where an unregistered user can provide his/her information and register himself/herself to the game center. 4) Tic tac toe and Battle pong games. Technologies used

Page 6

JAVA The entire component has been developed using Java technology. Java has been chosen as the platform because of its feature rich nature. The Java Platform provides robust end-to-end solutions for networked applications as well as a trusted standard for embedded applications. So Java was a natural choice for development process. Characteristics of Java Object Oriented Java is object oriented to the truest sense of the word. Everything in Java is represented as objects. Variables and methods both are encapsulated in objects. Java is the purest object -oriented language. Robust Java is a very robust language owing to the following features. Excellent exception handling facilities. Memory management relief for the user. User does not have to worry about allocation and de-allocation of memory. Strict compile-time and runtime checks for data types.

Portable and Architecture-Neutral Java is portable and platform independent so much that they satisfy write once; run anywhere, anytime, forever. This feature is implemented in the following ways: o Compiler generates machine independent byte-code instructions which can be run on any machine supporting Java Virtual Machine. o Size of primitive data type is machine independent. Multithreaded

Page 7

Programs can do many things simultaneously using different threads. Provides a solution for multi process synchronization. Allows the creation of networked and interactive programs.

Distributed Open access to remote objects by the use of RMI(Remote Method Invocation). Brings a level of abstraction to client/server programming.

Secure Security is achieved by confining a java program to the java execution environment and not allowing access to other parts of the user computer. Absence of pointers provides memory related security as encroachment of memory is avoided. Dynamic and Extensible Facilitates linking in of new classes, objects and methods. Supports native methods (methods written in other languages like C, C++). Programs carry with them a substantial amount of runtime type information that is used to verify and resolve accesses to objects at run-time. High Performance Just-In-Time (JIT) compilers are used to convert byte-code into native machine code resulting in very high performance. These JIT compilers can be used on a real time, piece by piece demand basis to perform on-the-fly compilation of bytecode into .

My SQL

Page 8

MY-SQL is based on Client/ Server Architecture. It is designed to work effectively in a number of environments, that is, either as a two tier or multi tier client/server database system or as a desktop database system.

Client/Server Database Systems Client/server systems are constructed so that the database can reside on a
central computer, known as a server, and be shared among several users. Users access the server through a client or server application.

In a two tier client/server system, users run an application on their local


computer, known as a client that connects over a network to the server running MY-SQL Server. The client application runs both business logic and the code to display output to the user, and is also known as a thick client.

In a multi tier client/server system, the client application logic runs at two
locations:

The thin client is run on the user's local computer and is focused on displaying
results to the user.

The business logic is located in server application running on a server. Thin


clients request functions from the server application, which is itself a multithreaded application capable of working with many concurrent users. The server application is the one that opens connections to the database server and can be running on the same server as the database, or it can connect across the network to a separate server operating as a database server. Administrative Architecture Each version of MY-SQL Server seeks to automate or eliminate the repetitive work done by the database administrators in earlier versions of SQL Server. Because database administrators are typically among the people most highly trained in database issues at each site, this frees a valuable resource to spend more time working on database design and application data access issues. Database Architecture
Page 9

MY-SQL data is stored in databases. The data in a database is organized into the logical components visible to users. A database is also physically implemented as two or more files on disk.

When using a database, you work primarily with the logical components such as
tables, views, procedures, and users. The physical implementation of files is largely transparent. Server Architecture The server is the MY-SQL Server components that receives SQL statements from clients and perform all the actions necessary to complete the statements. This section discusses: o An overview of the component that make up the server. o How the server compiles each batch of SQL statements into an execution plan that tells the server how to process the statement. o How server manages MS windows resources such as memory and tasks. o How the server determines which part of a distributed query references a linked server and what request to transmit to the server to obtain the needed data. o How the server transmits remote stored procedure call to remote server. o How the server manages concurrency and transaction issues. o How the server implements server cursors.

Page 10

2. SWDLC (Software Development Life Cycle)


SWDLC refers to the project management framework, or methodology, of standard phases to help a firm better managing the activities, deliverables, timing, and resources for software development projects. SWDLC's are often governed by standard policy and procedure. The Software Development Life Cycle (SWDLC) is a conceptual model used in project management that describes the stages involved in an information system development project from an initial feasibility study through maintenance of the completed application. Various SDLC methodologies have been developed to guide the processes involved in Rapid Application Development (RAD), Joint Application Development (JAD), the fountain model and the spiral model. Documentation is crucial regardless of the type of model chosen or devised for any application, and is usually done in parallel with the development process. Some methods work better for specific types of projects, but in the final analysis, the most important factor for the success of a project may be how closely particular plan was followed.

2.1 The Waterfall Model and itss Phases.


6.Maintain

5.Test

1.Analysis

4.Implement

2.Feasibility

3.Design

Fig.1 The Classic Waterfall Model

Page 11

This software development life cycle process has six stages. These are explained below : 1. Analysis After the analysis and design of the system requirement phase the system required for the development would be complete and the concentration can be on the software development process. The first essential or vital thing required for any software development is system. So a careful analysis has to be made about the system requirement needed for the development of the product. 2. Feasibility Feasibility study is also called Software Requirement Analysis. In this phase development team has to communicate with customers and make analysis of their requirement and analyze the system. In this way, it would be possible to make a report of identified area of problem. By making a detailed analysis on this area ,a document is prepared which has details like project plan or schedule of the project, the cost estimated for developing and executing the system, target dates for each phase of delivery of system developed and so on. This phase is the base of software development process, so careful analysis has to be made. 3. Design Here analysis is made on the design of the system that is going to be developed. The design of database, the design of the architecture chosen, functional specification design, and low level/high level design documents takes place. Care must be taken to prepare these design documents because the next phase is based on these design documents. If a well structured and analyzed design document is prepared it would reduce the time taken in the coming steps. 4. Implementation This is the phase when the system gets live. The above software development process are all vital for a system to get developed with quality and thus to achieve customer satisfaction which is the main objective of any software development process.
Page 12

5. Testing The testing phase includes different levels and methods of testing like unit testing, system test and so on. Based on the need, the testing methods are chosen and reports are prepared about bugs. After this process the system again goes to development phase for correction of errors and again tested. This process continues until the system is found to be error free. To ease the testing process debuggers or testing tools are available. 6. Maintenance After the system is found to be error free, it is delivered to the customer. But no real system would be error free even then. This is because when the system gets executed in real user system scenarios, there would be possibilities of bugs and errors. This phase is called the maintenance phase and the errors in this are recorded. Then changes are to be made in the system accordingly and again testing phase comes into picture.

2.1 Objective
The project GAME CENTER is designed as an gaming portal to serve user as an entertainment application. It makes the leisure activities of a user more entertaining. User can jus login to the game center and play the desired game. The best part of the project is the design, which is such that, it can be used for other businesses, just by some minor change of codes. The project basically consists of : 1) A user panel where the user can choose to either go to the login panel or sign up panel. 2) A login panel where the user can enter his id and password to login to the game center. 3) The signup panel where an unregistered user can provide his/her information and register himself/herself to the game center. 4) Tic tac toe and Battle pong games.

Page 13

2.2 Analysis
2.2.1System Analysis

The first essential or vital thing required for any software development is system. So a careful analysis has to be made about the system requirement needed for the development of the product. The object of the analysis activity in this project perspective is to develop structured system specifications of the needs and requirements specified by a user. It describes what the proposed system will do independent of the technology, which will be used to implement these requirements. In System Analysis we have to determine whether the variation we observe is really from the customer responses to the survey and to determine how much of the variation is due to the questionnaire used to collect the user responses. Requirement for statistically analyzing a system would involve a process to determine the variations from the central location which is imperative to analyze the measurement accuracy taking into consideration factors of stability and linearity.

Role of System Analyst The system analyst is the person who guides the analysis, design, implementation and maintenance of a given system. In performing these four tasks, the analyst must always match the information system objectives with the goals of organization. The duties of the System Analyst are : He must determine the requirements of user of a new system so that during analysis they can discuss with users how to design a new system that meets the requirements. He has to provide different solutions to the problem, to satisfy user requirements. He must be able to find out the details about the system itself. To do this, the analyst will have to look at such things as forms and data used by the organization. He must be able to work in environment having considerable ambiguity and uncertainty.

Page 14

He must be creative and imaginative in producing new solutions to meet user requirements.

2.2.2 Requirement Analysis It is basically an organization's understanding of a user or potential client's system requirements and dependencies at a particular point in time, usually prior to any actual design or development work. It's a two-way insurance policy that assures that both the client and the organization understand the other's requirements from that perspective at a given point in time.

2.2.2.1 Functional Requirements An User view Module contents should be: Entries should be made user-friendly. It should contain a unique category name. All the necessary requirements should be filled.

A Category Module contents should be: User should be provided an attractive and good number of information about the required entity. A good number of entries as per the category should be provided.

2.2.2.2 Non-Functional Requirements Non-functional requirements. o In Performance requirements the server should be handle any number of clients and fast access service. o In the Security requirements we have to mention the security at large level. This can be done by defining roles of each member like administrator, users or
Page 15

requirements

contain

performance

requirements

and

security

others. By this we can provide high level of security. One option is to implement the concept of Sessions. But by sessions, we cannot maintain a state always. So for higher security purpose, we define Roles and Membership.

2.2.2.3 Hardware Requirements Processor Pentium III / IV Processor or above RAM 256 MB RAM or higher Hard Disk Space For Installation: 800 MB Available: 10 GB or more Other Peripherals Mouse and Keyboard

2.2.2.4 Software Requirements Operating System Windows 2000 or above Database Software SQLyog Enterprise V.6.03 Java Environment Jdk1.3 or higher version Other Essentials

2.2.3 Feasibility Analysis

Many feasibility studies are disillusions for both users and analysts. The study often done is that when the feasibility of a document is being prepared, the analyst is in a position to evaluate solution. Most studies tend to overlook the confusion inherent in system development. If the feasibility study is to serve as a decision document, it must answer three questions: 1. Is there a new and better way to do the job that will benefit the user? 2. What are the costs and saving of the alternative(s)? 3. What is recommended?
Page 16

The most successful system projects are not necessarily the biggest or most visible in a business but rather those that truly meet user expectations. Most projects fail because of inflated expectation than for any other reason.

Feasibility Study Software feasibility has five solid dimensions: 2.2.3.1 Technical Feasibility It centers on the existing computer system and to what extent it can support the proposed addition. But since earlier, all the work was manual and no system existed, so the system proposed is technically feasible. A study of function, performance and constraints that may affect the ability to achieve an acceptable system is a major factor while making a project. The new system should be brought according to the specification of the product being designed. It is the most difficult area to assess because objective's functions and performance not clear. 2.2.3.2 Legal Feasibility Legal feasibility means that the software developed is legal. It approves that the software is not violating any governmental constraints and it is following all legal laws. Since it is developed for use within a particular area only, it cannot violate any legal laws. Therefore, it is said to be legally feasible. 2.2.3.3 Operational Feasibility This study helps us in finding whether the work to be done will be operational with the available staff and within the given time. The staff is fully capable of handling information system. As the problem is worth solving because the manual work is very inefficient and the statement of the problem gives us clue that there is a solution to it and also pretty good chances for it to work.

Page 17

The software has been made in such a way that it becomes easier for the user to answer queries being asked. This will facilitate easy use and adoptability of the system. Based on this, it was felt that the proposed system would be operationally feasible. 2.2.3.4 Economic Feasibility It is used to measure the cost effectiveness of a project which is commonly known as costbenefit analysis. The cost encompasses both designing and installing the system. It includes user training, updating the physical facilities & documenting. Cost is most easily determined when the receipts if the systems are tangible and measurable. An additional factor to consider is the cost of the study design and requirements. System Performance criteria are evaluated against the cost of each system to determine which system is likely to be the most cost effective and also meets the performance requirements. The project is also economically feasible as the only requirement involving expenses are related to the cost of buying a new system and a printer for the hard copies. And the maintenance involved in this is only the maintenance of the computer and that does not cost much. So according to the requirements the system is economically fit. 2.2.3.5 Behavioral Feasibility Behavioral feasibility is an estimate of how strong reaction the user staff is likely to have towards the development of a computer system. Since this project lightens the burden of the manual work in the cell, so the end users of the software will always be encouraging towards the use of computer. Also, no jobs are going to be replaced in this case.

2.3

Design and Implementation

Design Design focuses on the high level design paradigms. These can be like what programs are needed and how are they going to interact, the low-level design (how the individual programs are going to work), interface design (what are the interfaces going to look like)
Page 18

and data design (what data will be required). These phases are crucial and the most concentrated phases of Design. During these phases, the software's overall structure is defined. Design is a very crucial in the whole development cycle. Any glitch in the design phase could be very expensive to solve in the later stage of the software development. Much care is taken during this phase. If a well structured and

analyzed design document is prepared it would reduce the time taken in the coming steps. The logical system of the product is developed in this phase. The system design is most creative and challenging phase of the system design life cycle. Analysis phase is used to design the logical model of the system and system design the physical model of the system. In this phase, system designer designs. Implementation This is the phase where actual development of the system takes place. That is based on the Design Doccuments prepared in the earlier phase.In this phase the designs are translated into code. Computer programs are written using a conventional programming language or an application generator. In other words the code is converted into executables in this phase after code generation. This is the phase when the system gets live. The above software development process are all vital for a system to get developed with quality and thus to achieve customer satisfaction which is the main objective of any software development process. Programming tools like Compilers, Interpreters, and Debuggers are used to generate the code. Different high level programming languages like C, C++, Pascal, and Java are used for coding. With respect to the type of application, the right programming language is chosen. Then the code is written in the programming technology chosen. Implementation is an ongoing process and can be achieved by one of the following methods:

Page 19

1) Total Conversion The system is completely replaced by the new system! From the date when the new system software is implemented all the work of old manual system is directly switched to the new system. 2) Gradual Switch Over In Gradual Switch over some of the work is carried out on the old system and some is carried out on the new system and gradually the shifting of the entire work load on the new system is carried out. 3) Parallel conversion Conversion is the process of changing from the old system to the new one. In the implementation of my project I have used the parallel conversion method in which I run both systems in parallel. Under this approach user is free to operate the old system in the usual manner but they also start using the new system. This method is the safest one because it ensures that in case of any problem in using the new system, the user can still fall back to the old system without loss of time and money. 4) Maintenance Maintenance is the process of eliminating errors in the working system during its working life and to tune the system to any variation in working environment. By proper maintenance I can continue to bring the system to new standards. As my project is error free and produce no bugs for valid data, but I use feature to detect the errors and produce error messages understand by the experienced user and non programmer user.

Page 20

2.3.1 Snapshots 1. Main Panel

Screenshot No. 1

This is the main window of the game center which will be displayed when the user opens the application. Through this window the user can either log in to the game center , an unregistered user can sign up to the game center , get help , exit from the application etc.

Page 21

Sign Up Panel

Screenshot No.2

This is the sign up window which will be displayed when a user clicks on the sign up button of the main window or the sign up button of the login window. An unregistered user can register to the game center by giving his/her information in this panel.

Page 22

Login Panel

Screenshot No. 3

This is the login window which will be displayed when the user clicks on the login button of the main window. The user can login to the game center and play the games by entering the Username and password in this window. An option for signing up is also given here for a user who is not registered to the game center.

Page 23

Profile Panel

Screenshot No.4

This is the profile window which is displayed when a user sucessfully logs in to the game center by giving the correct username and password. In this window, the user can choose to play any one of the games i.e. Tic Tac Toe or Battle Pong.

Page 24

Tic Tac Toe

Screenshot No.5

The above window shows the tic tac toe game which will be displayed when the user clicks on the tic tac toe button on the profile window. The above snapshot shows that the game is a tie , i.e. none of the players have won.

Page 25

Screenshot No.6

The above screenshot shows that the player 0 has won the game by making a diagonal of three consecutive 0s.

Page 26

Screenshot No.7

The above screenshot shows that the player X has won the game by making a diagonal of three consecutive xs.

Page 27

Battle Pong

Screenshot No.8

The above screenshot shows the Battle Pong game which will be displayed when a user clicks on the battle pong button on the profile window. The above snapshot shows the game being played.

Page 28

Edit Panel

Screenshot No.9

The above screenshot shows the edit panel which will be displayed when the user clicks on the edit button. The user can alter his/her profile information by entering the relevant information in this window.

Page 29

Close Account Panel

Screenshot No.10

The above screenshot shows the close account panel. The user can enter his/her name to close the account. 2.3.2 Database Table

The above screenshot shows the database table of the Game Center. The table contains the registration information of the registered users and is checked everytime a user wants to login.

Page 30

2.3.3 Source Code Start Code import java.awt.*; import java.sql.SQLException; import javax.swing.*; public class start implements ActionListener { JMenuBar menubar; JMenu menu0,menu1,menu2,menu3,menu4; JMenuItem m0,m1,m2,m3,m4, m5,m6,m7,m8,m9,m10,m11; JButton bt1,bt2,bt4,bt5,bt6,bt8,bt9; JFrame f; JPanel p,p1,p2,p3,p4; ImageIcon it1,it2,it4,it5,it6,i1,i2,i3,i4,i5,i6,i7,i8; JToolBar t; JLabel l,l1,l2,l3,l4,l5; public start() { f=new JFrame("Game Center"); menubar=new JMenuBar(); menu0=new JMenu("Home"); JMenu("Help"); menu1=new JMenu("Account"); menu2=new

menu3=new JMenu("About"); menu4=new JMenu("Contact us"); p=new JPanel(); t=new JToolBar(); m0=new JMenuItem("Home"); m2=new JMenuItem("New"); m4=new JMenuItem("Delete"); m7=new JMenuItem("Key Map"); m1=new JMenuItem("Exit"); m3=new JMenuItem("Edit"); m5=new JMenuItem("Report Bug"); m6=new JMenuItem("Register Complaint");
Page 31

m9=new JMenuItem("The Bank"); m8=new JMenuItem("The Application"); m10=new JMenuItem("Via Phone"); m11=new JMenuItem("Via Mail"); it1=new ImageIcon("D:/GC/login.jpg"); it2=new ImageIcon("D:/GC/signup.jpg"); it4=new ImageIcon("D:/GC/email.jpg"); it5=new ImageIcon("D:/GC/help.jpg");it6=new ImageIcon("D:/GC/contactus.jpg"); i1=new ImageIcon("D:/GC/main.jpg"); i2=new ImageIcon("D:/GC/tictac.jpg"); i4=new ImageIcon("D:/GC/aboutus.jpg"); i6=new ImageIcon("D:/GC/title.jpg"); i3=new ImageIcon("D:/GC/battle.jpg"); i5=new ImageIcon("D:/GC/exit.jpg");

i8=new ImageIcon("D:/GC/label.jpg");

bt1=new JButton(it1); bt2=new JButton(it2); bt4=new JButton(it4); bt5=new JButton(it5); bt6=new JButton(it6);bt8=new JButton(i4); bt9=new JButton(i5); l=new JLabel(i6);l1=new JLabel(i1); l2=new JLabel(i2); l3=new JLabel(i3); l4=new JLabel(i7);l5=new JLabel(i8); l.setSize(50, 60); l1.setSize(100, 100); l2.setSize(100,100); l3.setSize(100,100); menubar.add(menu0); menubar.add(menu1); menubar.add(menu2); menubar.add(menu4); menubar.add(menu3); menu0.add(m0); menu0.add(m1); menu1.add(m2); menu1.add(m3);menu1.add(m4); menu2.add(m5); menu2.add(m6);menu2.add(m7); menu3.add(m8); menu3.add(m9); menu4.add(m10); menu4.add(m11); t.add(bt1);t.addSeparator(); t.add(bt2);t.addSeparator(); t.add(bt4);t.addSeparator(); t.add(bt5);t.addSeparator();t.add(bt6);t.addSeparator(); t.add(bt8);t.addSeparator();
Page 32

t.add(bt9); bt1.addActionListener(this);bt2.addActionListener(this); bt4.addActionListener(this); bt5.addActionListener(this);bt6.addActionListener(this); bt8.addActionListener(this); bt9.addActionListener(this); m0.addActionListener(this); m1.addActionListener(this); m2.addActionListener(this); m3.addActionListener(this); m4.addActionListener(this); m5.addActionListener(this); m6.addActionListener(this); m7.addActionListener(this); m8.addActionListener(this); m9.addActionListener(this); m10.addActionListener(this); m11.addActionListener(this); bt1.setActionCommand("Login");bt2.setActionCommand("Signup"); bt4.setActionCommand("Email"); bt5.setActionCommand("Help");bt6.setActionCommand("Contact"); bt8.setActionCommand("About"); bt9.setActionCommand("Exit"); m0.setActionCommand("Home"); m1.setActionCommand("Exit"); m2.setActionCommand("Signup");m3.setActionCommand("Edit"); m4.setActionCommand("Delete"); m5.setActionCommand("Trouble1"); m6.setActionCommand("Trouble2");m7.setActionCommand("Help"); m8.setActionCommand("About");m9.setActionCommand("Signup"); m10.setActionCommand("Contact");m11.setActionCommand("Email"); t.setFloatable(false);t.setRollover(true); menubar.setBackground(Color.ORANGE); menubar.setBounds(0, 0, 1059, 800); menubar.setForeground(Color.GREEN); f.setJMenuBar(menubar); f.add(t,"North");
Page 33

p.add(l5); f.add(p); f.setSize(1280, 760); f.setVisible(true); } public static void main(String args[]) { new start(); } public void actionPerformed(ActionEvent e) {String str=e.getActionCommand(); System.out.println(str); if(str=="Home") {new start(); f.setVisible(false); } else if(str=="Edit") {f.setVisible(false); new home(); } else if(str=="Delete") { f.setVisible(false); new home(); } else if(str=="Login") { f.setVisible(false); new home();} else if(str=="Signup") { f.setVisible(false); try { new new_user();} catch (SQLException e1)
Page 34

{ e1.printStackTrace();} } else if(str=="About") { JOptionPane.showMessageDialog(null,"This Bank Application has been develpoed in the Java Environment.","!! About !!",JOptionPane.INFORMATION_MESSAGE); } else if(str=="Email") {JOptionPane.showMessageDialog(null,"For any Queries or Suggestions , Mail us at : jigsawjagrit@hotmail.com","E-Mail",JOptionPane.INFORMATION_MESSAGE); } else if(str=="Help") new help(); else if(str=="Trouble1") {JOptionPane.showMessageDialog(null,"To report a Bug in the Application , Mail us at : arlcmpreg@hotmail.com","!! Report Bug !!",JOptionPane.INFORMATION_MESSAGE);} else if(str=="Trouble2") {JOptionPane.showMessageDialog(null,"To Register your Complaint regarding any issue , Mail us at : arlcmpreg@hotmail.com","!! Register Your Complaint!!",JOptionPane.INFORMATION_MESSAGE);} else if(str=="Contact") { JOptionPane.showMessageDialog(null,"Mr.Jagrit Makhija : +919928834742","Phone",JOptionPane.INFORMATION_MESSAGE); } else if(str=="Exit") f.setVisible(false); }} Home.java import java.awt.*; import java.io.IOException; import java.sql.*; import java.util.*; import javax.swing.*;
Page 35

public class home implements ActionListener { JMenuBar menubar; JMenu menu1,menu2,menu3,menu4; JMenuItem m0,m1,m2,m3,m4, m5; JDesktopPane jdp;JLabel l1,l2,l3,l4; JTextField t1,t2; JButton b1,b2; JFrame f; JPanel p,p2,p3,p4,p5,p6,p7; ImageIcon i,i1,i2; JToolBar t; public home() { f=new JFrame("Gamer Login"); menubar=new JMenuBar(); menu1=new JMenu("Home"); menu2=new JMenu("Login");

menu3=new JMenu("About us"); menu4=new JMenu("Contact us"); p=new JPanel(new GridLayout(7, 1)); p2=new JPanel(new FlowLayout()); p4=new JPanel(new FlowLayout()); p6=new JPanel(new FlowLayout()); m0=new JMenuItem("Home"); p3=new JPanel(new FlowLayout()); p5=new JPanel(new FlowLayout()); p7=new JPanel(new FlowLayout());

m1=new JMenuItem("Exit");

m2=new JMenuItem("Sign Up"); m3=new JMenuItem("Company"); m4=new JMenuItem("Via Phone"); m5=new JMenuItem("Via Mail"); i=new ImageIcon("D:/GC/login.jpg"); i1=new ImageIcon("D:/GC/signup.jpg"); i2=new ImageIcon("D:/GC/title2.jpg");b1=new JButton(i); b2=new JButton(i1); t1=new JTextField(20); t2=new JPasswordField(20); l1=new JLabel("* Username:",JLabel.RIGHT); l2=new JLabel("* Password :",JLabel.RIGHT); l3=new JLabel("Not an existing Account Holder ??",JLabel.RIGHT); l4=new JLabel(i2); l4.setSize(100,100); menubar.add(menu1); menubar.add(menu2); menubar.add(menu3); menubar.add(menu4); menu1.add(m0); menu1.add(m1); menu2.add(m2); menu3.add(m3);
Page 36

menu4.add(m4); menu4.add(m5);b1.addActionListener(this); b2.addActionListener(this); m0.addActionListener(this); m1.addActionListener(this); m2.addActionListener(this); m3.addActionListener(this); m4.addActionListener(this); m5.addActionListener(this); b1.setActionCommand("Login"); b2.setActionCommand("Sign Up"); m0.setActionCommand("Home"); menubar.setBackground(Color.ORANGE); menubar.setBounds(0, 0, 1059, 800); menubar.setForeground(Color.DARK_GRAY);f.setJMenuBar(menubar); p2.add(l1); p2.add(t1); p3.add(l2); p3.add(t2); p4.add(b1); p5.add(l3); p6.add(b2); p7.add(l4); p.add(p2); p.add(p3); p.add(p4); p.add(p5); p.add(p6); p.add(p7); f.add(p);f.setBounds(0, 0, 850, 680); f.setFocusable(true); f.setVisible(true);f.setResizable(true); } public static void main(String args[]) {new home(); } public void actionPerformed(ActionEvent e) {String sp=e.getActionCommand(); if(sp=="Home") { new start(); f.setVisible(false); } else if(sp=="Exit") f.setVisible(false); else if(sp=="Sign Up") { f.setVisible(false);try { new_user n=new new_user(); } catch (SQLException e1) {e1.printStackTrace(); }} else if(sp=="Company")
Page 37

{JOptionPane.showMessageDialog(null,"Chronic Softwares Pvt. Ltd.","CO.",JOptionPane.INFORMATION_MESSAGE); } else if(sp=="Via Phone") { JOptionPane.showMessageDialog(null,"Mr.Jagrit Makhija : +919928834742 Mr.Janardan Bhatt : +917596728861 ","phone",JOptionPane.INFORMATION_MESSAGE); } else if(sp=="Via Mail") {JOptionPane.showMessageDialog(null,"For any Queries or Suggestions , Mail us at : jigsawjagrit@hotmail.com lp_jana@hotmail.com","EMail",JOptionPane.INFORMATION_MESSAGE); } else if(sp=="Login") {String s=t1.getText(); { Connection cn=database.myConnection(); String name = null; try { PreparedStatement ps=cn.prepareStatement("select name from account where password=? and status=?"); ps.setString(1, t2.getText()); ps.setInt(2,1); ResultSet rs=ps.executeQuery(); int str=0; int bal=0; while(rs.next()) name=rs.getString("name"); int a=Integer.parseInt(t1.getText()); if(str==a) { try { profile_acc p=new profile_acc(name); f.setVisible(false); } catch (IOException e1) e1.printStackTrace(); } else
Page 38

{JOptionPane.showMessageDialog(null, "!!! Closed Account or Incorrect Match !!!", "Warning", JOptionPane.ERROR_MESSAGE); t1.setText(null); t2.setText(null); } } catch (Exception e1) { e1.printStackTrace(); } } else { JOptionPane.showMessageDialog(null, "!! Account No. must be in digits !!", "Warning", JOptionPane.ERROR_MESSAGE); t1.setText(null); t2.setText(null); }} }} Profile_acc.java import java.awt.*; import java.sql.*; import java.io.*; import javax.swing.*; public class profile_acc implements ActionListener { JMenuBar menubar;JMenu menu1,menu2;JMenuItem m1,m5,m6;JFrame ff;JLabel l,l1,l2; JButton b1;ImageIcon i,i1,i2;JPanel p,p1,p2,p3,p4;String path,name;int acc,bal; public profile_acc(String s) throws IOException {ff=new JFrame("Your Profile"); name=s; menubar=new JMenuBar(); menu1=new JMenu("Options"); menu2=new JMenu("Transaction"); p=new JPanel(new GridLayout(4,1)); p1=new JPanel(new FlowLayout()); p2=new JPanel(new FlowLayout()); p3=new JPanel(new FlowLayout()); p4=new JPanel(new FlowLayout());
Page 39

m1=new JMenuItem("Close Account"); m6=new JMenuItem("Edit Account"); i=new ImageIcon("D:/Bank/I/logout.jpg"); i1=new ImageIcon("D:/Bank/I/arial2.jpg"); i2=new ImageIcon("D:/Bank/I/profile.jpg");b1=new JButton(i); l=new JLabel(i1); l1=new JLabel(i2); l2=new JLabel(); l.setBackground(Color.pink); l.setForeground(Color.black); l.setBounds(200,10,20,5); l1.setBounds(0,300,40,80); l2.setText("Welcome Mr./Mrs. "+name); menubar.add(menu1); menubar.add(menu2);menu1.add(m1); menu1.add(m6); m1.addActionListener(this); m6.addActionListener(this); b1.addActionListener(this); b1.setActionCommand("Logout");menubar.setBackground(Color.BLUE); ff.setJMenuBar(menubar);p1.add(l); p2.add(l2); p3.add(l1); p4.add(b1); p.add(p1); p.add(p2); p.add(p3); p.add(p4);ff.add(p); ff.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); ff.pack(); ff.setLocation(0,0); ff.setBounds(0, 0, 800, 600); ff.setBackground(Color.ORANGE); ff.setVisible(true);} public static void main(String args[]) throws IOException {} public void actionPerformed(ActionEvent e) { String s=e.getActionCommand(); if(s=="Close Account") { ff.setVisible(false); new close(acc,name,bal); } else if(s=="Logout") { ff.dispose(); new start();} else if(s=="BPong")
Page 40

{ ff.dispose();new game(); } else if(s=="TicTac") {ff.dispose();new TicTacToe(); } else if(s=="Edit Account") {ff.setVisible(false); new edit(acc,name,bal);}}} TicTacToe.java import java.awt.*; import java.applet.*; import java.awt.event.*; public class TicTacToe extends Applet implements ActionListener {private static final long serialVersionUID = 1L; Label header = new Label("Player X make your move!", Label.CENTER); Button typeButton = new Button();Panel playPanel = new Panel(); Button[][] box = new Button[3][3];boolean moved = false;boolean firstPlayer = true; boolean gameType = true;boolean playEnabled = true;int[] score = new int[3]; int turnNum = 0;public void init() {playPanel.setLayout(new GridLayout(3,3)); for (int i = 0; i < 3; i++) {for (int j = 0; j < 3; j++) { box[i][j] = new Button("");box[i][j].addActionListener(this); playPanel.add(box[i][j]);score[i] = 0;}} typeButton = new Button("Switch Game Type to Single Player"); typeButton.addActionListener(this);this.setLayout(new BorderLayout()); this.add("North", header);this.add("Center",playPanel);this.add("South",typeButton);
Page 41

this.setSize(new Dimension(250, 250));this.setFont(new Font("TimesRoman", Font.PLAIN, 24)); header.setFont(new Font("TimesRoman", Font.PLAIN, 12)); typeButton.setFont(new Font("TimesRoman", Font.PLAIN, 12)); for (int i = 0; i < 3; i++) {for (int j = 0; j < 3; j++) {box[i][j].setBackground(null);}}} public void actionPerformed(ActionEvent e) {String blank[] = new String[9];int index = 0;String turn = "O";String turn2 = "X"; for (int i = 0; i < 3; i++) {for (int j = 0; j < 3; j++) {if(e.getSource() == box[i][j] && box[i][j].getLabel().equals("") && playEnabled) {go(i,j);moved = false; if (!gameType && playEnabled) {for (int k = 0; k < 3; k++) {for (int l = 0; l < 3; l++) {if (box[k][l].getLabel() == "") {blank[index] = Integer.toString(k) + Integer.toString(l);index++;}}} for (int k = 0; k < 2; k++) {if (k == 1) {turn = "X"; turn2 = "O";} if (!moved && playEnabled) {if (box[0][0].getLabel().equals("") && box[0][1].getLabel().equals("") && box[0][2].getLabel().equals("") && box[1][0].getLabel().equals("") &&
Page 42

box[1][1].getLabel().equals(turn) && box[1][2].getLabel().equals(turn2) && box[2][0].getLabel().equals("") && box[2][1].getLabel().equals(turn2) && box[2][2].getLabel().equals("")) go(2, 2); else if (box[0][0].getLabel().equals(turn) && box[0][1].getLabel().equals("") && box[0][2].getLabel().equals("") && box[1][0].getLabel().equals("") && box[1][1].getLabel().equals(turn2) && box[1][2].getLabel().equals("") && box[2][0].getLabel().equals("") && box[2][1].getLabel().equals("") && box[2][2].getLabel().equals(turn2)) go(0, 2); else if (box[0][0].getLabel().equals("") && box[0][1].getLabel().equals("") && box[0][2].getLabel().equals(turn2) && box[1][0].getLabel().equals("") && box[1][1].getLabel().equals(turn) && box[1][2].getLabel().equals("") && box[2][0].getLabel().equals(turn2) && box[2][1].getLabel().equals("") && box[2][2].getLabel().equals("")) go(0, 1); else if (box[0][0].getLabel().equals(turn2) && box[0][1].getLabel().equals(turn) && box[0][2].getLabel().equals("") && box[1][0].getLabel().equals("") && box[1][1].getLabel().equals(turn) && box[1][2].getLabel().equals(turn2) && box[2][0].getLabel().equals("") && box[2][1].getLabel().equals(turn2) && box[2][2].getLabel().equals("")) go(2, 0); else if (box[0][0].getLabel().equals(turn2) && box[0][1].getLabel().equals("") && box[0][2].getLabel().equals("") && box[1][0].getLabel().equals("") && box[1][1].getLabel().equals(turn) && box[1][2].getLabel().equals("") && box[2][0].getLabel().equals("") && box[2][1].getLabel().equals(turn2) && box[2][2].getLabel().equals("")) go(1, 2); else if (box[0][0].getLabel().equals("") && box[0][1].getLabel().equals(turn2) && box[0][2].getLabel().equals("") && box[1][0].getLabel().equals("") && box[1][1].getLabel().equals(turn) && box[1][2].getLabel().equals("") && box[2][0].getLabel().equals("") && box[2][1].getLabel().equals("") && box[2][2].getLabel().equals(turn2)) go(1, 0); else if (box[0][0].getLabel().equals("") && box[0][1].getLabel().equals("") && box[0][2].getLabel().equals(turn2) && box[1][0].getLabel().equals("") && box[1][1].getLabel().equals(turn) && box[1][2].getLabel().equals("") && box[2][0].getLabel().equals("") && box[2][1].getLabel().equals(turn2) && box[2][2].getLabel().equals("")) go(1, 0); else if (box[0][0].getLabel().equals("") && box[0][1].getLabel().equals("") && box[0][2].getLabel().equals("") && box[1][0].getLabel().equals("") &&
Page 43

box[1][1].getLabel().equals(turn) && box[1][2].getLabel().equals(turn2) && box[2][0].getLabel().equals(turn2) && box[2][1].getLabel().equals("") && box[2][2].getLabel().equals("")) go(0, 1); else if (box[0][0].getLabel().equals(turn2) && box[0][1].getLabel().equals("") && box[0][2].getLabel().equals("") && box[1][0].getLabel().equals("") && box[1][1].getLabel().equals(turn) && box[1][2].getLabel().equals("") && box[2][0].getLabel().equals("") && box[2][1].getLabel().equals("") && box[2][2].getLabel().equals("")) go(2, 2); else if (box[0][0].getLabel().equals(turn2) && box[0][1].getLabel().equals(turn) && box[0][2].getLabel().equals("") && box[1][0].getLabel().equals("") && box[1][1].getLabel().equals(turn) && box[1][2].getLabel().equals("") && box[2][0].getLabel().equals("") && box[2][1].getLabel().equals(turn2) && box[2][2].getLabel().equals("")) go(2, 0); else if (box[0][0].getLabel().equals("") && box[0][1].getLabel().equals(turn) && box[0][2].getLabel().equals(turn2) && box[1][0].getLabel().equals("") && box[1][1].getLabel().equals(turn) && box[1][2].getLabel().equals("") && box[2][0].getLabel().equals("") && box[2][1].getLabel().equals(turn2) && box[2][2].getLabel().equals("")) go(2, 2); else if (box[0][0].getLabel().equals("") && box[0][1].getLabel().equals("") && box[0][2].getLabel().equals("") && box[1][0].getLabel().equals(turn) && box[1][1].getLabel().equals(turn) && box[1][2].getLabel().equals(turn2) && box[2][0].getLabel().equals(turn2) && box[2][1].getLabel().equals("") && box[2][2].getLabel().equals("")) go(2, 2); else if (box[0][0].getLabel().equals(turn) && box[0][1].getLabel().equals(turn2) && box[0][2].getLabel().equals("") && box[1][0].getLabel().equals("") && box[1][1].getLabel().equals(turn) && box[1][2].getLabel().equals("") && box[2][0].getLabel().equals("") && box[2][1].getLabel().equals("") && box[2][2].getLabel().equals(turn2)) go(1, 0); else if (box[0][0].getLabel().equals(turn) && box[0][1].getLabel().equals("") && box[0][2].getLabel().equals(turn2) && box[1][0].getLabel().equals("") && box[1][1].getLabel().equals("") && box[1][2].getLabel().equals("") && box[2][0].getLabel().equals("") && box[2][1].getLabel().equals("") && box[2][2].getLabel().equals("")) go(2, 2); else if (box[0][0].getLabel().equals(turn) && box[0][1].getLabel().equals("") && box[0][2].getLabel().equals("") && box[1][0].getLabel().equals("") &&
Page 44

box[1][1].getLabel().equals("") && box[1][2].getLabel().equals("") && box[2][0].getLabel().equals(turn2) && box[2][1].getLabel().equals("") && box[2][2].getLabel().equals("")) go(2, 2); else if (box[0][0].getLabel().equals(turn2) && box[0][1].getLabel().equals("") && box[0][2].getLabel().equals(turn) && box[1][0].getLabel().equals("") && box[1][1].getLabel().equals("") && box[1][2].getLabel().equals("") && box[2][0].getLabel().equals("") && box[2][1].getLabel().equals("") && box[2][2].getLabel().equals("")) go(2, 0); else if (box[0][0].getLabel().equals("") && box[0][1].getLabel().equals(turn2) && box[0][2].getLabel().equals(turn) && box[1][0].getLabel().equals("") && box[1][1].getLabel().equals(turn) && box[1][2].getLabel().equals("") && box[2][0].getLabel().equals(turn2) && box[2][1].getLabel().equals("") && box[2][2].getLabel().equals("")) go(1, 2); else if (box[0][0].getLabel().equals(turn2) && box[0][1].getLabel().equals("") && box[0][2].getLabel().equals("") && box[1][0].getLabel().equals("") && box[1][1].getLabel().equals("") && box[1][2].getLabel().equals("") && box[2][0].getLabel().equals(turn) && box[2][1].getLabel().equals("") && box[2][2].getLabel().equals("")) go(0, 2); else if (box[0][0].getLabel().equals("") && box[0][1].getLabel().equals("") && box[0][2].getLabel().equals(turn2) && box[1][0].getLabel().equals(turn2) && box[1][1].getLabel().equals(turn) && box[1][2].getLabel().equals("") && box[2][0].getLabel().equals(turn) && box[2][1].getLabel().equals("") && box[2][2].getLabel().equals("")) go(2, 1); else if (box[0][0].getLabel().equals("") && box[0][1].getLabel().equals("") && box[0][2].getLabel().equals("") && box[1][0].getLabel().equals("") && box[1][1].getLabel().equals("") && box[1][2].getLabel().equals("") && box[2][0].getLabel().equals(turn) && box[2][1].getLabel().equals("") && box[2][2].getLabel().equals(turn2)) go(0, 2); else if (box[0][0].getLabel().equals("") && box[0][1].getLabel().equals("") && box[0][2].getLabel().equals(turn2) && box[1][0].getLabel().equals("") && box[1][1].getLabel().equals("") && box[1][2].getLabel().equals("") && box[2][0].getLabel().equals("") && box[2][1].getLabel().equals("") && box[2][2].getLabel().equals(turn)) go(0, 0); else if (box[0][0].getLabel().equals(turn2) && box[0][1].getLabel().equals("") && box[0][2].getLabel().equals("") && box[1][0].getLabel().equals("") &&
Page 45

box[1][1].getLabel().equals(turn) && box[1][2].getLabel().equals(turn2) && box[2][0].getLabel().equals("") && box[2][1].getLabel().equals("") && box[2][2].getLabel().equals(turn)) go(2, 1); else if (box[0][0].getLabel().equals("") && box[0][1].getLabel().equals("") && box[0][2].getLabel().equals("") && box[1][0].getLabel().equals("") && box[1][1].getLabel().equals("") && box[1][2].getLabel().equals("") && box[2][0].getLabel().equals(turn2) && box[2][1].getLabel().equals("") && box[2][2].getLabel().equals(turn)) go(0, 0); else if (box[0][0].getLabel().equals(turn2) && box[0][1].getLabel().equals("") && box[0][2].getLabel().equals("") && box[1][0].getLabel().equals("") && box[1][1].getLabel().equals(turn) && box[1][2].getLabel().equals("") && box[2][0].getLabel().equals("") && box[2][1].getLabel().equals(turn2) && box[2][2].getLabel().equals(turn)) go(1, 2); else if (box[0][0].getLabel().equals("") && box[0][1].getLabel().equals("") && box[0][2].getLabel().equals(turn) && box[1][0].getLabel().equals("") && box[1][1].getLabel().equals(turn2) && box[1][2].getLabel().equals("") && box[2][0].getLabel().equals("") && box[2][1].getLabel().equals("") && box[2][2].getLabel().equals("")) go(2, 0); else if (box[0][0].getLabel().equals("") && box[0][1].getLabel().equals("") && box[0][2].getLabel().equals("") && box[1][0].getLabel().equals("") && box[1][1].getLabel().equals(turn2) && box[1][2].getLabel().equals("") && box[2][0].getLabel().equals(turn) && box[2][1].getLabel().equals("") && box[2][2].getLabel().equals("")) go(0, 2); else if (box[0][0].getLabel().equals("") && box[0][1].getLabel().equals(turn2) && box[0][2].getLabel().equals("") && box[1][0].getLabel().equals(turn2) && box[1][1].getLabel().equals(turn) && box[1][2].getLabel().equals(turn) && box[2][0].getLabel().equals("") && box[2][1].getLabel().equals("") && box[2][2].getLabel().equals("")) go(2, 2); else if (box[0][0].getLabel().equals("") && box[0][1].getLabel().equals(turn2) && box[0][2].getLabel().equals("") && box[1][0].getLabel().equals(turn2) && box[1][1].getLabel().equals(turn) && box[1][2].getLabel().equals("") && box[2][0].getLabel().equals("") && box[2][1].getLabel().equals(turn) && box[2][2].getLabel().equals("")) go(2, 2); else if (box[0][0].getLabel().equals("") && box[1][1].getLabel().equals(turn) && box[2][2].getLabel().equals(turn)) go(0,0);
Page 46

else if (box[1][1].getLabel().equals("") && ((box[0][0].getLabel().equals(turn) && box[2][2].getLabel().equals(turn)) || (box[0][2].getLabel().equals(turn) && box[2][0].getLabel().equals(turn)))) go(1,1); else if (box[2][2].getLabel().equals("") && (box[0][0].getLabel()).equals(turn) && box[1][1].getLabel().equals(turn)) go(2,2); else if (box[0][2].getLabel().equals("") && box[1][1].getLabel().equals(turn) && box[2][0].getLabel().equals(turn)) go(0,2); else if (box[2][0].getLabel().equals("") && box[1][1].getLabel().equals(turn) && box[0][2].getLabel().equals(turn)) go(2,0); else{for (int l = 0; l < index && !moved && playEnabled; l++) {if(blank[l].substring(0,1).equals("0") && box[1][Integer.parseInt(blank[l].substring(1))].getLabel().equals(turn) && box[2][Integer.parseInt(blank[l].substring(1))].getLabel().equals(turn)|| blank[l].substring(0,1).equals("1") && box[0][Integer.parseInt(blank[l].substring(1))].getLabel().equals(turn) && box[2][Integer.parseInt(blank[l].substring(1))].getLabel().equals(turn)|| blank[l].substring(0,1).equals("2") && box[0][Integer.parseInt(blank[l].substring(1))].getLabel().equals(turn) && box[1][Integer.parseInt(blank[l].substring(1))].getLabel().equals(turn)|| blank[l].substring(1).equals("0") && box[Integer.parseInt(blank[l].substring(0,1))][1].getLabel().equals(turn) && box[Integer.parseInt(blank[l].substring(0,1))][2].getLabel().equals(turn)|| blank[l].substring(1).equals("1") &&box[Integer.parseInt(blank[l].substring(0,1))][0].getLabel().equals(turn) && box[Integer.parseInt(blank[l].substring(0,1))][2].getLabel().equals(turn)|| blank[l].substring(1).equals("2") &&box[Integer.parseInt(blank[l].substring(0,1))][0].getLabel().equals(turn) && box[Integer.parseInt(blank[l].substring(0,1))][1].getLabel().equals(turn)) {go(Integer.parseInt(blank[l].substring(0,1)),Integer.parseInt(blank[l].substring(1)));}}}}} if (box[1][1].getLabel().equals("") && !moved && playEnabled) {go(1,1);} else if(!moved && playEnabled) {go(Integer.parseInt(blank[0].substring(0,1)),Integer.parseInt(blank[0].substring(1)));}}}
Page 47

else if((e.getSource() == box[i][j]) && !playEnabled) {newGame();} else if(e.getSource() == typeButton) {if (gameType) {gameType = false; typeButton.setLabel("Switch Game Type to Multi Player"); score[0] = 0;score[1] = 0;score[2] = 0;} else {gameType = true; typeButton.setLabel("Switch Game Type to Single Player");} firstPlayer = false; newGame();}}}} public void main(){} public void go(int y, int x) {moved = true;turnNum++; if (turnNum % 2 == 0 && !firstPlayer || turnNum % 2 == 1 && firstPlayer) box[y][x].setLabel("X"); else if (turnNum % 2 == 1 && !firstPlayer || turnNum % 2 == 0 && firstPlayer) box[y][x].setLabel("O"); if (!box[y][0].getLabel().equals("") && box[y][0].getLabel().equals(box[y][1].getLabel()) && box[y][1].getLabel().equals(box[y][2].getLabel())) { box[y][0].setBackground(Color.red);box[y][1].setBackground(Color.red); box[y][2].setBackground(Color.red);playEnabled = false;} else if (!box[0][x].getLabel().equals("") && box[0][x].getLabel().equals(box[1][x].getLabel()) && box[1][x].getLabel().equals(box[2][x].getLabel()))
Page 48

box[0][x].setBackground(Color.red);box[1][x].setBackground(Color.red); box[2][x].setBackground(Color.red);playEnabled = false;}

else if (!box[0][0].getLabel().equals("") && box[0][0].getLabel().equals(box[1][1].getLabel()) && box[1][1].getLabel().equals(box[2][2].getLabel())) { box[0][0].setBackground(Color.red);box[1][1].setBackground(Color.red);

box[2][2].setBackground(Color.red);playEnabled = false;} else if (!box[0][2].getLabel().equals("") && box[0][2].getLabel().equals(box[1][1].getLabel()) && box[1][1].getLabel().equals(box[2][0].getLabel())) { box[0][2].setBackground(Color.red);box[1][1].setBackground(Color.red); box[2][0].setBackground(Color.red);playEnabled = false;} if(!playEnabled) {header.setText("Player " + box[y][x].getLabel() + " wins! Click to begin a new game!"); if (!gameType) {if(box[y][x].getLabel().equals("X")) score[0]++; else score[2]++;}} else if(turnNum == 9) {header.setText("Cat's Game! Click to begin a new game!"); playEnabled = false; if (!gameType) score[1]++;} else if (gameType) {header.setText("Player " + (box[y][x].getLabel().equals("O") ? "X" : "O") + " make your move!");}}
Page 49

public void newGame() {turnNum = 0;playEnabled = true; for (int i = 0; i < 3; i++) {for (int j = 0; j < 3; j++) { box[i][j].setLabel(""); box[i][j].setBackground(null);}} if (gameType) header.setText(firstPlayer ? "Player O make your move!" : "Player X make your move!"); else header.setText("Player: " + Integer.toString(score[0]) + " Cat's: " + Integer.toString(score[1]) + " Computer: " + Integer.toString(score[2])); firstPlayer = firstPlayer ? false : true; if (!gameType && !firstPlayer) go(1,1);}} Battle Pong MyPanel.java import javax.swing.*; import java.awt.*; public class MyPanel extends JPanel{ int bx,by,p1x,p1y,p2x,p2y; public MyPanel( ){ bx=10; by=200; p1x = 0; p1y = 180; public void paintComponent(Graphics g) { p2x = 0; p2y = 180; }

super.paintComponent(g);

g.setColor(Color.GREEN);g.fillOval(bx, by, 15, 15);g.setColor(Color.BLACK); g.fillRoundRect(p1x, p1y, 10, 100, 10, 10);g.fillRoundRect(p2x+getWidth()-20, p2y, 10, 100, 10, 10); }}
Page 50

Game.java import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Game implements ActionListener{ JFrame myFrame; MyPanel myPanel; JLabel lb1, lb2;int score1;int score2;int val; boolean pad1=false, pad2=false; public Game() {score1 = 0;score2 = 0; initGUI();} private void initGUI( ) { myFrame = new JFrame();myPanel = new MyPanel(); lb1 = new JLabel("Player1 = 0"); lb2 = new JLabel("Player2 = 0");Container c = myFrame.getContentPane(); c.setLayout(new BorderLayout());myPanel.add(lb1);myPanel.add(lb2);c.add(myPanel); myFrame.setSize(500,500);myFrame.setVisible(true); myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); myFrame.addKeyListener(new KeyboradHandler());Timer t = new Timer(20,this); t.start();}public void actionPerformed(ActionEvent a) { determineBallDirection(); changeBallDirection(); myPanel.repaint(); } public class KeyboradHandler extends KeyAdapter { public void keyPressed(KeyEvent ke) {if(ke.getKeyCode()==ke.VK_DOWN)//move the paddle downward
Page 51

{if(myPanel.p2y != 365) myPanel.p2y += 5;} if(ke.getKeyCode()==ke.VK_UP)//move the paddle Upward {if(myPanel.p2y != 0) myPanel.p2y -= 5;} if(ke.getKeyCode()==ke.VK_Z)//move the paddle downward {if(myPanel.p1y != 365) myPanel.p1y += 5;} if(ke.getKeyCode()==ke.VK_A)//move the paddle Upward {if(myPanel.p1y != 0) myPanel.p1y -= 5;}}} public void determineBallDirection() { if(pad1==true && myPanel.by >= myPanel.getHeight()-15) { val=3; } else if(pad2==true && myPanel.by >= myPanel.getHeight()-15) {val=2; } else if(pad1==true && myPanel.by <= 0) val=1; else if(pad2==true && myPanel.by <= 0) val=4; if(myPanel.by > myPanel.p2y+40 && myPanel.by <= myPanel.p2y+80 && myPanel.bx>=(myPanel.getWidth()-40)) {val=4;pad2=true;pad1=false; } else if(myPanel.by >= myPanel.p2y && myPanel.by <= myPanel.p2y+40 && myPanel.bx>=(myPanel.getWidth()-40))
Page 52

{val=2;pad2=true;pad1=false; } else if(myPanel.by >= myPanel.p1y+40 && myPanel.by <= myPanel.p1y+80 && myPanel.bx<=10) { val=1;pad1=true;pad2=false; }

else if(myPanel.by >= myPanel.p1y && myPanel.by <= myPanel.p1y+40 && myPanel.bx<=10) { val=3; pad1=true; pad2=false; }

if(myPanel.bx >= myPanel.getWidth()) { score1++;val=7; }

else if(myPanel.bx < 0) {score2++;val=8; } } { switch(val) {case 1:myPanel.bx += 5;myPanel.by += 5; break; case 2: myPanel.bx -= 5;myPanel.by -= 5; break; case 3:myPanel.bx += 5;myPanel.by -= 5; break; case 4:myPanel.bx -= 5;myPanel.by += 5; break; case 7:myPanel.bx = 10;myPanel.by = 200;myPanel.p2y = 180;myPanel.p1y = 180; lb1.setText("Player 1 ="+ score1 +""); break; case 8:myPanel.bx = myPanel.getWidth()-40;myPanel.by = 200;myPanel.p2y = 180; myPanel.p1y = 180; lb2.setText("Player 2 ="+ score2 +""); break; } } public static void main(String args[]){
Page 53

public void changeBallDirection( )

Game game = new Game();}} New_User.java import java.awt.*; import javax.swing.*; import java.sql.*; import java.util.*; public class new_user implements ActionListener { JFrame f; JLabel l2,l3,l4,l6; JButton b1,b2,b3; JPanel p,p1,p2,p3,p4,p5,p6,p7,p8; JTextField t2,t3,t4,t6; ImageIcon i,i1,i2; int aa; public new_user()throws SQLException { Connection c=database.myConnection();

PreparedStatement ptt=c.prepareStatement("select* from account"); ResultSet r=ptt.executeQuery(); if(r.next()) { else aa=101; f=new JFrame("Sign Up"); p=new JPanel(new GridLayout(8,1)); p1=new JPanel(new FlowLayout()); p2=new JPanel(new FlowLayout()); p3=new JPanel(new FlowLayout()); p4=new JPanel(new FlowLayout()); p5=new JPanel(new FlowLayout()); p6=new JPanel(new FlowLayout()); p7=new JPanel(new FlowLayout()); p8=new JPanel(new FlowLayout()); i=new ImageIcon("D:/GC/save.jpg"); i1=new ImageIcon("D:/GC/cancel.jpg"); i2=new ImageIcon("D:/GC/close.jpg"); b1=new JButton(i); b2=new JButton(i1); b3=new JButton(i2); t2=new JTextField(20); t3=new JPasswordField(20);
Page 54

r.last(); aa=r.getInt("acc_no"); aa=aa+1; }

t4=new JTextField(20); l2=new JLabel("Name :

t6=new JTextField(20); ",JLabel.RIGHT); ",JLabel.RIGHT);

l3=new JLabel("Password :",JLabel.RIGHT); l4=new JLabel("Email : l6=new JLabel("Address :",JLabel.RIGHT);

b1.addActionListener(this); b2.addActionListener(this); b3.addActionListener(this); b1.setActionCommand("Save"); b2.setActionCommand("Cancel"); b3.setActionCommand("Close"); p2.add(l2);p2.add(t2); p3.add(l3);p3.add(t3); p4.add(l4);p4.add(t4); p5.add(l6);p5.add(t6); p7.add(b1);p7.add(b2);p7.add(b3); p.add(p1); p.add(p2); p.add(p3); p.add(p4); p.add(p5); p.add(p6); p.add(p8); p.add(p7); f.add(p); f.setSize(450, 600); f.setVisible(true); f.setResizable(false); } public static void main(String args[]) throws SQLException{} public void actionPerformed(ActionEvent e) { String str=e.getActionCommand(); if(str=="Save") { f.setVisible(false); String s2,s3,s4,s6,sa;int s5,st; boolean b,b1;s2=t2.getText(); { Pattern p=Pattern.compile("[A-Za-z \t]{1,}"); Matcher m=p.matcher(s2); b=m.matches(); System.out.print(b); } s3=t3.getText(); s4=t4.getText();s6=t6.getText(); st=1; boolean bb=s4.endsWith("@gmail.com"); boolean by=s4.endsWith("@yahoo.com"); boolean bh=s4.endsWith("@hotmail.com"); boolean br=s4.endsWith("@rediff.com"); boolean bt=(bb || by || bh|| br); if(b && bt) { Connection con=database.myConnection();
Page 55

try { PreparedStatement pstmt=con.prepareStatement("insert into account values(?,?,?,?,?)"); pstmt.setString(2, s2); pstmt.setString(3, s3);pstmt.setString(4, s4); pstmt.setString(6, s6); pstmt.setInt(7, st);pstmt.executeUpdate(); } catch (Exception e1) { e1.printStackTrace(); } new home(); } else { JOptionPane.showMessageDialog(null, "!!! Please insert suitable values. !!!", "Warning !!", JOptionPane.ERROR_MESSAGE); t2.setText(null); t3.setText(null); t4.setText(null); t6.setText(null); f.setVisible(true);} } else if(str=="Cancel") { t2.setText(null); t3.setText(null); t4.setText(null); t6.setText(null); }

else if(str=="Close") { f.setVisible(false); new home(); } }} Edit.java import javax.swing.*; import java.awt.*; import java.io.IOException; import java.sql.*; import java.util.*; public class edit implements ActionListener { JFrame f;JLabel l1,l2,l3,l4,l5,l6,l7,l8,l9; ImageIcon i1,i2,i3; boolean bs4,bs5,bs6,bs; JTextField t1,t2,t3,t4,t5,t6,ps,ps1,ps2;JButton b1,b2,b3; JPanel p,p1,p2,p3,p4,p5,p6,p7,p8,p9,po; String name; int acc,bal; public edit(int a,String n,int b) {name=n; acc=a; bal=b;f=new JFrame("edit"); l1=new JLabel("acc_no : ");
Page 56

l2=new JLabel("password"); l3=new JLabel("new password"); l4=new JLabel("re-enter password"); l5=new JLabel("name : "); l6=new JLabel("balance : "); l7=new JLabel("contact no : ");l8=new JLabel("email : "); l9=new JLabel("Address : "); t4=new JTextField(20);t4.setText(bal+"");t4.setEditable(false); i1=new ImageIcon("D:/Bank/I/save.jpg"); i2=new ImageIcon("D:/Bank/I/cancel.jpg"); i3=new ImageIcon("D:/Bank/I/close.jpg"); b1=new JButton(i1); b2=new JButton(i2); b3=new JButton(i3); ps=new JPasswordField(10);ps.setText(null); ps1=new JPasswordField(10);ps1.setText(null); ps2=new JPasswordField(10);ps2.setText(null); t1=new JTextField(10);t1.setText(acc+"");t1.setEditable(false); t2=new JTextField(10);t2.setText(name); t3=new JTextField(10);t3.setText(bal+"");t3.setEditable(false); t4=new JTextField(10); t5=new JTextField(10); t6=new JTextField(10); p=new JPanel(new GridLayout(10,1)); p1=new JPanel(); p2=new JPanel(); p3=new JPanel(); p4=new JPanel(); p5=new JPanel(); p6=new JPanel(); p7=new JPanel(); p8=new JPanel(); p9=new JPanel(); po=new JPanel(); p1.add(l1);p1.add(t1); p2.add(l5);p2.add(t2); p3.add(l2);p3.add(ps); p4.add(l3);p4.add(ps1); p5.add(l4);p5.add(ps2); p6.add(l6);p6.add(t3); p7.add(l7);p7.add(t4); p8.add(l8);p8.add(t5); p9.add(l9);p9.add(t6); po.add(b1);po.add(b2);po.add(b3); p.add(p1);p.add(p2);p.add(p3);p.add(p4);p.add(p5);p.add(p6);p.add(p7);p.add(p8);p.add(p9);p. add(po); f.add(p); b1.addActionListener(this); b1.setActionCommand("Save"); b2.setActionCommand("Cancel"); b3.setActionCommand("Close"); b2.addActionListener(this); b3.addActionListener(this); f.setSize(700, 500); f.setVisible(true);}
Page 57

public void actionPerformed(ActionEvent e) { System.out.println("action"+e.getActionCommand()); String ss=e.getActionCommand(); System.out.print(ss); if(ss=="Save") { System.out.print(":1"); String s1,s2,s3,s4,s5,s6,s7,s8 = ""; s1=ps.getText(); System.out.print("get"+s1); s2=ps1.getText(); s3=ps2.getText(); s4=t4.getText(); s5=t5.getText(); s6=t6.getText(); s7=t2.getText();int cnt; Connection con=database.myConnection(); try { PreparedStatement pstmt; pstmt = con.prepareStatement("select password from info where acc_no=?"); pstmt.setInt(1,acc); ResultSet rs= pstmt.executeQuery(); while(rs.next()) {s8=rs.getString("password"); System.out.println("s8@@@"+s8); } if(s1.equals(s8)) {System.out.println("in If"); if(s2.equals(s3)) { cnt=Integer.parseInt(s4); System.out.println("account"+acc); PreparedStatement pst=con.prepareStatement("update info set name=?,password=?,email=?,contact=?,addr=? where acc_no=?"); pst.setString(1, s7); pst.setString(2,s2); pst.setString(3,s5); pst.setInt(4,cnt);
Page 58

pst.setString(5,s6); pst.setInt(6, acc); pst.executeUpdate(); JOptionPane.showMessageDialog(f, "!! New Information has been saved. !!" "!! Message !!", JOptionPane.INFORMATION_MESSAGE); new home(); f.setVisible(false); } else JOptionPane.showMessageDialog(f, "password doesnt match#############..." , "incorrect", JOptionPane.ERROR_MESSAGE);} Else JOptionPane.showMessageDialog(f, "password doesnt match@@@@@@@@@@@@@@22..." , "incorrect", JOptionPane.ERROR_MESSAGE);} catch (SQLException e1) {e1.printStackTrace();}} else if(ss=="Cancel") {ps.setText(null);ps1.setText(null);ps2.setText(null);t2.setText(null);t4.setText(null); t5.setText(null);t6.setText(null);} else if(ss=="Close") {try {f.setVisible(false); profile_acc p=new profile_acc(name);} catch (IOException e1) {e1.printStackTrace();}}}} Close.java import java.awt.*; import java.io.IOException; import java.sql.*; import javax.swing.*; public class close extends JFrame implements ActionListener{ JTextField t1,t2,t3; JFrame f1; JPanel p,p1,p2,p3,p4; JButton b1,b2; JLabel l1,l2,l3; ImageIcon i,i1; int acc,bal; String name; public close(int a,String n,int b)
Page 59

{ acc=a; name=n; bal=b; t1=new JTextField(20);t1.setText(acc+"");t1.setEditable(false); t2=new JTextField(20);t2.setText(name);t2.setEditable(false); t3=new JTextField(20);t3.setText(bal+"");t3.setEditable(false); l1=new JLabel("Account No. :",JLabel.RIGHT); l2=new JLabel("Name : ",JLabel.RIGHT); l3=new JLabel("Balance : ",JLabel.RIGHT); f1=new JFrame("!! Close Account !!"); p=new JPanel(new GridLayout(4,1));p1=new JPanel(new FlowLayout()); p2=new JPanel(new FlowLayout());p3=new JPanel(new FlowLayout()); p4=new JPanel(new FlowLayout());i=new ImageIcon("D:/Bank/I/delete.jpg"); i1=new ImageIcon("D:/Bank/I/cancel.jpg"); b1=new JButton(i); b2=new JButton(i1); f1.setBackground(Color.white); f1.setSize(400,250);p1.add(l1);p1.add(t1); p2.add(l2);p2.add(t2); p3.add(l3);p3.add(t3); p4.add(b1);p4.add(b2); p.add(p1);p.add(p2);p.add(p3);p.add(p4); f1.add(p); f1.setVisible(true); f1.setResizable(false); b1.setActionCommand("Delete"); b2.setActionCommand("Cancel"); b1.addActionListener(this); b2.addActionListener(this); System.out.print("Jagrit"); } public static void main(String args[]) {} public void actionPerformed(ActionEvent e) {String s=e.getActionCommand(); if(s=="Delete") {int x; x=Integer.parseInt(t1.getText()); Connection con=database.myConnection();try { PreparedStatement pstmt = con.prepareStatement("update info set status=? where acc_no=?"); pstmt.setInt(1, 0);pstmt.setInt(2, x);pstmt.executeUpdate();f1.setVisible(false); new home();}
Page 60

catch (SQLException e1) {e1.printStackTrace();}} else if(s=="Cancel") {try {f1.setVisible(false); profile_acc p=new profile_acc(name);} catch (IOException e1) {e1.printStackTrace();}}}} Database.java import java.sql.*; public class database { public static void main(String args[]) { myConnection(); } public static Connection myConnection() { String url="jdbc:mysql://localhost:3306/game"; String pass="root"; String user="root"; try { com.mysql.jdbc.Driver d=new com.mysql.jdbc.Driver(); Class.forName("com.mysql.jdbc.Driver"); } catch (Exception e1) { e1.printStackTrace(); } Connection c = null; try { c = DriverManager.getConnection(url, user, pass); System.out.print("connection is :" +c);} catch (Exception e) {e.printStackTrace(); }
Page 61

return c; }}

2.4 Testing and Debugging


Testing is a process of executing a program with the intent of finding an error. A good test case is one that has a probability of finding an as yet undiscovered error. A successful test is one that uncovers an as yet undiscovered error. Our Objective is to design test processes that systematically uncover different classes of errors and do so with minimum amount of time and effort. Statement of scope A description of the scope of the software testing is developed. All the features to be tested are noted as follows. The basic principles that guide software testing are: All test cases should be trace top customer requirements. Most severe defects from the customers point of view are those that cause a program to fail to meet its requirements. Test case should be planned before testing begins. Testing plan can begin as soon as requirement model completes. Detailed definition of test cases can begin as soon as the design is solidified. Then, the entire test can be planned before any code is generated. Testing should begin Small and progress towards Large. The first test planned and executed generally focuses on individual modules. As testing progresses, it shifts focus in an attempt to find errors in integrating clusters of modules and then in entire system. System Testing is very important issue in system development. During system testing the system is used experimentally to ensure that the system does not fail and will run according to its specification producing desired outputs as per the users expectations. Many organization persons other than those who have written it performing testing, so that the software will be more reliable. Following tests can carry out the testing of system:1. White Box Testing:White Box Testing, called Glass Box testing is a test case design method that uses the control structure of the procedural design to drive test cases. White Box Testing considers system to be like a White box, which means, that everything about the system is known to me. The different programs in the system, procedures used, inputs supplied and I know the outputs produced by it in advance. Person who has developed it generally carries out White Box
Page 62

testing and he/she tests the system against all odd conditions for extreme values. I tested all the modules independently. 2. Black Box Testing: Black Box Testing focuses on the functional requirements of the software. It uncovers a different class of errors than white box testing methods. The end users or the ultimate user carries out Black Box testing for whom the system is made or someone who not knows how the system is being made. Selecting some persons of the organizations who have to operate on the system can perform this testing so that they know what inputs to be given to the system for different options and what should the output generated by the system for those values. Thus testing of the system by this method can even be done for absurd values, which are unknowingly entered by the user. The validation and checks which are masked for certain inputs like Names, Numbers, alpha numeric, floating point numbers, Unique Fields, Maximum Size, Values and other Special Fields and ranges is working or not for each and every entry forms.

Debugging
Debugging occurs as a consequence of successful testing i.e. when a test case uncovers an error, debugging is the process that results in identifying the location of error ad the removal of error. The poorly understood mental process that connects a symptom to cause is debugging. This process will always have one of the two outcomes:

The cause will be found, corrected and then removed or The cause will not be found. In the latter case the person performing debugging may suspect a cause, design a test case to help validate his suspicion, and then work towards the correction of errors in the interactive fashion.

Following three approaches of debugging were used:


Debugging by Induction Debugging by Deduction Backtracking


Page 63

2.4.1Test Cases Test case-1 Test Procedure Expected result : This test will check the 'Login page'. : To log in, enter the user name and password. : If the login information entered is correct, then only the user is allowed to login to the game center. Actual Result : After entering the correct user name and password , the user could login successfully. Comment Tester's Signature Conditional Test Expected Result : Login information is checked from the database. : Date : 05-12-2011

: If user enters wrong user name and password. : The user will not be able to log in and a message will be displayed Incorrect match.

Actual Result Comment

: The error message was displayed. : Login information not matching with the information in the database was not allowed to enter the game center.

Tester's Signature Accuracy

Date: 05-12-2011

: The working is accurate and the functioning of the game center is proper and secure.

Tester's Signature

Date: 05-12-2011

Test case-2 Test Procedure

: This test will check the 'Sign Up Page'. : To register, enter the information in the sign up page.

Expected result

: If the information entered is inserted in to the database, then the login window will be displayed.

Actual Result

: After entering the information, the window was displayed i.e. the information was successfully inserted in to the database.

Comment Tester's Signature

: Registration information is checked from the database. : Date : 05-12-2011


Page 64

3. Limitations
There still remain certain limitations in the Banking Application Project. These are listed here below: 1) The application does not provide online scoring system. 2) Graphically the project is just basic. 3) Online multiplayer option is not provided. 4) Only registered users can play the games. 5) Currently only two games are provided. 6) Game scores are not saved. 7) There is no facility for the name of the players.

Page 65

4. Future of the Project


The project aims to produce an application that can be installed and run on a stand alone system. The project can be implemented in future for entertainment purpose, where a complete game pack can be designed which will have more number of different games. It can gain a lot of popularity by introducing an online scoring/ranking system where the different users who are using the Game Center can check their ranks online which will be generated on the basis of their individual performance scores, this will increase the competition between the users and hence increase the popularity as more and more users will try to compete with each other. Graphically the project can be improved to a very good extent. The Gaming Zones can use the project for providing maximum entertainment to their customers. The project can be an inspiration for the development of games for entertainment purpose in the portable devices that support JAVA.

Page 66

5. Conclusion
I conclude that the outcome of this effort holds possession of the attributes specified below:

Usability
Validations are provided in each field to avoid inconsistent or invalid entry in the databases. The user interface is quite easy to use i.e. it is user friendly and any common man can easily use the game center.

Security
The games cannot be accessed without logging in.

Maintainability
The installation and operation manual of city search portal will be provided to the user.

Availability
System will be available round the clock except for the time required for backup of data.

Portability
The application is developed in JAVA .It would be Portable to other operating system provided. As the database is made in mysql, porting the database to another Database server would require some development effort.

Acceptance Criteria
The software should meet the functional requirement and perform the functionality effectively and efficiently. A user-friendly interface with proper menus. Data transfer should be accurate and within a reasonable amount of time keeping in mind the network traffic. The system should not allow entry of duplicate key values. System should have the ability to generate transactional Locks to avoid any accidental loss of data.

Page 67

6. Recommendation
An Application developed on the JAVA platform has easy installability on almost all machines available in the market. To make entertainment easy and hassle free, the application is developed with an user friendly interface and simple functionality. The fact that inspired to select this as the project was my generous concern for various popular classic games that are in frequent use and also the slimy and slow services offered in the gaming zones. This idea could help to reduce time consumed in making transactions and conducting general account affairs with the gaming zone. Various private gaming firms provide their customers with facilities like updation and online transactions that enable customers to manage their accounts with the gaming firm even froom remote and distant areas where the gaming firm does not hold a branch. By using this facility the customer can buy various goodies related to the games such updating their character, buying a special membership to increase their score etc. Since now a days, customers expect more, the services provided to them should be upto the mark and support latest technology and safety measures prevailling in the market.

Page 68

7. Bibliography and References


Books:
Effective Java (2nd Edition) by Joshua Bloch Java Concurrency in Practice by Brian Goetz, Tim Peierls, Joshua Bloch, Joseph Bowbeer, David Holmes and Doug Lea Head First Java (2nd Edition) by Kathy Sierra, Bert Bates JavaTM Puzzlers by Joshua Bloch , Neal Gafter Thinking in Java by Bruce Eckel A Programmers Guide to Java SCJP Certification (3rd Edition) by Khalid Mughal Java 2:The Complete Reference(5th Edition) by Herbert Schildt

Websites: http://www.scribd.com/doc/41997140/SWDLC-Complete to study the various types of models alongwith their phases. http://www.agilemodeling.com/artifacts/dataFlowDiagram.htm for development and study of Data Flow Diagram. http://way2resources.blogspot.com/2011/06/system-analysis.html to study detailed and thorough application of System Analysis on the Project. http://java.sun.com/developer/technicalArticles/J2SE/Desktop/new_tech/ to study Application Development using the latest platform version avalable to develop a Desktop Application http://onjava.com/pub/a/onjava/2004/02/18/desktop.html to incorporate the GUI Toolkits offered by Java and also taking maximum advantage of Cross Platform Support it offers.

Page 69