> show canvas only <


/* built with Studio Sketchpad: 
 *   https://sketchpad.cc
 * 
 * observe the evolution of this sketch: 
 *   https://kollafoss.sketchpad.cc/sp/pad/view/ro.kD71iHSFy2N/rev.3945
 * 
 * authors: 
 *   Bjarni Ole Apel Ingason
 *   Jóhannes Gunnar Þorsteinsson
 *   Tristan Reyr Borghildarson

 * license (unless otherwise specified): 
 *   creative commons attribution-share alike 3.0 license.
 *   https://creativecommons.org/licenses/by-sa/3.0/ 
 */ 



void setup() {
 size(300, 300);
 frameRate(30);
     
 fuglY = 150;
 fuglX = 150;
 
 fugl2Y = 150;
 fugl2X = 150;
 
 stig1 = 1;
 stig2 = 1;
 
 hradiKassi = 1;
 
 staerdFugla = 20;
 
  kassiX = width;
  kassiY = 150;
  kassiStaerdX = 20;
  kassiStaerdY = 150;
  
  kassi2X = 0;
  kassi2Y = 0;
  kassi2StaerdX = 20;
  kassi2StaerdY = 150;
  
  kassi3X = 0;
  kassi3Y = height;
  kassi3StaerdX = 20;
  kassi3StaerdY = 150;
  
  kassi4X = -150;
  kassi4Y = 0;
  kassi4StaerdX = 150;
  kassi4StaerdY = 20;

    // Arekstrar
    vinstriHlidASpilara = 0;
    haegriHlidASpilara = 0;
    efriHlidASpilara = 0;
    nedriHlidASpilara = 0;
    
    vinstriHlidASpilara2 = 0;
    haegriHlidASpilara2 = 0;
    efriHlidASpilara2 = 0;
    nedriHlidASpilara2 = 0;
    
    vinstriHlidAKassa1 = 0;
    haegriHlidAKassa1 = 0;
    efriHlidAKassa1 = 0;
    nedriHlidAKassa1 = 0;
    
    vinstriHlidAKassa2 = 0;
    haegriHlidAKassa2 = 0;
    efriHlidAKassa2 = 0;
    nedriHlidAKassa2 = 0;
    
    vinstriHlidAKassa3 = 0;
    haegriHlidAKassa3 = 0;
    efriHlidAKassa3 = 0;
    nedriHlidAKassa3 = 0;
    
    vinstriHlidAKassa4 = 0;
    haegriHlidAKassa4 = 0;
    efriHlidAKassa4 = 0;
    nedriHlidAKassa4 = 0;

}

// Takkar
// Spilari 1
boolean vinstri = false;
boolean haegri = false;
boolean upp = false;
boolean nidur = false;

// Takkar 2
// Spilari 2
boolean vinstri2 = false;
boolean haegri2 = false;
boolean upp2 = false;
boolean nidur2 = false;


void draw() {
    background(255);
    fill(300, 400, 100);
    hreyfing();
    ellipse(fuglX, fuglY, staerdFugla, staerdFugla);
    fill(127, 67, 66);
    ellipse(fugl2X, fugl2Y, staerdFugla, staerdFugla);
    kassi();
    arekstur();
    leikurBuinn();
    
}

void keyPressed() {
    // Spilari 1
  if (keyCode == UP) {
      upp = true;
  }
  if (keyCode == DOWN) {
      nidur = true;
  }
  if (keyCode == RIGHT) {
      haegri = true;
  }
  if (keyCode == LEFT) {
      vinstri = true;
  }
  
  // Spilari2
  if (key == 'a' || key == 'A') {
        vinstri2 = true;
    }
  if (key == 'd' || key == 'D') {
        haegri2 = true;
    }
   if (key == 'w'  || key == 'W') {
        upp2 = true;
    }
     if (key == 's' || key == 'S') {
        nidur2 = true;
    }
}


void keyReleased() {
    //Spilari1
  if (keyCode == UP) {
      upp = false;
  }
  if (keyCode == DOWN) {
      nidur = false;
  }
  if (keyCode == RIGHT) {
      haegri = false;
  }
  if (keyCode == LEFT) {
      vinstri = false;
  }
  
  //Spilari2
  
  if (key == 'w' || key == 'W') {
      upp2 = false;
  }
    if (key == 's' || key == 'S') {
      nidur2 = false;
  }
    if (key == 'a' || key == 'A') {
      vinstri2 = false;
  }
    if (key == 'd' || key == 'D') {
      haegri2 = false;
  }


}

