I wanted to do an interactive code that gives the user a thing to do during COVID-19. It will generate random tasks that the user can complete each day in light of COVID-19 that allows them to look forward to achieving something each day, despite how sometimes we may just want to stay in bed. These tasks can be give a call to someone you miss, water your plants, or do some skincare. For me, I feel like it has been really easy to get lost in not having a plan for the day or having the motivation to do something for myself since COVID had started. I hope this project can be a daily reminder that self-care can be something small but it is essential to maintain. It is fairly easy to navigate, with a play button to start. Then the user will be prompt to pick one category of activities. There is a next button that will display random activities from the chosen category. The user can choose to refresh to get a new activity or move on and finish the roulette. To restart the game, you just have to refresh the page. Some activities are time based, such as making breakfast or go stargazing.
//Jessie Chen
//D
//Final Project
//Self Care Roulette
//global variables
var title;
var activities = [];
//homepage
var home = true;
//boolean for all categories are not selected
var rel = false;
var soc = false;
var phy = false;
var lng = false;
var qck = false;
//buttons
var play;
var homeButton;
var refresh;
var next;
//cateogies
var relax;
var quick;
var long;
var social;
var physical;
//load illustration
function preload() {
//
title = loadImage("https://i.imgur.com/Q6l9wlM.png");
play = loadImage("https://i.imgur.com/U4YlZmG.png");
var activitiesPage = [];
//long
activitiesPage[0] = "https://i.imgur.com/sNZV5FH.png"; //sewing
activitiesPage[1] = "https://i.imgur.com/82QiPiY.png"; //read
activitiesPage[2] = "https://i.imgur.com/Xld0YcB.png"; //instrument
activitiesPage[3] = "https://i.imgur.com/4AubEbi.png"; //bake
//quick
activitiesPage[4] = "https://i.imgur.com/W1H2LbU.png"; //music
activitiesPage[5] = "https://i.imgur.com/VJqD19E.png"; //draw
activitiesPage[6] = "https://i.imgur.com/3wyiMdR.png"; //breakfast
activitiesPage[7] = "https://i.imgur.com/5wUW5VD.png"; //water plants
//social
activitiesPage[8] = "https://i.imgur.com/jtYM2kP.png"; //call
activitiesPage[9] = "https://i.imgur.com/jrhmmlA.png"; //game
activitiesPage[10] = "https://i.imgur.com/W4TCa01.png"; //facemask
activitiesPage[11] = "https://i.imgur.com/fot757c.png"; //movies
//physical
activitiesPage[12] = "https://i.imgur.com/0zokbRX.png"; //laundry
activitiesPage[13] = "https://i.imgur.com/pO77RCB.png"; //stretch
activitiesPage[14] = "https://i.imgur.com/PpYiJD3.png"; //swim
activitiesPage[15] = "https://i.imgur.com/ew1Hfa5.png"; //run
//relaxing
activitiesPage[16] = "https://i.imgur.com/Yg5lxNt.png" //to do list
activitiesPage[17] = "https://i.imgur.com/TtuDd51.png"; //bath
activitiesPage[18] = "https://i.imgur.com/8bqSaWf.png"; //cloud
activitiesPage[19] = "https://i.imgur.com/2oOvf88.png"; //stars
for (var i = 0; i < activitiesPage.length; i++) {
activities[i] = loadImage(activitiesPage[i]);
}
//buttons
homeButton = loadImage("https://i.imgur.com/b1m90d7.png");
categoryPage = loadImage("https://i.imgur.com/ZhCdUXE.png");
refresh = loadImage("https://i.imgur.com/zR5a1pG.png");
next = loadImage("https://i.imgur.com/tWvuonn.png");
end = loadImage("https://i.imgur.com/KEkaCCC.png");
//categories
relax = loadImage("https://i.imgur.com/nuImFqN.png");
quick = loadImage("https://i.imgur.com/K7NvO7p.png");
long = loadImage("https://i.imgur.com/yWSUDxx.png");
social = loadImage("https://i.imgur.com/1GUldUu.png");
physical = loadImage("https://i.imgur.com/Hpf91kH.png");
}
function setup() {
createCanvas(600, 450);
}
//set to home page, when home is false, shows categories page
function draw() {
homePage();
if (home == false) {
categories();
}
}
//home page, when home is true
function homePage() {
if (home) {
background(215, 167, 167);
circles();
image(title, 0, 0, width, height);
image(play, 0, 0, width, height);
}
}
//categories page
function categories() {
background(215, 167, 167);
circles();
push();
imageMode(CENTER);
//when relaxing is selected it enlarges
if (!rel) {
image(relax, 150, 230, 200, 80);
} else if (rel) {
image(relax, 150, 230, 300, 130);
}
//when social is selected, it enlarges
if (!soc) {
image(social, 300, 140, 200, 80);
} else if (soc) {
image(social, 300, 140, 300, 130);
}
//when physcial is selected, it enlarges
if (!phy) {
image(physical, 450, 230, 200, 80);
} else if (phy) {
image(physical, 450, 230, 300, 130);
}
//when long is selected, it enlarges
if (!lng) {
image(long, 200, 330, 200, 80);
} else if (lng) {
image(long, 200, 330, 300, 130);
}
//when quick is selected, it enlarges
if (!qck) {
image(quick, 400, 330, 200, 80);
} else if (qck) {
image(quick, 400, 330, 300, 130);
}
pop();
//buttons
image(homeButton, 0, 0, width, height);
image(categoryPage, 0, 0, width, height);
}
//display activities
function activity() {
background(random(150, 200), random(150, 200), random(150, 200));
circles();
var r;
//relaxing activities based on index
if (rel) {
if (hour() > 6 & hour() < 18) { //mornings, excluding the stars
r = int(random([16, 17, 18]));
} else if (hour(0 > 20 & hour() < 4)) { //night time, excluding the clouds
r = int(random([16, 17, 19]));
}
//long activities
} else if (lng) {
r = int(random(0, 4));
//physical activities
} else if (phy) {
r = int(random(12, 16));
//quick activities
} else if (qck) {
if (hour() > 4 & hour() < 12) { //morning including breakfast
r = int(random(4, 8));
} else {
r = int(random([4, 5, 7])); //excluding breakfast past morning
}
//social activities
} else if (soc) {
r = int(random(8, 12));
}
//display image
image(activities[r], 0, 0, width, height);
//buttons
image(next, 0, 0, width, height);
image(refresh, 0, 0, width, height);
noLoop();
}
//thanks for playing
function endPage() {
background(215, 167, 167);
circles();
image(end, 0, 0, width, height);
}
//circles in the background
function circles() {
for (var x = 0; x <= width; x += 20) {
for (var y = 0; y<= height; y += 20) {
noStroke();
fill(242, 220, 203, 120);
ellipse(x, y, 10, 10);
}
}
}
function mousePressed() {
//returns to the home page
if(mouseX >= 30 & mouseX <= 80 && mouseY >= 30 && mouseY <= 80) {
home = true;
homePage();
}
// play button brings to categories page
if (mouseX >= 220 & mouseX <= 380 && mouseY >= 250 && mouseY <= 320) {
home = false;
categories();
//next button displays activies
} else if(mouseX >= 510 & mouseY >= 370 && mouseX <= 560 && mouseY <= 415) {
activity();
//refresh button displays another activity
} else if(mouseX <= 80 & mouseX >= 25 && mouseY <= 420 && mouseY >= 360) {
activity();
//end button to thanks for playing
} else if (mouseX >= 515 & mouseY >= 15 && mouseX <= 570 && mouseY <= 70) {
endPage();
}
//checks to see if boolean is selected by the user, can click to select and unselect
if (mouseX >= 10 & mouseX <= 230 && mouseY <= 250 && mouseY >= 210) {
rel = !rel;
} else if(mouseX >= 230 & mouseY >= 125 && mouseX <= 360 && mouseY <= 150) {
soc = !soc;
} else if(mouseX >= 375 & mouseY >= 210 && mouseX <= 530 && mouseY <= 245) {
phy = !phy;
} else if(mouseX >= 145 & mouseY >= 310 && mouseX <= 250 && mouseY <= 340) {
lng = !lng;
} else if(mouseX >= 340 & mouseY >= 320 && mouseX <= 455 && mouseY <= 345) {
qck = !qck;
}
}