Your browser does not support the canvas tag.

previous        Show / Hide Source        Download        next

// F22 raptor vars

float f22raptorXaxis = 100;

float f22raptorYaxis = 190;


// missle trajectory

float missleXaxis = 340;

float missleYaxis = 110;

// Tree Top

float leafs = 40;

// Tree bottom

float root = 40;

void setup() {
  
  size(400, 400);

}

void draw() {
 background(68, 201, 235);
  
 drawf22raptor();
 movef22raptor();
 drawmissle();
 drawleafs();
 drawroot();
 
}


void drawf22raptor() {
  rectMode(CENTER);
  
  
  fill(115, 173, 209);
  noStroke();
  rect(200, 20, 400, 40);
  
  fill(125, 173, 209);
  noStroke();
  rect(200, 60, 400, 40);
  
  fill(135, 173, 209);
  noStroke();
  rect(200, 100, 400, 40);
  
  fill(145, 173, 209);
  noStroke();
  rect(200, 140, 400, 40);
  
  fill(155, 173, 209);
  noStroke();
  rect(200, 180, 400, 40);
  
  fill(165, 173, 209);
  noStroke();
  rect(200, 220, 400, 40);
  
  fill(175, 173, 209);
  noStroke();
  rect(200, 260, 400, 40);
  
  fill(185, 173, 209);
  noStroke();
  rect(200, 300, 400, 40);
  
  fill(195, 173, 209);
  noStroke();
  rect(200, 340, 400, 40);
  
  fill(205, 173, 209);
  noStroke();
  rect(200, 380, 400, 40);
  
  
  
  // front body
  fill(245, 190, 39);
  noStroke();
  rect(f22raptorXaxis, f22raptorYaxis, 120, 40);
  
  // nose
  fill(245, 12, 16);
  noStroke();
  rect(f22raptorXaxis+65, f22raptorYaxis, 10, 20);
  
  // bottom wing
  fill(122, 87, 22);
  noStroke();
  rect(f22raptorXaxis-10, f22raptorYaxis+20, 40, 20);
  
  // rear fender
  fill(122, 87, 22);
  noStroke();
  rect(f22raptorXaxis-55, f22raptorYaxis+15, 20, 10);
  
  // front fecia
  fill(245, 190, 39);
  noStroke();
  rect(f22raptorXaxis-5, f22raptorYaxis+25, 90, 10);
  
  // front fecia 2
  fill(245, 190, 39);
  noStroke();
  rect(f22raptorXaxis+5, f22raptorYaxis+15, 95, 10);
  
  // exhaust
  fill(115, 112, 106);
  noStroke();
  rect(f22raptorXaxis-70, f22raptorYaxis-5, 20, 10);
  
  // rear defuse
  fill(179, 172, 161);
  noStroke();
  rect(f22raptorXaxis-55, f22raptorYaxis-20, 30, 20);
  
  // wing part
  fill(232, 229, 23);
  noStroke();
  rect(f22raptorXaxis-25, f22raptorYaxis-25, 40, 10);
  
  //wing part 2
  fill(232, 229, 23);
  noStroke();
  rect(f22raptorXaxis-35, f22raptorYaxis-35 , 40, 10);
  
  // wing part 3
  fill(232, 229, 23);
  noStroke();
  rect(f22raptorXaxis-45,f22raptorYaxis-45 , 40, 10);
  
  // wing part 4
  fill(232, 229, 23);
  noStroke();
  rect(f22raptorXaxis-50,f22raptorYaxis-55, 30, 10);
  
  // wing part 5
  fill(232, 229, 23);
  noStroke();
  rect(f22raptorXaxis-55,f22raptorYaxis-65 , 20, 10);
  
  // wing part 6
  fill(232, 229, 23);
  noStroke();
  rect(f22raptorXaxis-60,f22raptorYaxis-75, 30, 10);
  
  // cockpit 1
  fill(0,0,0);
  noStroke();
  rect(f22raptorXaxis+25, f22raptorYaxis-15, 30, 10);
  
   // cockpit 2
  fill(0,0,0);
  noStroke();
  rect(f22raptorXaxis+15, f22raptorYaxis-25, 50, 10);
  
   // cockpit 3
  fill(0,0,0);
  noStroke();
  rect(f22raptorXaxis+10, f22raptorYaxis-35, 40, 10);
  
  // f22 afterburners
  fill(255, 0, 0);
  rect(f22raptorXaxis-80, f22raptorYaxis-5, 20, 10);
  
  // rotates rect shape really fast to mimic acutal fire
  

}



  // make f22 raptor move up or down
  
  void movef22raptor() { 
   if(keyPressed){ 
    if(keyCode == UP){ // moves up when arrow up key is pressed
      f22raptorYaxis -= 3; 
    
    
    }else if(keyCode == DOWN){  // moves down when arrow down is pressed 
       f22raptorYaxis += 3;
    }
    
   }
   
  }

  void drawleafs() {// looping tress, top part
    
  int leafs = 40;   // setting base value
  while ( leafs < 400) {  // condition, stop when reach 400
    fill(28, 105, 41);
    rect(leafs, 340, 40, 40);
    
    leafs = leafs + 60;  // spacing 
    }
}

  void drawroot() { // looping trees, bottom 
  
  int root = 40; 
  while ( root < 400) { 
    fill(26, 20, 1);
    rect(root, 380, 20, 40);
    
    root = root + 60;
    }
}


  void drawmissle() { // drawing a missle
    
    fill(105, 95, 95);
    ellipse(missleXaxis, missleYaxis, 60, 10);
    
  
  
     missleXaxis -= 7; // speed of missle
    if (missleXaxis < -55) // when missle gets too far away from screen
    { missleXaxis = random(400, 300); // respawn new missle at a random set coordnates 
      missleYaxis = random(60, 180);
    }
      
    }