void hreyfing() {
    //Spilari1
    if (upp == true) {
        fuglY = fuglY - 5;
    }
    if (nidur == true) {
        fuglY = fuglY + 5;
    }  
    if (haegri == true) {
        fuglX = fuglX + 5;
    }  
    if (vinstri == true) {
        fuglX = fuglX - 5;
    }
        
    //Spilari2
    if (upp2 == true) {
        fugl2Y = fugl2Y - 5;
    }
        if (nidur2 == true) {
        fugl2Y = fugl2Y + 5;
    }
       if (haegri2 == true) {
        fugl2X = fugl2X + 5;
    }
        if (vinstri2 == true) {
        fugl2X = fugl2X - 5;
    }  
}
  
void kassi() {
    fill(225, 0, 0);
    rect(kassiX, kassiY, kassiStaerdX, kassiStaerdY);
    kassiX = kassiX - hradiKassi;
    
    if(kassiX < 0) {
        kassiX = width;
        kassiY = random(10, 250);
        hradiKassi = hradiKassi+0.3  
    }
    
    fill(0, 225, 0);
    rect(kassi2X, kassi2Y, kassi2StaerdY, kassi2StaerdX);
    kassi2Y = kassi2Y + hradiKassi;
    
    if(kassi2Y > height) {
        kassi2X = random(10, 250);
        kassi2Y = 0;   
    }
    
    fill(0, 0, 225);
    rect(kassi3X, kassi3Y, kassi3StaerdX, kassi3StaerdY );
    kassi3Y = kassi3Y - hradiKassi;
    
    if(kassi3Y < 0) {
        kassi3X = random(10, 250);
        kassi3Y = height;   
    }
    
    fill(100, 50, 150);
    rect(kassi4X, kassi4Y, kassi4StaerdX, kassi4StaerdY);
    kassi4X = kassi4X + hradiKassi;
    
    if(kassi4X > width) {
        kassi4Y = random(10, 250);
        kassi4X = -150;
    }   
}

