CS
010 - Introduction to Computer Science I
Assignment 3:
DUE: Friday, Oct. 22 before 5:00pm
Collaboration is strongly ENCOURAGED. You will be working in teams, but programs must represent YOUR OWN original work. Teams should work on the algorithm together and help debug/test each others code. However, copying code from ANY source (any book, current or past students, past solutions, the web, etc.) is STRICTLY FORBIDDEN. Code between teamates will be similar, but you are not allowed to just copy a teamate's solution.
Code that is turned in, must be contained in a .cpp file named main.cpp. Files of any other format will not be graded (e.g. main.doc, main.txt, etc…).
You must turn your work in from a lab computer on campus.
Turn in online to as3_(group letter) folder. If you turn your assignment in to the wrong folder, your assignment may not be graded. If it is graded, you will lose 2 pts (out of 10).
Remember to include the following header
information at the top of your program;
// Course: CS 10
//
// Lecture Section: ... 001 or 002
// Lab Section: ... 021, 022, etc)
//
// Assignment #: ... assignment 2, 3, etc.
//
// Last Name: Enter your LAST (family) name here (eg, Doe)
// First Name: Enter your FIRST (given) name here (eg, John)
//
// ID Number: Enter your ID number here (eg, 860-00-0000)
// lab login id: Enter your cs10 login here (eg, jdoe)
//
// Email address: Enter your UCR email address here (eg,
jdoe@cs.ucr.edu)
//
// Group: Enter your group here (eg, D4)
// Teammates: List the names of the teammates you worked with
// Meeting Time: Specify the next time your team plans to meet
//
//
=======================================================================
For this assignment
you will write a program that draws a ship, and allows the user to move
the ship around in the window using keyboard input. The user
should be
able to move the ship once either up, down, left, or right.
Before each ship
move, a message will prompt the user to enter either u, d, l, or r
(each corresponding to up, down, left or right respectively). The
window must then be cleared, and the ship redrawn in its new
position. After the move, your program will just wait until the
graphics window is closed.
The ship that is
drawn should be the one that you made for assignment 2.
Example program download:
main
The above link is attached to an executable version of the program. Below are instructions to downlaod the program. Note that this will only work on the lab computers, or computers running linux, so it probably won't work if you try to download it from home on a Windows machine.
1) Right click the blue link above, and then select "Save Link
Target
As..." by left clicking.
2) A message box will open asking you where you want to save the
file.
Choose from the list of folders by double clicking on the folder
that
you want to save the game in. If you want to save it in your home
directory, you can just left click "save".
3) Now cd into the directory that you saved the game. On
the command
line type the following command:
chmod u+x main
You will only need to do this once (the first time). You can
close the
other message box that opens (the one that says Download Manager).
4) From now on, to run the program, you can just type "main" from
the
command line.
From this point on, any programs turned in that do not compile will receive an automatic zero, no exceptions.
2 pts: Ship is redrawn exactly as original
4 pts: Moves the correct direction based on user's input (1 point for each direction)
0.5 pt: On bad input does nothing (ship does not move)
0.5 pt: Clears window before redrawing ship
1 pt: Header info (provide correct info specified above)
2 pts: Style (0.5 each)
- Good variable names
- Proper indentation
- Good comments
- No line wraps
Bonus +1 point
Read ahead and figure out how to create a void function, and
then use
this function to draw your ship when needed. The function must
have the following header or you will not receive the extra credit.
//draw ship function header
void draw_ship(Point p)
So any time the function call "draw_ship(p);" is
encountered in the ccc_win_main funtion, it will draw the ship in the
window at point p, where p is the current location of the ship.
Hint: All of the points used in drawing your ship
will have to be relative to the position of p.