Hi, I guess there are sites where you can just pay to get your work done for you. You don't have to lift a single finger. A Google search should pull them up.
Good luck. -- Evans http://www.javawug.org ----- Original Message ----- From: <kmorri...@hotmail.com> To: "Java EE (J2EE) Programming with Passion!" <java-ee-j2ee-programming-with-passion@googlegroups.com> Sent: Sunday, March 01, 2009 1:38 PM Subject: [java ee programming] Help Totally bamboozled With This Java Coursework Can anyone help me > > Hi i was hoping someone would be able to give me some tips and advance > how to go about this task. I have no idea what to do, where to start > so any help would be grateful. I have searched online but have found > no help. You guys are my last resort > > Here it is > > Task > Write a multithreaded Java program which implements a simple > multiplayer labyrinth game called > Diamond Mine. More precisely, the game it is a multiagent simulation > game without human players. > You will be given the specification of an XML file format for two‐ > dimensional mazes. Your program needs > to load a maze from a user‐specified file which conforms to this file > format. A maze initially contains > walls (consisting of rocks), diamonds, and a tool store. Your program > should place a number of > automated players randomly at empty positions in the maze. Each player > should try to collect as many > diamonds as possible and then find the exit of the maze before the > game is over. The game ends after a > given number of minutes or when all players have left the maze > (whichever occurs first). > Each player has the goal to mine as many diamonds as possible as fast > as possible. But from your point of > view, the goal is to design the software and the players in order to > maximize the total number of mined > diamonds before the game ends (so you can see yourself in the role of > the owner of the diamond mine). > > > Additional requirements > 1. Your program should have a graphical user interface (GUI) which > shows at all times the complete > maze, including the current positions of all players and diamonds, the > position of the tool store, > the number of hammers and chisels which are currently available in the > tool store, the > possessions of each player (diamonds, tools), whether the hammer and/ > or the chisel a player > currently has are broken or not, the exit of the maze, and the > countdown (number of seconds > left until the game is over). At the end of the game, display the > total number of mined > diamonds and the most successful player(‐s). > > 2. The GUI should provide buttons for starting, stopping and pausing/ > continuing a game. Pausing > stops temporarily all player and pauses the countdown until the user > continues the game. > Stopping resets the countdown and the position of all players, > diamonds and tools to their > initial state. > > 3. Furthermore, the GUI should have the following functionality: > Load a maze from an XML file specified by the user. If need be, stop > the current game first. > Initially, the newly loaded maze does not contain any players. > Let the user specify the number of players (>=1). If need be, stop the > current game first. > Place the players randomly at free positions in the maze. If the maze > already contains > players, remove these first. > Set the maximum duration of the game (in minutes). > Set a “step delay” (see below). > Quit the program. > > 4. A maze consists of m x n positions. The size of the maze is > specified in the XML file of the maze. > Each position in the maze is either empty or occupied by a wall (a > rock), a diamond, a player, > the tool store, or the exit. There cannot be multiple things or > players at the same position, with > one exception: there can be multiple players in the tool store at the > same time. > > 5. Your program needs to work with any maze which conforms to the > given maze file specification, > not just with the given example maze files. You don’t have to design > mazes yourself, but you > are strongly encouraged to do so, in order to test your program. > Markers will use mazes which > are not given to you in order to test your software. > > 6. A player can only see the object (empty space, a rock, a diamond, > another player, the tool store, > the exit) which is currently directly in front of him (i.e., at the > next position in front of the player). He is also at any time informed > about the coordinates of his current position, how many seconds remain > until the game is over, the “step delay” (see below), the size of the > maze (m x n), and the coordinates of the tool store. If the player is > inside the tool store, he is also informed about the number of hammers > and chisels currently available there. > Players shall not be given any further information about the map. > Especially players should not be told the number of diamonds in the > maze, and they should not be given a map of the maze or the position > of the exit. > > 7. A player can only perform the following moves and operations: > look at the position directly (one step) in front of him, > turn to the right or the left (i.e., do a 90 degrees turn), > pick up a diamond from the position directly in front of him, provided > he has both a hammer and a chisel and both tools are not yet broken > (see below), > move to an empty space directly in front of him, > move into the tool store, provided it is directly in front of him, > pick up a hammer, provided the player is inside of the tool store, a > hammer is available there, and the player is not yet in the possession > of a hammer, > pick up a chisel, provided the player is inside of the tool store, a > chisel is available there, and the player is not yet in the possession > of a chisel, > return a hammer, provided the player is inside the tool store (tools > cannot be dropped anywhere else), > return a chisel, provided the player is inside the tool store (tools > cannot be dropped anywhere else), > leave the maze, provided the exit is directly in front of him and the > player is not in the possession of a hammer or a chisel. > > The user should be able to set a ”step delay” (in milliseconds) which > specifies how long each player needs to pause after each of his moves, > in order to make the game observable by a human. > > 8. Diamonds can only be picked up if the player has both an intact > hammer and an intact chisel. A > limited number of hammers and chisels are available for free in the > tool store. Each time a > player picks up a hammer or a chisel there, the number of available > hammers resp. chisels is > decreased. The position of the tool store is specified in the maze > file and known to all players > from the game start on. Initially, players don’t have any tools, so in > order to be able to pick up > diamonds, they need to visit the tool store first. Before they leave > the maze, they must visit the > tool store and return hammer and chisel. > A certain player can use a certain hammer or a certain chisel exactly > 5 times (i.e., for picking up > 5 diamonds) before this tool breaks. If a tool is broken, the player > must at once bring it back to > the tool store and drop it there. The tool is then mended by the tool > store. Mending shall take a > random amount of time (0‐5 sec). Only after the tool has been mended, > it is again available for > all players (not just the player who brought it back). > > It is possible to pick up or return a hammer from/to the tool store > separately from a chisel. > > 9. The players need to run simultaneously (using multithreading) and > fully automatically. All players > start at the same time, from random positions. > > 10. Every player should be able to reach the exit if he is given > enough time and a way out exists for > this player (but if the maximum duration of the game is rather short, > possibly not all players will > reach the exit). Players should not block each other. Remember that > you are in the role of the > mine owner. > > 11. Your program code needs to compile and run without problems when > we use the Java 5 JDK > installed on the BUCS machines using the command line interface (i.e., > Sun’s javac and java > tools). Furthermore, your program needs to work without any additional > libraries (packages) or > tools except of what is included in the Java 5 JDK. > > 12. You need to include a README file (either plain text or pdf) which > explains how to use your > program. > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Java EE (J2EE) Programming with Passion!" group. To post to this group, send email to java-ee-j2ee-programming-with-passion@googlegroups.com To unsubscribe from this group, send email to java-ee-j2ee-programming-with-passion+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/java-ee-j2ee-programming-with-passion?hl=en -~----------~----~----~----~------~----~------~--~---