void arekstur() {
    
    // Spilari 1
    vinstriHlidASpilara = fuglX-staerdFugla/2;
    haegriHlidASpilara = fuglX+staerdFugla/2;
    efriHlidASpilara = fuglY-staerdFugla/2;
    nedriHlidASpilara = fuglY+staerdFugla/2;d
    
    // Spilari 2
    vinstriHlidASpilara2 = fugl2X-staerdFugla/2;
    haegriHlidASpilara2 = fugl2X+staerdFugla/2;
    efriHlidASpilara2 = fugl2Y-staerdFugla/2;
    nedriHlidASpilara2 = fugl2Y+staerdFugla/2;d
    
    // Kassi 1
    vinstriHlidAKassa1 = kassiX;
    haegriHlidAKassa1 = kassiX + kassiStaerdX;
    efriHlidAKassa1 = kassiY;
    nedriHlidAKassa1 = kassiY+kassiStaerdY;
    
    // Kassi 2
    vinstriHlidAKassa2 = kassi2X;
    haegriHlidAKassa2 = kassi2X + kassi2StaerdY;
    efriHlidAKassa2 = kassi2Y;
    nedriHlidAKassa2 = kassi2Y+kassi2StaerdX;
    
    // Kassi 3
    vinstriHlidAKassa3 = kassi3X;
    haegriHlidAKassa3 = kassi3X + kassi3StaerdX;
    efriHlidAKassa3 = kassi3Y;
    nedriHlidAKassa3 = kassi3Y+kassi3StaerdY;
    
    // Kassi 4
    vinstriHlidAKassa4 = kassi4X;
    haegriHlidAKassa4 = kassi4X + kassi4StaerdX;
    efriHlidAKassa4 = kassi4Y;
    nedriHlidAKassa4 = kassi4Y+kassi4StaerdY;

    /////// SPILARI 1 ///////
    // Árekstur spilara 1 við kassa 1
    
    if(
        ((vinstriHlidASpilara >= vinstriHlidAKassa1 && vinstriHlidASpilara <= haegriHlidAKassa1) ||
        (haegriHlidASpilara >= vinstriHlidAKassa1 && haegriHlidASpilara <= haegriHlidAKassa1)) &&
        ((efriHlidASpilara >= efriHlidAKassa1 && efriHlidASpilara <= nedriHlidAKassa1) ||
        (nedriHlidASpilara >= efriHlidAKassa1 && nedriHlidASpilara <= nedriHlidAKassa1))
        ) {
        spilari1TaparLifi();
    }
    
    // Árekstur spilara 1 við kassa 2
    if(
        ((vinstriHlidASpilara >= vinstriHlidAKassa2 && vinstriHlidASpilara <= haegriHlidAKassa2) ||
        (haegriHlidASpilara >= vinstriHlidAKassa2 && haegriHlidASpilara <= haegriHlidAKassa2)) &&
        ((efriHlidASpilara >= efriHlidAKassa2 && efriHlidASpilara <= nedriHlidAKassa2) ||
        (nedriHlidASpilara >= efriHlidAKassa2 && nedriHlidASpilara <= nedriHlidAKassa2))
        ) {
        spilari1TaparLifi();
    }
    
        // Árekstur spilara 1 við kassa 3
    if(
        ((vinstriHlidASpilara >= vinstriHlidAKassa3 && vinstriHlidASpilara <= haegriHlidAKassa3) ||
        (haegriHlidASpilara >= vinstriHlidAKassa3 && haegriHlidASpilara <= haegriHlidAKassa3)) &&
        ((efriHlidASpilara >= efriHlidAKassa3 && efriHlidASpilara <= nedriHlidAKassa3) ||
        (nedriHlidASpilara >= efriHlidAKassa3 && nedriHlidASpilara <= nedriHlidAKassa3))
        ) {
        spilari1TaparLifi();
    }
    
    // Árekstur spilara 1 við kassa 4
    if(
        ((vinstriHlidASpilara >= vinstriHlidAKassa4 && vinstriHlidASpilara <= haegriHlidAKassa4) ||
        (haegriHlidASpilara >= vinstriHlidAKassa4 && haegriHlidASpilara <= haegriHlidAKassa4)) &&
        ((efriHlidASpilara >= efriHlidAKassa4 && efriHlidASpilara <= nedriHlidAKassa4) ||
        (nedriHlidASpilara >= efriHlidAKassa4 && nedriHlidASpilara <= nedriHlidAKassa4))
        ) {
        spilari1TaparLifi();
    }
    
    ///////// SPILARI 2 ////////
    // Árekstur spilara 2 við kassa 1
    if(
        ((vinstriHlidASpilara2 >= vinstriHlidAKassa1 && vinstriHlidASpilara2 <= haegriHlidAKassa1) ||
        (haegriHlidASpilara2 >= vinstriHlidAKassa1 && haegriHlidASpilara2 <= haegriHlidAKassa1)) &&
        ((efriHlidASpilara2 >= efriHlidAKassa1 && efriHlidASpilara2 <= nedriHlidAKassa1) ||
        (nedriHlidASpilara2 >= efriHlidAKassa1 && nedriHlidASpilara2 <= nedriHlidAKassa1))
        ) {
        spilari2TaparLifi();
    }
    
    // Árekstur spilara 2 við kassa 2
    if(
        ((vinstriHlidASpilara2 >= vinstriHlidAKassa2 && vinstriHlidASpilara2 <= haegriHlidAKassa2) ||
        (haegriHlidASpilara2 >= vinstriHlidAKassa2 && haegriHlidASpilara2 <= haegriHlidAKassa2)) &&
        ((efriHlidASpilara2 >= efriHlidAKassa2 && efriHlidASpilara2 <= nedriHlidAKassa2) ||
        (nedriHlidASpilara2 >= efriHlidAKassa2 && nedriHlidASpilara2 <= nedriHlidAKassa2))
        ) {
        spilari2TaparLifi();
    }
    
        // Árekstur spilara 2 við kassa 3
    if(
        ((vinstriHlidASpilara2 >= vinstriHlidAKassa3 && vinstriHlidASpilara2 <= haegriHlidAKassa3) ||
        (haegriHlidASpilara2 >= vinstriHlidAKassa3 && haegriHlidASpilara <= haegriHlidAKassa3)) &&
        ((efriHlidASpilara >= efriHlidAKassa3 && efriHlidASpilara2 <= nedriHlidAKassa3) ||
        (nedriHlidASpilara2 >= efriHlidAKassa3 && nedriHlidASpilara2 <= nedriHlidAKassa3))
        ) {
        spilari2TaparLifi();
    }
    
    // Árekstur spilara 2 við kassa 4
    if(
        ((vinstriHlidASpilara2 >= vinstriHlidAKassa4 && vinstriHlidASpilara2 <= haegriHlidAKassa4) ||
        (haegriHlidASpilara2 >= vinstriHlidAKassa4 && haegriHlidASpilara2 <= haegriHlidAKassa4)) &&
        ((efriHlidASpilara2 >= efriHlidAKassa4 && efriHlidASpilara2 <= nedriHlidAKassa4) ||
        (nedriHlidASpilara2 >= efriHlidAKassa4 && nedriHlidASpilara2 <= nedriHlidAKassa4))
        ) {
        spilari2TaparLifi();
    }
    
}

void spilari1TaparLifi() {
    stig1 = stig1 - 1;
    fuglX = 150;
    fuglY = 150;
}

void spilari2TaparLifi() {
    stig2 = stig2 - 1;
    fugl2X = 150;
    fugl2Y = 150;
}

void leikurBuinn() {
    if(stig1 <= 0) {
        background(0);
        fill(255);
        text("Leikmaður 2 vinnur", 50, 50);
    }
    if(stig2 <= 0) {
        background(0);
        fill(255);
        text("Leikmaður 1 vinnur", 50, 50);
    }
       
}