import processing.core.*; import java.applet.*; import java.awt.*; import java.awt.image.*; import java.awt.event.*; import java.io.*; import java.net.*; import java.text.*; import java.util.*; import java.util.zip.*; public class oposing_lines extends PApplet {/**
 * Setup and Draw. 
 * 
 * The draw() function creates a structure in which
 * to write programs that change with time. 
 * 
 * Created 09 December 2002
 */

// The statements in the setup() function 
// execute once when the program begins
public void setup() 
{
  size(200, 200);  // Size should be the first statement
  stroke(255);     // Set line drawing color to white
  frameRate(30);
  
  
}

float y = 100;
float x = 100;
int flag = 0;
float speed = 1;
int mycolor = 0;

// The statements in draw() are executed until the 
// program is stopped. Each statement is executed in 
// sequence and after the last line is read, the first 
// line is executed again.
public void draw() 
{ 
  
  mycolor = mouseY;
  colorMode(HSB);
  background(mycolor,width,100);
  //fill(mycolor,width,100);   // Set the background to black
  speed = mouseX/10;
  y = y - speed;
  x += speed; 
  if (y < 0) { y = height; } 
  if (x > height) { x = 0; }
  line(0, y, width/2, y);  
  line(100, x, (width), x);
  if(x == y) flag = 1;
  //if(flag == 1)rect(75, 75, 50, 50);
  fun();
} 

public void fun()
{
   if(flag == 1)rect(75, 75, 50, 50);
   if(y == 50)flag = 0;
   if(y == 0)flag = 1;
   if(y == 150)flag = 0;
   
}
static public void main(String args[]) {   PApplet.main(new String[] { "oposing_lines" });}}