Rob George
Week 6: Rollovers + 25 Dots Part A + First Draft Winter Translator
Updated: Dec 10, 2020
Task 1: Stop Go Simple Traffic Light
This task was to practice with rollovers and buttons.
//Week 6: Task 1
float diam=240;
float x1=200;
float y1=150;
float x2=200;
float y2=425;
boolean Green=false;
boolean Red=false;
void setup() {
size(600, 600);
}
void draw() {
background(#FFCC24);
//Green Light
fill(#109D0A);
noStroke();
ellipse(x1, y1, diam, diam);
//Red Light
fill(#F52100);
noStroke();
ellipse(x2, y2, diam, diam);
//Lights Boolean
if (Green){
fill(#109D0A);
noStroke();
ellipse(x1, y1, diam, diam);
textAlign(CENTER);
textSize(70);
text("GO!", 425,200);
}else if (Red){
fill(#F52100);
noStroke();
ellipse(x2, y2, diam, diam);
textAlign(CENTER);
textSize(70);
text("STOP!", 450, 450);
}
//Rollover
if (dist(x1,y1,mouseX,mouseY)<diam/2) {
stroke(255);
strokeWeight(5);
fill(#109D0A);
ellipse(x1, y1, diam, diam);
} else if (dist(x2,y2,mouseX,mouseY)<diam/2) {
stroke(255);
strokeWeight(5);
fill(#F52100);
ellipse(x2, y2, diam, diam);
}
}
void mousePressed(){
if (dist(x1,y1,mouseX,mouseY)<diam/2){
Green=true;
Red=false;
}else if (dist(x2,y2,mouseX,mouseY)<diam/2){
Green=false;
Red=true;
}
}
Assignment 1: 25 Dots Part A
This is Part A of a 25 dots assignment. For this part I had created the 5x5 dots that I will be using for the rest of this project. I created them by using a nested for loop.

//25 Dots Part A
void setup() {
size(720, 720);
}
void draw() {
background(255);
noStroke();
fill(0);
//25 Dots
for (float x=120; x<width; x=x+120) { //Nested for loops
for (float y=120; y<height; y=y+120) {
float diam=50; //Local variable: ellipse diameter is 50
ellipse(x, y, diam, diam);
}
}
//MATH:
//To Find x and y:
//1) 5/6 = 0.83 2) 720*0.83 = 597.6 (rounded up to 600) 3) 720-600=120
}
Assignment 2: Completed Translator
I added icicles and snow. The snow increases by level of difficulty but after a critique I decided I would change the last language (Greek) to Swedish to pair the snow with location and temperature. The colors of the buttons also indicate this as they go from a warmer color to the coldest color. The green also needs to be more of a mint green because it is currently too warm. You can view the newer version in Week 7.
int diam=240; //Button Diameter
int diam2=1200; //Giat snowball diameter
//Buttons
int xENGL=150;
int yENGL=800;
int xSPAN=450;
int ySPAN=800;
int xITAL=750;
int yITAL=800;
int xFREN=1050;
int yFREN=800;
int xGREK=1350;
int yGREK=800;
//Booleans for all buttons
boolean btENGL=false;
boolean btSPAN=false;
boolean btITAL=false;
boolean btFREN=false;
boolean btGREK=false;
boolean bckgrnd=false;
//Making the header translate too
boolean header=true;
//Icicle 1
float iceX1=164;
float iceY1=130;
float iceX1_2=200;
float iceY1_2=240;
float iceX1_3=180;
float iceY1_3=550;
//Icicle 2
float iceX2=250;
float iceY2=140;
float iceX2_2=300;
float iceY2_2=340;
float iceX2_3=275;
float iceY2_3=725;
//Icicle 3
float iceX3=1185;
float iceY3=140;
float iceX3_2=1250;
float iceY3_2=270;
float iceX3_3=1205;
float iceY3_3=840;
//Icicle 4
float iceX4=570;
float iceY4=500;
float iceX4_2=600;
float iceY4_2=550;
float iceX4_3=585;
float iceY4_3=675;
//Snow Images for Buttons
PImage moderateSnow;
PImage heavySnow;
void setup() {
size(1500, 1000);
moderateSnow=loadImage("Moderate Snow@300x.png");
imageMode(CENTER);
moderateSnow.resize(0, 50);
heavySnow=loadImage("Heavy Snow@300x.png");
imageMode(CENTER);
heavySnow.resize(0, 100);
}
void draw() {
background(7, 18, 44);
//Word Display Snowball
noStroke();
fill(255);
ellipse(width/2, 0, diam2, diam2);
//Initial Header text
if (header) {
fill(7, 18, 44);
textSize(90);
textAlign(CENTER);
text("Winter Translator", width/2, 140);
}
//Button Shape
fill(255);
noStroke();
ellipse(xENGL, yENGL, diam, diam);
ellipse(xSPAN, ySPAN, diam, diam);
ellipse(xITAL, yITAL, diam, diam);
ellipse(xFREN, yFREN, diam, diam);
ellipse(xGREK, yGREK, diam, diam);
//Button Text
fill(7, 18, 44);
textSize(40);
textAlign(CENTER);
text("English", xENGL, 810);
text("Spanish", xSPAN, 810);
text("Italian", xITAL, 810);
text("French", xFREN, 810);
text("Greek", xGREK, 810);
//TRANSLATIONS
if (btENGL) { //English
fill(73, 20, 159);
noStroke();
ellipse(xENGL, yENGL, diam, diam);
fill(255);
textSize(40);
textAlign(CENTER);
text("English", xENGL, 810);
//content
fill(73, 20, 159);
textSize(70);
textAlign(CENTER);
text("My favorite season!", width/2, 340);
//Header text
fill(7, 18, 44);
textSize(90);
textAlign(CENTER);
text("Winter Translator", width/2, 140);
} else if (btSPAN) { //Spanish
fill(0, 175, 76);
noStroke();
ellipse(xSPAN, ySPAN, diam, diam);
fill(255);
textSize(40);
textAlign(CENTER);
text("Spanish", xSPAN, 810);
//content
fill(0, 175, 76);
textSize(70);
textAlign(CENTER);
text("Mi estación favorita!", width/2, 340);
//ICICLE //ICICLE
fill(255);
noStroke();
triangle(iceX1, iceY1, iceX1_2, iceY1_2, iceX1_3, iceY1_3);
//Header text
fill(7, 18, 44);
textSize(90);
textAlign(CENTER);
text("Traductor de invierno", width/2, 140);
} else if (btITAL) { //Italian
fill(0, 170, 135);
noStroke();
ellipse(xITAL, yITAL, diam, diam);
fill(255);
textSize(40);
textAlign(CENTER);
text("Italian", xITAL, 810);
//content
fill(0, 170, 135);
textSize(70);
textAlign(CENTER);
text("La mia stagione preferita!", width/2, 340);
//ICICLES //ICICLES
fill(255);
noStroke();
triangle(iceX1, iceY1, iceX1_2, iceY1_2, iceX1_3, iceY1_3);
triangle(iceX2, iceY2, iceX2_2, iceY2_2, iceX2_3, iceY2_3);
//SNOWING //Light Snowfall
frameRate(2);
fill(7, 18, 44, 5);
rect(0, 0, width, height);
noStroke();
fill(255);
ellipse(random(width), random(height), 30, 30);
ellipse(random(width), random(height), 20, 20);
ellipse(random(width), random(height), 40, 40);
//Header text
fill(7, 18, 44);
textSize(90);
textAlign(CENTER);
text("Traduttore Invernale", width/2, 140);
} else if (btFREN) { //French
fill(0, 134, 207);
noStroke();
ellipse(xFREN, yFREN, diam, diam);
fill(255);
textSize(40);
textAlign(CENTER);
text("French", xFREN, 810);
//content
fill(0, 134, 207);
textSize(70);
textAlign(CENTER);
text("Ma saison préférée!", width/2, 340);
//ICICLES //ICICLES
fill(255);
noStroke();
triangle(iceX1, iceY1, iceX1_2, iceY1_2, iceX1_3, iceY1_3);
triangle(iceX2, iceY2, iceX2_2, iceY2_2, iceX2_3, iceY2_3);
triangle(iceX3, iceY3, iceX3_2, iceY3_2, iceX3_3, iceY3_3);
//SNOWING //Moderate Snowfall
frameRate(5);
fill(7, 18, 44, 5);
rect(0, 0, width, height);
noStroke();
fill(255);
ellipse(random(width), random(height), 20, 20);
ellipse(random(width), random(height), 30, 30);
ellipse(random(width), random(height), 25, 25);
ellipse(random(width), random(height), 40, 40);
//Moderate Snow On Top of FRENCH Button //Moderate Button Snow
image(moderateSnow, 1050, 700);
//Header text
fill(7, 18, 44);
textSize(90);
textAlign(CENTER);
text("L'Hiver Traducteur", width/2, 140);
} else if (btGREK) { //Greek
fill(0, 93, 144);
noStroke();
ellipse(xGREK, yGREK, diam, diam);
fill(255);
textSize(40);
textAlign(CENTER);
text("Greek", xGREK, 810);
//content
fill(0, 93, 144);
textSize(70);
textAlign(CENTER);
text("Η αγαπημένη μου σεζόν!", width/2, 340);
//ICICLES //ICICLES
fill(255);
noStroke();
triangle(iceX1, iceY1, iceX1_2, iceY1_2, iceX1_3, iceY1_3);
triangle(iceX2, iceY2, iceX2_2, iceY2_2, iceX2_3, iceY2_3);
triangle(iceX3, iceY3, iceX3_2, iceY3_2, iceX3_3, iceY3_3);
triangle(iceX4, iceY4, iceX4_2, iceY4_2, iceX4_3, iceY4_3);
//SNOWING //Blizzard
frameRate(10);
fill(7, 18, 44, 5);
rect(0, 0, width, height);
noStroke();
fill(255);
ellipse(random(width), random(height), 20, 20);
ellipse(random(width), random(height), 30, 30);
ellipse(random(width), random(height), 25, 25);
ellipse(random(width), random(height), 35, 35);
ellipse(random(width), random(height), 40, 40);
//Heavy Snow On Top of GREEK Button //Heavy Button Snow
image(heavySnow, 1350, 700);
//Header text
fill(7, 18, 44);
textSize(80);
textAlign(CENTER);
text("Χειμώνας Μεταφραστής", width/2, 140);
}
println(mouseX, mouseY);
}
void mousePressed() {
//when mouse pressed on English button
if (dist(xENGL, yENGL, mouseX, mouseY)<diam/2) {
btENGL=true;
btSPAN=false;
btITAL=false;
btFREN=false;
btGREK=false;
header=false;
}
//when mouse pressed on Spanish button
if (dist(xSPAN, ySPAN, mouseX, mouseY)<diam/2) {
btENGL=false;
btSPAN=true;
btITAL=false;
btFREN=false;
btGREK=false;
header=false;
}
//when mouse pressed on Spanish button
if (dist(xITAL, yITAL, mouseX, mouseY)<diam/2) {
btENGL=false;
btSPAN=false;
btITAL=true;
btFREN=false;
btGREK=false;
header=false;
}
//when mouse pressed on Spanish button
if (dist(xFREN, yFREN, mouseX, mouseY)<diam/2) {
btENGL=false;
btSPAN=false;
btITAL=false;
btFREN=true;
btGREK=false;
header=false;
}
//when mouse pressed on Spanish button
if (dist(xGREK, yGREK, mouseX, mouseY)<diam/2) {
btENGL=false;
btSPAN=false;
btITAL=false;
btFREN=false;
btGREK=true;
header=false;
}
}