Closed

Write some Software

This project received 3 bids from talented freelancers with an average bid price of $1017 USD.

Get free quotes for a project like this
Employer working
Project Budget
$10 - $30 USD
Total Bids
3
Project Description

Asteroid game

Example solution
Description:
simple Asteroid game
asteroids are moving randomly on the screen
space ship is moved with arrow keys
Functionality:
Window:
fixed size 700 x 500
top menu with 'File' and 'Help' buttons
board is filling rest of window
no icon and custom text on top title bar
Top menu
'File' has two children: 'New game' and 'Exit'
'New game' initializes new game
'Exit' closes the form
'Help' has one child: 'About'
'About' displays message box with custom text, custom caption and only 'OK' button
Game board
Black background filling all remaining space of window
25 asteroids moving randomly on the board
asteroid: circle, radius 20px, background Grey
space ship moved by pressing arrow keys
space ship: square, size 25px, background Blue
when asteroid fly of the board it is no longer visible and is not replaced by a new one
space ship and asteroids do not interact in any way
all objects can be "drawn" as labels (no real drawing is required)
Additional constrains:
before form is closed (by 'Exit', 'X' or Alt+F4) it prompts user for confirmation by message box
all message boxes are dialog windows: while they are open main window is blocked
when message box is displayed game pauses
Hints:
FormClosing
[url removed, login to view]()
[url removed, login to view]
[url removed, login to view]
[url removed, login to view]
[url removed, login to view]
[url removed, login to view]
GraphicsPath
[url removed, login to view]
Random
Timer
Points:
proper main window, message boxes (except pausing game) and blank board: 4 points
proper board with all constrains and message boxes pausing game: 4 points
Windows Forms part 2

Example solution
Resources
Functionality:
Window:
Custom background
Asteroids and spaceship drawn with supplied graphics
Board has Context Menu (right- click) with 2 options - 'Ennable immortality' and 'Disable immortality'
Top menu
New item 'Window' with two children - 'Background' and 'Reset'
'Background' stops the game and shows file dialog with filters for Image files and custom title
Chosen file becomes background of board - it is stretched to size of board
'Reset' resets background to default
Bottom menu strip with information about time in seconds
Game board
space ship moved by pressing arrow keys but now pressing an arrow accelerates or decelerates spaceship in proper direction
both asteroids and spaceship can fly over one edge of the board and appear on the other edge (they should slide through edge)
when immortality is enabled spaceship don't interact with asteroids
when immortality is disabled collision of spaceship and asteroids can occur and then message box is shown with information of how long player played
Additional constrains:
In this part 'drawing' with controls is FORBIDDEN one has to use proper drawing methods of Graphics object
There is no visible flickering (use double buffering)
all functionality of part one should be present
when all windows, message boxes and context menu are shown game should pause
when player dies the message box shows 'GAME OVER' title and information with time of game
after 'GAME OVER' massage box, new game is started with enabled immortality, timer reset
Hints:
Open file dialog
Context menu strip
Simple drawing with GDI:
Step 1: Load proper bitmap from file:
Image bmp = new Bitmap("[url removed, login to view]");

Step 2: Put PictureBox control named 'box' on form.
Step 3: Draw with 'bmp' on 'box' using double buffering:
Image buf = (Image)[url removed, login to view]();
using (Graphics g = [url removed, login to view](buf))
{
[url removed, login to view](Black);
[url removed, login to view](bmp, 0, 0);
}
[url removed, login to view] = buf;
Above sample code will make picureBox black and draw [url removed, login to view] picture in left up corner.
Points:
asteroids and spaceship drawn with graphics - 2p
asterids and spaceship can fly through edges - 2p
spaceship is controlled properly with arrows (accelerating and decelerating) - 2p
proper context menu with enabling and disabling items and bottom strip with time info - 2p
collicion detecting, message box with time information and starting new game - 2p
changing and reseting background - 2p

Looking to make some money?

  • Set your budget and the timeframe
  • Outline your proposal
  • Get paid for your work

Hire Freelancers who also bid on this project

    • Forbes
    • The New York Times
    • Time
    • Wall Street Journal
    • Times Online