before u read it these are not all the requirements plz check the file below.
Part 1: Design your spaceships
Using an off the shelf image editing tool of your choice (eg GIMP) create a JPEG image, 50 pixels by 50 pixels, of a spaceship viewed from above. You should create 16 versions of the image rotated around its center, i.e. one for every 22.5 degrees around the circle. Hint: create each new image from the original and NOT from a previously rotated image, as multiple rotations will have an cumulative effect on errors in the image. You will need two spaceships with the same 16 views. Make sure you can distinguish between the two.
Write a Java application that spins one spaceship at a designated rate. To do this create one class inheriting from a JFrame, and add another class which inherits from a JPanel implementing ActionListener. The customized JPanel will effectively be the ‘palette’ containing the image of the spaceship. An animation can be created by rapidly displaying slightly different views of an array of images. Recent versions of Deitel & Deitel’s book Java: How to Program for example include a section on ‘Animating a Series of Images’ (if you have access, the book is also available for free via the Digital Library – a Quick Search using the terms >java deitel< should bring up the resource). General web searches should also provide sources. The recommended approach is to make each image a type of ImageIcon so that the JPanel’s paintComponent() method can render the image using method paintIcon(). The animation should be driven using a Swing Timer class (not to be confused with a Timer class from the [login to view URL] package) that can repeatedly delay execution for a designated number of milliseconds, automatically calling paintComponent() at the end of each cycle via the ActionListener whose actionPerformed method calls method repaint(). NB Do not develop a threaded solution using the Java Thread class – use of the Swing Timer class is all that is needed.
Part 2: Develop the space racing arena
In the second phase, create a Java application for the racing arena where you can ‘fly’ your two spaceships around around a central asteroid on one workstation.
The racing arena is in a window 850 pixels by 650 pixels and uses the following code to create the arena;
Color c1 = [login to view URL];
[login to view URL]( c1 );
[login to view URL]( 50, 100, 750, 500 ); //surrounding space
Color c2 = new Color(210, 105, 30); // RGB brown mix
[login to view URL]( c2 );
[login to view URL](150, 200, 550, 300); // asteroid
Color c3 = [login to view URL];
[login to view URL]( c3 );
[login to view URL]( 425, 500, 425, 600 ); // start line
Select four keys for each of the two players. Two keys are used to change the direction of their spaceship. A key press turns the spaceship 22.5 degrees left or right by changing the current image – I recommend you do not arithmetically rotate a single image during execution as it will create latency issues and does not naturally follow from the part 1 development. The other two keys are to change the speed of the spaceship. Since speed = distance/time, in this context the motion of the spaceship will be represented by pixel displacement/screen refresh. Use a scheme whereby speed is represented on a scale from 0 to 100. One press of a key either increases the speed by 10 or decreases the speed by 10. I recommend you develop one JFrame containing one JPanel which itself contains both the track and the two spaceship images, but you will also need a KeyListener to implement the keypresses.