//Aliens have been found to be living on every planet. //They've found technology to make these flying saucers. var UFOColours = [color(255,128,128,200), color(255,192,128,200), color(255,255,128,200), color(192,255,128,200), color(128,255,128,200), color(128,255,192,200), color(128,255,255,200), color(128,192,255,200), color(128,128,255,200), color(192,128,255,200), color(255,128,255,200), color(255,128,192,200), color(128,128,128,200), color(192,192,192,200), color(255,255,255,200),]; var UFORingColoursOuter = [color(255,0,0), color(255,128,0), color(255,255,0), color(128,255,0), color(0,255,0), color(0,255,128), color(0,255,255), color(0,128,255), color(0,0,255), color(128,0,255), color(255,0,255), color(255,0,255), color(255,0,128),]; var UFORingColoursCenter = [color(128,0,0), color(128,64,0), color(128,128,0), color(64,128,0), color(0,128,0), color(0,128,64), color(0,128,128), color(0,64,128), color(0,0,128), color(64,0,128), color(128,0,128), color(128,0,64),]; var backgroundColours = [color(0),color(0,0,64),color(64,0,0)]; var UFORandomRingColoursOuter = floor(random(0,UFORingColoursOuter.length)); var UFORandomRingColoursCenter = floor(random(0,UFORingColoursCenter.length)); var UFORandomColours = floor(random(0,UFOColours.length)); var backgroundRandomColours = floor(random(0,backgroundColours.length)); var starChance = floor(random(0,3)); var starX = []; var starY = []; var planetChances = floor(random(0,2)); var doublePlanetChances = floor(random(0,2)); var whichPlanet = floor(random(0,9)); var alienChances = floor(random(0,3)); var mercuryX = random(10,390); var venusX = random(10,390); var earthX = random(10,390); var marsX = random(10,390); var jupiterX = random(10,390); var saturnX = random(10,390); var uranusX = random(10,390); var neptuneX = random(10,390); var plutoX = random(10,390); var mercuryY = random(10,390); var venusY = random(10,390); var earthY = random(10,390); var marsY = random(10,390); var jupiterY = random(10,390); var saturnY = random(10,390); var uranusY = random(10,390); var neptuneY = random(10,390); var plutoY = random(10,390); if(starChance === 1){ for(var i = 0;i < 200;i++){ starX.push(random(0,400)); starY.push(random(0,400)); } } if(starChance === 2){ for(var i = 0;i < 400;i++){ starX.push(random(0,400)); starY.push(random(0,400)); } } var drawRings = function(){ noFill(); strokeWeight(61); stroke(UFORingColoursOuter[UFORandomRingColoursOuter]); ellipse(200,200+15,246,150); stroke(UFORingColoursCenter[UFORandomRingColoursCenter]); strokeWeight(10); ellipse(200,200 + 10,246,170); }; var drawUFO = function(){ noStroke(); fill(UFOColours[UFORandomColours]); ellipse(200,200 - 20,200,200); fill(128); ellipse(200,200 + 20,181,100); ellipse(200,200 + 100,150,100); stroke(255,50); strokeWeight(40); noFill(); arc(200,200 - 30,100,100,270,360); noStroke(); if(alienChances !== 0){ fill(0,255,0); ellipse(200,200,50,50); ellipse(200,200 + 30,50,100); ellipse(200 + 20,200 - 50,10,10); ellipse(200 - 20,200 - 50,10,10); ellipse(200 + 40,200 + 30,10,10); ellipse(200 - 40,200 + 30,10,10); strokeWeight(5); stroke(0,255,0); line(200 + 40,200 + 30,200,200 + 50); line(200 - 40,200 + 30,200,200 + 50); line(200 + 20,200 - 50,200,200); line(200 - 20,200 - 50,200,200); noStroke(); fill(0); ellipse(200 + 10,200 - 10,15,20); ellipse(200 - 10,200 - 10,15,20); fill(255); ellipse(200 + 10,200 - 10,3,5); ellipse(200 - 10,200 - 10,3,5); } }; var drawRingsContinued = function(){ strokeCap(SQUARE); noFill(); strokeWeight(60); stroke(UFORingColoursOuter[UFORandomRingColoursOuter]); arc(200,200 + 15,246,150,0,180); stroke(UFORingColoursCenter[UFORandomRingColoursCenter]); strokeWeight(10); arc(200,200 + 10,246,170,0,180); }; var drawStars = function(){ if(starChance === 1){ for(var i = 0;i < 200;i++){ fill(255); noStroke(); ellipse(starX[i],starY[i],5,5); } } if(starChance === 2){ for(var j = 0;j < 400;j++){ fill(255); noStroke(); ellipse(starX[j],starY[j],3,3); } } }; var drawAndCalculatePlanets = function(){ noStroke(); if(planetChances === 0){ if(whichPlanet === 0){ if(doublePlanetChances === 0){ fill(255,255,0); ellipse(0,0,500,500); } noStroke(); fill(80); ellipse(mercuryX,mercuryY,180,180); fill(255); ellipse(mercuryX - 4,mercuryY + 6,10,10); ellipse(mercuryX + 17,mercuryY + 26,10,10); ellipse(mercuryX - 38,mercuryY - 2,10,10); ellipse(mercuryX + 37,mercuryY - 39,10,10); } if(whichPlanet === 1){ fill(225,218,235); ellipse(venusX,venusY,240,240); stroke(255,230,200); strokeWeight(20); line(venusX,venusY,venusX + 90,venusY + 40); line(venusX,venusY + 40,venusX - 90,venusY - 40); if(doublePlanetChances === 0){ noStroke(); fill(80); ellipse(mercuryX,mercuryY,180,180); fill(255); ellipse(mercuryX - 4,mercuryY + 6,10,10); ellipse(mercuryX + 17,mercuryY + 26,10,10); ellipse(mercuryX - 38,mercuryY - 2,10,10); ellipse(mercuryX + 37,mercuryY - 39,10,10); } } if(whichPlanet === 2){ if(doublePlanetChances === 0){ fill(225,218,235); ellipse(venusX,venusY,240,240); stroke(255,230,200); strokeWeight(20); line(venusX,venusY,venusX + 90,venusY + 40); line(venusX,venusY + 40,venusX - 90,venusY - 40); } noStroke(); fill(88,117,188); ellipse(earthX,earthY,240,240); fill(0,128,0); ellipse(earthX - 60,earthY + 57,30,30); ellipse(earthX + 9,earthY + 53,10,10); ellipse(earthX - 55,earthY - 30,20,20); ellipse(earthX + 23,earthY - 3,30,30); } if(whichPlanet === 3){ if(doublePlanetChances === 0){ fill(88,117,188); ellipse(earthX,earthY,240,240); fill(0,128,0); ellipse(earthX - 60,earthY + 57,30,30); ellipse(earthX + 9,earthY + 53,10,10); ellipse(earthX - 55,earthY - 30,20,20); ellipse(earthX + 23,earthY - 3,30,30); } noStroke(); fill(226,123,88); ellipse(marsX,marsY,180,180); } if(whichPlanet === 4){ fill(211,156,126); ellipse(jupiterX,jupiterY,420,420); stroke(255,230,200); strokeWeight(35); line(jupiterX,jupiterY,jupiterX + 160,jupiterY + 70); line(jupiterX,jupiterY + 70,jupiterX - 160,jupiterY - 70); noStroke(); fill(226,123,88); ellipse(jupiterX + 100,jupiterY + 140,40,40); if(doublePlanetChances === 0){ noStroke(); fill(226,123,88); ellipse(marsX,marsY,180,180); } } if(whichPlanet === 5){ if(doublePlanetChances === 0){ fill(211,156,126); ellipse(jupiterX,jupiterY,420,420); stroke(255,230,200); strokeWeight(35); line(jupiterX,jupiterY,jupiterX + 160,jupiterY + 70); line(jupiterX,jupiterY + 70,jupiterX - 160,jupiterY - 70); noStroke(); fill(226,123,88); ellipse(jupiterX + 100,jupiterY + 140,40,40); } noFill(); strokeWeight(35); stroke(191,170,110); arc(saturnX,saturnY + 20,350,120,-70,250); strokeWeight(5); stroke(0); arc(saturnX,saturnY + 20,350,120,-70,250); noStroke(); fill(191,170,110); ellipse(saturnX,saturnY,240,240); noFill(); stroke(0); strokeWeight(5); arc(saturnX,saturnY + 20,350,120,0,180); } if(whichPlanet === 6){ if(doublePlanetChances === 0){ noFill(); strokeWeight(35); stroke(191,170,110); arc(saturnX,saturnY + 20,350,120,-70,250); strokeWeight(5); stroke(0); arc(saturnX,saturnY + 20,350,120,-70,250); noStroke(); fill(191,170,110); ellipse(saturnX,saturnY,240,240); noFill(); stroke(0); strokeWeight(5); arc(saturnX,saturnY + 20,350,120,0,180); } noStroke(); fill(147,184,190); ellipse(uranusX,uranusY,240,240); } if(whichPlanet === 7){ if(doublePlanetChances === 0){ fill(147,184,190); ellipse(uranusX,uranusY,240,240); } noStroke(); fill(62,84,232); ellipse(neptuneX,neptuneY,240,240); fill(255); ellipse(neptuneX,neptuneY,30,10); } if(whichPlanet === 8){ if(doublePlanetChances === 0){ fill(62,84,232); ellipse(neptuneX,neptuneY,240,240); fill(255); ellipse(neptuneX,neptuneY,30,10); } noStroke(); fill(187,183,171); ellipse(plutoX,plutoY,60,60); } } }; var draw = function(){ background(backgroundColours[backgroundRandomColours]); drawStars(); drawAndCalculatePlanets(); drawRings(); drawUFO(); drawRingsContinued(); };