A very small game in Java

Cerrado Publicado Apr 19, 2007 Pagado a la entrega
Cerrado Pagado a la entrega

I need a game to be made using Java. I would like this game to be made in various stages so I can better understand the development of the java coding.

In the first stage of the game, I’d like a basic game of hangman to be made that can be run in the command line or terminal window of a computer or unix machine. Once run, the first player picks a random word and includes it as one of the command line arguments when starting the game. The game takes this word and displays it as a series of underscores in the command line window ??" one underscore to each letter of the word to be guessed. It is up to the second player to type in letters that they guess that could be part of the word.

Use a separate method to draw the hangman within the command line (using keyboard characters i.e -,+,^ etc) representing the current score, before each guess the player makes. This should be followed by displaying the secret word itself, showing the player the letters that have been guessed correctly and incorrectly. In the latter case, use the underscore character (‘_’) indicating that a letter has yet to be chosen by the player for the next round.

Prompt the player and scan in a letter entered making sure that the player may not be allowed to guess the same letter more than once

Write a new method to display a closing upon the completion of the game, informing the player if he has won or lost. In addition if the player loses, the secret word should also be revealed

The description is carried on in the deliverables section...

## Deliverables

Make sure all code is correctly commented.

In the second stage of the game, I would like the game to be modified to be able to be run through a server / client approach. The player at the server side chooses the guess word, and inputs it into the game whilst the client player supplies his educated guesses one letter at a time. Use the different methods developed in the previous stage to help eliciting the requirement/ relationships of the client and server.

The game should also be able to be run with a single player i.e the computer being the second player but still over a client server approach i.e someone starts runs the game on one computer terminal and the computer automatically picks a word at random and lets the player on the client side guess it. The server should read the name of a dictionary file via the command line argument (i.e seeing as the program is run via the command line, one of the arguments of the main method can be this dictionary file). I will be able to supply the dictionary file if required ??" otherwise, making a small one up using the name [url removed, login to view] will suffice. From this dictionary file, a word should be taken at random from the list of words contained within the file. (all of the words are on separate lines). Coding should be sufficient to prevent the same client from having the same word picked out twice. These two classes (client and server) should be put in a different directory to prevent confusion with the first stage of the program.

In the third stage of the game, a graphical user interface should be made using ‘Swing’. The gui is only needed for the client side of the program. The gui should include an image of the hangman who’s body parts get drawn in stages according to how many wrong guesses the player makes. The gui should also display the letters that the player guessed, whether they are right or wrong. If the player guesses all the letters of the word correctly, all the letters of the word get revealed and the gui informs the player of their win. If the player doesn’t guess the word before all of the stages of the hangman picture are filled, the gui informs the player that they lost and tells them what the word is.

Another gui for the server class can now be made. The modified classes should then be put into another directory.

In the fourth stage of the game, using a graphical object ??" the successive scores of the game should be communicated to the client. The server class should ‘serialize’ the entire (hangman) object, graphical or otherwise in order that is can be transmitted across the network for example ??" object streaming. These modifications should be saved in another separate directory.

The fifth stage of the game involves the development of an automated server i.e the client player plays the game with a fully autonomous server (initialised in another Java Virtual Machine) over the network. In other words, the server is expected to handle a game session without further users’ inputs by selecting, after initialisation, a secret word from the dictionary file and managing the subsequent interactions with the player ??" e.g computes and communicates the scores etc within a session before the connection is closed.

Throughout the development of this game, all the classes should be tested and ways that they are tested should be summarised briefly in a [url removed, login to view] file. For example, a test to carry out what happens to the server if the game is terminated prematurely would be one of the tests to justify the classes.

The single session game server can be further developed in the final stage of the game to allow multiple and concurrent sessions to take place. This means that multiple players can start individual game sessions independently at any time. The way I would like this program to be developed to handle multiple games at the same time is by either multithreading or RMI paradigm ??" whichever is believed to be the most straight forward way of programming the game. The coder can choose either approach but should compare the two approaches with sample coding if appropriate and justify the choice being decided upon.

The multithreaded server should also record the activities (e.g the date and time the session begins and ends, the scores of the games etc) of each game session in a centrally maintained log file by the server. I know there will be concurrency issues to be addressed here.

1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.

2) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables):

3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).

## Platform

Windows (all os's)

unix - dumb terminals

to be run from a command line or unix terminal

Please don't use code only available in later versions than 1.5.0_07 of Java.

Ingeniería Java MySQL PHP Arquitectura de software Verificación de software

Nº del proyecto: #2931295

Sobre el proyecto

1 propuesta Proyecto remoto Activo Apr 30, 2007

1 freelancer está ofertando el promedio de $51 para este trabajo

vinothg

See private message.

$51 USD en 7 días
(2 comentarios)
0.6