Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class TrafficLight
- {
- private int size;
- private Color color;
- public TrafficLight(int s, Color c)
- {
- color = c;
- size = s;
- }
- public int Size
- {
- get
- {
- return size;
- }
- set
- {
- if (size >= 5 && size <= 75)
- size = value;
- }
- }
- public void ChangeColor()
- {
- if (color == Color.Red)
- {
- color = Color.Green;
- }
- else if (color == Color.Green)
- {
- color = Color.Orange;
- }
- else if (color == Color.Orange)
- {
- color = Color.Red;
- }
- }
- public void Draw(Graphics gr)
- {
- if (color == Color.Red)
- {
- gr.FillEllipse(Brushes.Red, 10, 10, size, size);
- //The format of the integers is x, y, width, height
- //So because the first circle has y = 10, the second will be 10 + size and will be placed below the first one
- gr.FillEllipse(Brushes.White, 10, 10 + size, size, size);
- //the third circle will be 10 + 2 * size
- gr.FillEllipse(Brushes.White, 10, 10 + 2 * size, size, size);
- }
- else if (color == Color.Orange)
- {
- // red circle spot
- gr.FillEllipse(Brushes.White, 10, 10, size, size);
- //orange circle
- gr.FillEllipse(Brushes.Orange, 10, 10 + size, size, size);
- // green circle spot
- gr.FillEllipse(Brushes.White, 10, 10 + 2 * size, size, size);
- }
- else if (color == Color.Green)
- {
- // green cicrle
- gr.FillEllipse(Brushes.Green, 10, 10 + 2 * size, size, size);
- // red circle spot
- gr.FillEllipse(Brushes.White, 10, 10, size, size);
- // orange circle spot
- gr.FillEllipse(Brushes.White, 10, 10 + size, size, size);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement