Advertisement
Guest User

Untitled

a guest
Oct 25th, 2014
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.93 KB | None | 0 0
  1. void setup()
  2. {
  3.   size(800, 800);
  4. }
  5.  
  6. float speed = 1;
  7. boolean forward = true;
  8.  
  9. void draw()
  10. {
  11.   noStroke();
  12.  
  13.   // Sky
  14.   fill(80 + 90 * speed, 130 + 90 * speed, 200 + 90 * speed);
  15.   rect(0, 0, 800, 400);
  16.  
  17.   // Sun
  18.   fill(253, 184, 19);
  19.   ellipse(400, 350 + 100 - 300 * speed, 100, 100);
  20.  
  21.   // Grass
  22.   fill(30 + 100 * speed, 160 + 130 * speed, 0);
  23.   rect(0, 400, 800, 800);
  24.  
  25.   // Street
  26.   fill(0, 0, 0);
  27.   triangle(200, 800, 400, 400, 600, 800);
  28.  
  29.   // Car
  30.   if (forward)
  31.   {
  32.     for (float i = 0; i < 15; i = i + 1)
  33.     {
  34.       car(60 * speed + i * speed + 400, 400 * speed - i * speed + 400, false);
  35.     }
  36.     speed = speed - 0.003;
  37.     if (speed <= 0)
  38.     {
  39.       forward = false;
  40.     }
  41.   }
  42.   else
  43.   {
  44.     for (float i = 0; i < 15; i = i + 1)
  45.     {
  46.       car(-60 * speed - i * speed + 400, 400 * speed - i * speed + 400, true);
  47.     }
  48.     speed = speed + 0.003;
  49.     if (speed >= 1)
  50.     {
  51.       speed = 1;
  52.     }
  53.   }
  54. }
  55.  
  56. void car(float x, float y, boolean front)
  57. {
  58.   float yScale = (y - 400) / 400;
  59.   float yScale2 = (y - 400 - 100 * yScale) / 400;
  60.  
  61.   if (front)
  62.   {
  63.     //P1 x - 80 * yScale, y
  64.     //P2 x, y
  65.     //P3 x - 80 * yScale + 20 * yScale2, y - 100 * yScale2
  66.     //P4 x - 80 * yScale + 20 * yScale2 + 80 * yScale2, y - 100 * yScale2
  67.    
  68.     fill(255, 0, 0);
  69.     triangle(x - 80 * yScale, y, x, y, x - 80 * yScale2 + 20 * yScale2, y - 100 * yScale2);
  70.     triangle(x, y, x - 80 * yScale2 + 20 * yScale2, y - 100 * yScale2, x - 80 * yScale2 + 20 * yScale2 + 80 * yScale2, y - 100 * yScale2);
  71.   }
  72.   else
  73.   {
  74.     //P1 x, y
  75.     //P2 x + 80 * yScale, y
  76.     //P3 x - 20 * yScale2, y - 100 * yScale2
  77.     //P4 x - 20 * yScale2 + 80 * yScale2, y - 100 * yScale2
  78.    
  79.     fill(255, 0, 0);
  80.     triangle(x, y, x + 80 * yScale, y, x - 20 * yScale2, y - 100 * yScale2);
  81.     triangle(x + 80 * yScale, y, x - 20 * yScale2, y - 100 * yScale2, x - 20 * yScale2 + 80 * yScale2, y - 100 * yScale2);
  82.   }
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement