Advertisement
Guest User

Untitled

a guest
Nov 24th, 2014
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.21 KB | None | 0 0
  1. class TrafficLight
  2. {
  3. private int size;
  4. private Color color;
  5.  
  6. public TrafficLight(int s, Color c)
  7. {
  8. color = c;
  9. size = s;
  10. }
  11.  
  12. public int Size
  13. {
  14. get
  15. {
  16. return size;
  17. }
  18.  
  19. set
  20. {
  21. if (size >= 5 && size <= 75)
  22. size = value;
  23. }
  24. }
  25.  
  26. public void ChangeColor()
  27. {
  28. if (color == Color.Red)
  29. {
  30. color = Color.Green;
  31. }
  32. else if (color == Color.Green)
  33. {
  34. color = Color.Orange;
  35. }
  36. else if (color == Color.Orange)
  37. {
  38. color = Color.Red;
  39. }
  40. }
  41.  
  42. public void Draw(Graphics gr)
  43. {
  44. if (color == Color.Red)
  45. {
  46. gr.FillEllipse(Brushes.Red, 10, 10, size, size);
  47. //The format of the integers is x, y, width, height
  48. //So because the first circle has y = 10, the second will be 10 + size and will be placed below the first one
  49. gr.FillEllipse(Brushes.White, 10, 10 + size, size, size);
  50. //the third circle will be 10 + 2 * size
  51. gr.FillEllipse(Brushes.White, 10, 10 + 2 * size, size, size);
  52. }
  53. else if (color == Color.Orange)
  54. {
  55. // red circle spot
  56. gr.FillEllipse(Brushes.White, 10, 10, size, size);
  57. //orange circle
  58. gr.FillEllipse(Brushes.Orange, 10, 10 + size, size, size);
  59. // green circle spot
  60. gr.FillEllipse(Brushes.White, 10, 10 + 2 * size, size, size);
  61. }
  62. else if (color == Color.Green)
  63. {
  64. // green cicrle
  65. gr.FillEllipse(Brushes.Green, 10, 10 + 2 * size, size, size);
  66. // red circle spot
  67. gr.FillEllipse(Brushes.White, 10, 10, size, size);
  68. // orange circle spot
  69. gr.FillEllipse(Brushes.White, 10, 10 + size, size, size);
  70. }
  71. }
  72. }
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement