For this homework you will implement a simple Color
class which stores RGB colors prints them out and lets you mix colors.
Your program will have the constructors and methods such that this main:
public static void main(String[] args) { //a constructor with all ints arguments, each is a number between 0 and 255. Color red = new Color(255,0,0); System.out.println(red); //a constructor that understands "red", "green" and "blue". Color blue = new Color("blue"); System.out.println(blue); //a constructor with all doubles as arguments, each is a number between 0 and 1. Color green = new Color(0.0, 1.0, 0.0); System.out.println(green); //if a number is out of range you push it back into the range! Color reallyGreen = new Color(0.0, 100, 0.0); System.out.println(reallyGreen); //Mix colors by simply taking the average of each component (RGB). Color purple = red.mixWith(blue); System.out.println("purple=" + purple); purple = purple.mixWith(red); System.out.println(purple); purple = purple.mixWith(red); System.out.println(purple); }prints out these statements:
#ff0000 #0000ff #00ff00 #00ff00 purple=#7f007f #bf003f #df001f
Those are hexadecimal numbers there, in the standard Hex triplet format. Notice how your code will not let the user create an illegal color.
Tip: your internal representation should use a number between 0 and 255 for each one of the channels (RGB). Also, try to make use of your own private methods.
The homework should be deposited in our dropbox by Thursday, October 7 @ 9am
No comments:
Post a Comment