//////////////////////////////////////////////
//Daniel Pizarro
//Desma 28
//Project 4
//12 / 06 / 04
//////////////////////////////////////////////
color circleColor, circleColor2, circleColor3, circleColor4, circleColor5, circleColor6, circleColor7, circleColor8, circleColor9, circleColor10, circleColor11, baseColor;
color circleHighlight, circleHighlight2, circleHighlight3, circleHighlight4, circleHighlight5, circleHighlight6, circleHighlight7, circleHighlight8, circleHighlight9, circleHighlight10, circleHighlight11;
color currentColor;
boolean circleOver = false;
boolean circleOver2 = false;
boolean circleOver3 = false;
boolean circleOver4 = false;
boolean circleOver5 = false;
boolean circleOver6 = false;
boolean circleOver7 = false;
boolean circleOver8 = false;
boolean circleOver9 = false;
boolean circleOver10 = false;
boolean circleOver11 = false;
boolean circleOverMain = false;
int circleX, circleY, circle2X, circle2Y, circle3X, circle3Y, circle4X, circle4Y, circle5X, circle5Y, circle6X, circle6Y, circle7X, circle7Y, circle8X, circle8Y, circle9X, circle9Y, circle10X, circle10Y, circle11X, circle11Y;
int maincircleX, maincircleY;
int mainCircleWidth, mainCircleHeight, diameter;
int[] xvals;
int[] yvals;
int num = 100;
float mx[] = new float[num];
float my[] = new float[num];
void setup()
{
size (600, 300);
background (255);
//smooth();
//noLoop();
framerate(30);
xvals = new int[5];
yvals = new int[5];
circleColor = color(241, 244, 144);
circleHighlight = color(232, 232, 132);
circleColor2 = color(255, 200, 47);
circleHighlight2 = color(249, 182, 0);
circleColor3 = color(78, 158, 200);
circleHighlight3 = color(56, 119, 183);
circleColor4 = color(0, 154, 255);
circleHighlight4 = color(0, 110, 255);
circleColor5 = color(10, 80, 161);
circleHighlight5 = color(10, 48, 161);
circleColor6 = color(241, 13, 126);
circleHighlight6 = color(207, 0, 106);
circleColor7 = color(255, 20, 10);
circleHighlight7 = color(217, 20, 10);
circleColor8 = color(129, 23, 136);
circleHighlight8 = color(91, 0, 144);
circleColor9 = color(0, 96, 0);
circleHighlight9 = color(0, 71, 0);
circleColor10 = color(0);
circleHighlight10 = color(70);
circleColor11 = color(currentColor);
circleHighlight11 = color(currentColor + 50);
baseColor = color(255);
currentColor = baseColor;
diameter = 10;
mainCircleWidth = 600;
mainCircleHeight = 300;
circleX = 10;
circleY = 60;
circle2X = 10;
circle2Y = 80;
circle3X = 10;
circle3Y = 100;
circle4X = 10;
circle4Y = 120;
circle5X = 10;
circle5Y = 140;
circle6X = 10;
circle6Y = 160;
circle7X = 10;
circle7Y = 180;
circle8X = 10;
circle8Y = 200;
circle9X = 10;
circle9Y = 220;
circle10X = 10;
circle10Y = 240;
circle11X = 10;
circle11Y = 280;
maincircleX = 0;
maincircleY = 0;
}
void draw()
{
update(mouseX, mouseY);
colorBackground();
rectActions();
}
void rectActions()
{
noStroke();
if(circleOver) {
fill(circleHighlight);
} else {
fill(circleColor);
}
ellipse(10, 60, 10, 10);
if(circleOver2) {
fill(circleHighlight2);
} else {
fill(circleColor2);
}
ellipse(10, 80, 10, 10);
if(circleOver3) {
fill(circleHighlight3);
} else {
fill(circleColor3);
}
ellipse(10, 100, 10, 10);
if(circleOver4) {
fill(circleHighlight4);
} else {
fill(circleColor4);
}
ellipse(10, 120, 10, 10);
if(circleOver5) {
fill(circleHighlight5);
} else {
fill(circleColor5);
}
ellipse(10, 140, 10, 10);
if(circleOver6) {
fill(circleHighlight6);
} else {
fill(circleColor6);
}
ellipse(10, 160, 10, 10);
if(circleOver7) {
fill(circleHighlight7);
} else {
fill(circleColor7);
}
ellipse(10, 180, 10, 10);
if(circleOver8) {
fill(circleHighlight8);
} else {
fill(circleColor8);
}
ellipse(10, 200, 10, 10);
if(circleOver9) {
fill(circleHighlight9);
} else {
fill(circleColor9);
}
ellipse(10, 220, 10, 10);
if(circleOverMain) {
lines();
lines3();
lines4();
}
noStroke();
if(circleOver10) {
fill(circleHighlight10);
} else {
fill(circleColor10);
}
ellipse(10, 240, 10, 10);
if(circleOver11) {
fill(circleHighlight11);
} else {
fill(circleColor11);
}
ellipse(10, 280, 10, 10);
}
void update(int x, int y)
{
if ( overCircle(circleX, circleY, diameter) ) {
circleOver = true;
circleOverMain = circleOver11 = circleOver10 = circleOver9 = circleOver8 = circleOver7 = circleOver6 = circleOver5 = circleOver4 = circleOver3 = circleOver2 = false;
} else if ( overCircle2(circle2X, circle2Y, diameter) ) {
circleOver2 = true;
circleOverMain = circleOver11 = circleOver10 = circleOver9 = circleOver8 = circleOver7 = circleOver6 = circleOver5 = circleOver4 = circleOver3 = circleOver = false;
} else if ( overCircle3(circle3X, circle3Y, diameter) ) {
circleOver3 = true;
circleOverMain = circleOver11 = circleOver10 = circleOver9 = circleOver8 = circleOver7 = circleOver6 = circleOver5 = circleOver4 = circleOver2 = circleOver = false;
} else if ( overCircle4(circle4X, circle4Y, diameter) ) {
circleOver4 = true;
circleOverMain = circleOver11 = circleOver10 = circleOver9 = circleOver8 = circleOver7 = circleOver6 = circleOver5 = circleOver3 = circleOver2 = circleOver = false;
} else if ( overCircle5(circle5X, circle5Y, diameter) ) {
circleOver5 = true;
circleOverMain = circleOver11 = circleOver10 = circleOver9 = circleOver8 = circleOver7 = circleOver6 = circleOver4 = circleOver3 = circleOver2 = circleOver = false;
} else if ( overCircle6(circle6X, circle6Y, diameter) ) {
circleOver6 = true;
circleOverMain = circleOver11 = circleOver10 = circleOver9 = circleOver8 = circleOver7 = circleOver5 = circleOver4 = circleOver3 = circleOver2 = circleOver = false;
} else if ( overCircle7(circle7X, circle7Y, diameter) ) {
circleOver7 = true;
circleOverMain = circleOver11 = circleOver10 = circleOver9 = circleOver8 = circleOver6 = circleOver5 = circleOver4 = circleOver3 = circleOver2 = circleOver = false;
} else if ( overCircle8(circle8X, circle8Y, diameter) ) {
circleOver8 = true;
circleOverMain = circleOver11 = circleOver10 = circleOver9 = circleOver7 = circleOver6 = circleOver5 = circleOver4 = circleOver3 = circleOver2 = circleOver = false;
} else if ( overCircle9(circle9X, circle9Y, diameter) ) {
circleOver9 = true;
circleOverMain = circleOver11 = circleOver10 = circleOver8 = circleOver7 = circleOver6 = circleOver5 = circleOver4 = circleOver3 = circleOver2 = circleOver = false;
} else if ( overCircle10(circle10X, circle10Y, diameter) ) {
circleOver10 = true;
circleOverMain = circleOver11 = circleOver9 = circleOver8 = circleOver7 = circleOver6 = circleOver5 = circleOver4 = circleOver3 = circleOver2 = circleOver = false;
} else if ( overCircle11(circle11X, circle11Y, diameter) ) {
circleOver11 = true;
circleOverMain = circleOver10 = circleOver9 = circleOver8 = circleOver7 = circleOver6 = circleOver5 = circleOver4 = circleOver3 = circleOver2 = circleOver = false;
} else if ( overMainCircle(maincircleX, maincircleY, mainCircleWidth, mainCircleHeight) ) {
circleOverMain = true;
circleOver11 = circleOver10 = circleOver9 = circleOver8 = circleOver7 = circleOver6 = circleOver5 = circleOver4 = circleOver3 = circleOver2 = circleOver = false;
} else {
circleOverMain = circleOver11 = circleOver10 = circleOver9 = circleOver8 = circleOver7 = circleOver6 = circleOver5 = circleOver4 = circleOver3 = circleOver2 = circleOver = false;
}
}
void mousePressed()
{
if(circleOver) {
currentColor = circleColor;
}
if(circleOver2) {
currentColor = circleColor2;
}
if(circleOver3) {
currentColor = circleColor3;
}
if(circleOver4) {
currentColor = circleColor4;
}
if(circleOver5) {
currentColor = circleColor5;
}
if(circleOver6) {
currentColor = circleColor6;
}
if(circleOver7) {
currentColor = circleColor7;
}
if(circleOver8) {
currentColor = circleColor8;
}
if(circleOver9) {
currentColor = circleColor9;
}
if(circleOver10) {
currentColor = circleColor10;
}
if(circleOver11) {
currentColor = currentColor;
fill(currentColor);
rect(0, 0, 600, 300);
}
if(circleOverMain==true) {
currentColor = color(255);
} else {
currentColor = currentColor;
}
}
boolean overCircle(int x, int y, int diameter)
{
float disX = x - mouseX;
float disY = y - mouseY;
if(sqrt(sq(disX) + sq(disY)) < diameter/2 ) {
return true;
} else {
return false;
}
}
boolean overCircle2(int x, int y, int diameter)
{
float disX = x - mouseX;
float disY = y - mouseY;
if(sqrt(sq(disX) + sq(disY)) < diameter/2 ) {
return true;
} else {
return false;
}
}
boolean overCircle3(int x, int y, int diameter)
{
float disX = x - mouseX;
float disY = y - mouseY;
if(sqrt(sq(disX) + sq(disY)) < diameter/2 ) {
return true;
} else {
return false;
}
}
boolean overCircle4(int x, int y, int diameter)
{
float disX = x - mouseX;
float disY = y - mouseY;
if(sqrt(sq(disX) + sq(disY)) < diameter/2 ) {
return true;
} else {
return false;
}
}
boolean overCircle5(int x, int y, int diameter)
{
float disX = x - mouseX;
float disY = y - mouseY;
if(sqrt(sq(disX) + sq(disY)) < diameter/2 ) {
return true;
} else {
return false;
}
}
boolean overCircle6(int x, int y, int diameter)
{
float disX = x - mouseX;
float disY = y - mouseY;
if(sqrt(sq(disX) + sq(disY)) < diameter/2 ) {
return true;
} else {
return false;
}
}
boolean overCircle7(int x, int y, int diameter)
{
float disX = x - mouseX;
float disY = y - mouseY;
if(sqrt(sq(disX) + sq(disY)) < diameter/2 ) {
return true;
} else {
return false;
}
}
boolean overCircle8(int x, int y, int diameter)
{
float disX = x - mouseX;
float disY = y - mouseY;
if(sqrt(sq(disX) + sq(disY)) < diameter/2 ) {
return true;
} else {
return false;
}
}
boolean overCircle9(int x, int y, int diameter)
{
float disX = x - mouseX;
float disY = y - mouseY;
if(sqrt(sq(disX) + sq(disY)) < diameter/2 ) {
return true;
} else {
return false;
}
}
boolean overCircle10(int x, int y, int diameter)
{
float disX = x - mouseX;
float disY = y - mouseY;
if(sqrt(sq(disX) + sq(disY)) < diameter/2 ) {
return true;
} else {
return false;
}
}
boolean overCircle11(int x, int y, int diameter)
{
float disX = x - mouseX;
float disY = y - mouseY;
if(sqrt(sq(disX) + sq(disY)) < diameter/2 ) {
return true;
} else {
return false;
}
}
boolean overMainCircle(int x, int y, int width, int height)
{
if (mouseX >= x && mouseX <= x+width &&
mouseY >= y && mouseY <= y+height) {
return true;
} else {
return false;
}
}
void colorBackground()
{
noStroke();
for(int a = 60; a < 250; a+=20) {
fill(200);
ellipse(10, a, 20, 20);
}
rect(-1, -1, 11, 301);
fill(200);
ellipse(10, 280, 20, 20);
}
void lines()
{
for(int i=1; i<num; i++) {
mx[i-1] = mx[i];
my[i-1] = my[i];
}
mx[num-1] = mouseX;
my[num-1] = mouseY;
for(int i=0; i<num; i++) {
stroke(currentColor);
line(300 + mx[i],300 - (my[i]), 300 + i/2,300 - (i/2));
}
}
void lines2()
{
for(int i=1; i<num; i++) {
mx[i-1] = mx[i];
my[i-1] = my[i];
}
mx[num-1] = mouseX;
my[num-1] = mouseY;
for(int i=0; i<num; i++) {
stroke(currentColor);
line(mx[i],100 + (my[i]), i/2, 100 + (i/2));
}
}
void lines3()
{
for(int i=1; i<num; i++) {
mx[i-1] = mx[i];
my[i-1] = my[i];
}
mx[num-1] = mouseX;
my[num-1] = mouseY;
for(int i=0; i<num; i++) {
stroke(currentColor);
line(20 + mx[i],(my[i]), 300 + i/2,300 - (i/2));
}
}
void lines4()
{
for(int i=1; i<num; i++) {
mx[i-1] = mx[i];
my[i-1] = my[i];
}
// Add the new values to the end of the array
mx[num-1] = mouseX;
my[num-1] = mouseY;
for(int i=0; i<num; i++) {
stroke(currentColor);
line(20 + mx[i],50 + (my[i]),50+i/2,(i/2));
}
}