/*
elite dangerous
interact by moving mouse up and down the screen
Conor Norman 991 477 800
*/
void setup() {
size(400, 400);
frameRate(30);
rectMode(CORNERS);
}
void draw() {
colorMode(RGB, 100, 100, 100, 100);
//creates black background
background(0);
//stars
ellipseMode(CENTER);
noStroke();
//constantly changes the opacity of stars
fill(100, 100, 100, 80*sin(frameCount*0.2));
ellipse(300, 10, 4, 4);
ellipse(100, 80, 5, 5);
ellipse(90, 350, 3, 3);
ellipse(220, 170, 4, 4);
fill(100, 100, 100, 80*sin(frameCount*0.45));
ellipse(312, 315, 5, 5);
ellipse(60, 185, 5, 5);
ellipse(350, 85, 6, 6);
ellipse(190, 250, 3, 3);
fill(100, 100, 100, 80*sin(frameCount*0.28));
ellipse(330, 200, 6, 6);
ellipse(210, 340, 5, 5);
ellipse(230, 70, 2, 2);
fill(100, 100, 100, 80*sin(frameCount*0.1));
ellipse(40, 280, 5, 5);
ellipse(130, 20, 5, 5);
ellipse(20, 20, 3, 3);
ellipseMode(CORNERS);
//changes opacity of middle with mouse movement
fill(20, 80, 80, 170-mouseY);
stroke(20, 80, 80, 170-mouseY);
strokeWeight(2);
//top center
line(193, 152, 193, 150);
rect(193, 153, 194, 177);
rect(193, 179, 208, 191);
rect(194, 176, 192, 172);
rect(196, 183, 191, 177);
rect(197, 179, 196, 178);
rect(193, 184, 192, 183);
line(208, 152, 208, 150);
rect(207, 153, 208, 180);
rect(205, 177, 210, 183);
rect(209, 176, 207, 172);
rect(208, 183, 209, 184);
rect(204, 178, 205, 179);
triangle(206, 192, 195, 192, 200, 196);
triangle(194, 224, 207, 224, 200, 256);
triangle(210, 210, 191, 210, 200, 217);
rect(186, 205, 215, 209);
rect(185, 209, 178, 207);
rect(185, 207, 182, 206);
triangle(177, 209, 175, 209, 177, 207);
triangle(190, 204, 198, 204, 190, 196);
triangle(187, 196, 187, 199, 183, 199);
rect(188, 196, 189, 199);
rect(216, 207, 223, 209);
rect(216, 206, 219, 207);
triangle(224, 207, 224, 209, 226, 209);
triangle(203, 204, 211, 204, 211, 196);
triangle(214, 196, 214, 199, 218, 199);
rect(212, 196, 213, 199);
//bottom center
triangle(195, 304, 206, 304, 200, 292);
triangle(191, 328, 183, 328, 191, 335);
triangle(191, 311, 183, 327, 191, 327);
triangle(192, 327, 196, 310, 192, 310);
triangle(196, 302, 192, 309, 196, 309);
triangle(192, 309, 198, 305, 196, 305);
triangle(210, 328, 210, 335, 218, 328);
triangle(210, 311, 217, 327, 210, 327);
triangle(209, 327, 205, 310, 209, 310);
triangle(205, 309, 209, 309, 205, 302);
triangle(205, 309, 205, 305, 203, 305);
triangle(208, 352, 193, 352, 200, 314);
ellipse(193, 370, 208, 345);
fill(20, 80, 80);
stroke(20, 80, 80);
//small wing left
triangle(189-mouseY*0.5, 225, 197-mouseY*0.5, 276, 167-mouseY*0.5, 249);
quad(189-mouseY*0.5, 225, 178-mouseY*0.5, 215, 156-mouseY*0.5, 239, 167-mouseY*0.5, 249);
rect(178-mouseY*0.5, 230, 164-mouseY*0.5, 215);
quad(156-mouseY*0.5, 239, 127-mouseY*0.5, 213, 143-mouseY*0.5, 195, 172-mouseY*0.5, 222);
triangle(128-mouseY*0.5, 210, 135-mouseY*0.5, 202, 134-mouseY*0.5, 186);
rect(134-mouseY*0.5, 158, 152-mouseY*0.5, 203);
triangle(153-mouseY*0.5, 191, 153-mouseY*0.5, 179, 163-mouseY*0.5, 179);
triangle(153-mouseY*0.5, 159, 153-mouseY*0.5, 169, 163-mouseY*0.5, 169);
rect(153-mouseY*0.5, 170, 165-mouseY*0.5, 178);
quad(116-mouseY*0.5, 124, 101-mouseY*0.5, 139, 139-mouseY*0.5, 176, 154-mouseY*0.5, 160);
triangle(116-mouseY*0.5, 124, 101-mouseY*0.5, 139, 93-mouseY*0.5, 102);
//large wing left
quad(196-mouseY, 284, 181-mouseY, 318, 152-mouseY, 290, 167-mouseY, 258);
rect(151-mouseY, 265, 159-mouseY, 290);
quad(167-mouseY, 258, 175-mouseY, 289, 64-mouseY, 185, 76-mouseY, 173);
rect(105-mouseY, 201, 115-mouseY, 209);
triangle(115-mouseY, 200, 115-mouseY, 190, 119-mouseY, 195);
triangle(77-mouseY, 174, 64-mouseY, 185, 62-mouseY, 161);
triangle(113-mouseY, 240, 106-mouseY, 246, 103-mouseY, 231);
triangle(143-mouseY, 267, 134-mouseY, 273, 143-mouseY, 282);
quad(143-mouseY, 267, 113-mouseY, 240, 106-mouseY, 246, 134-mouseY, 273);
triangle(116-mouseY, 163, 105-mouseY, 171, 104-mouseY, 152);
ellipse(127-mouseY, 188, 120-mouseY, 172);
quad(128-mouseY, 176, 120-mouseY, 185, 105-mouseY, 171, 116-mouseY, 163);
quad(114-mouseY, 190, 103-mouseY, 201, 77-mouseY, 175, 88-mouseY, 164);
rect(104-mouseY, 190, 114-mouseY, 201);
rect(78-mouseY, 145, 97-mouseY, 173);
quad(95-mouseY, 153, 81-mouseY, 169, 38-mouseY, 130, 52-mouseY, 114);
triangle(53-mouseY, 115, 38-mouseY, 129, 38-mouseY, 102);
rect(54-mouseY, 103, 85-mouseY, 143);
quad(84-mouseY, 103, 68-mouseY, 120, 12-mouseY, 68, 28-mouseY, 51);
triangle(28-mouseY, 51, 12-mouseY, 68, 6-mouseY, 33);
rect(85-mouseY, 134, 90-mouseY, 145);
triangle(96-mouseY, 144, 91-mouseY, 144, 91-mouseY, 136);
triangle(89-mouseY, 133, 86-mouseY, 133, 85-mouseY, 103);
//extra wings left
rect(40-mouseY*1.5, 217, 86-mouseY*1.5, 237);
rect(87-mouseY*1.5, 227, 97-mouseY*1.5, 237);
triangle(96-mouseY*1.5, 226, 87-mouseY*1.5, 226, 87-mouseY*1.5, 218);
triangle(39-mouseY*1.5, 237, 20-mouseY*1.5, 221, 39-mouseY*1.5, 221);
rect(22-mouseY*1.5, 217, 40-mouseY*1.5, 220);
triangle(22-mouseY*1.5, 217, 22-mouseY*1.5, 220, 19-mouseY*1.5, 220);
triangle(119-mouseY*1.5, 271, 83-mouseY*1.5, 271, 99-mouseY*1.5, 250);
triangle(97-mouseY*1.5, 246, 52-mouseY*1.5, 246, 83-mouseY*1.5, 271);
triangle(101-mouseY*1.5, 252, 85-mouseY*1.5, 268, 96-mouseY*1.5, 246);
triangle(127-mouseY*1.5, 306, 96-mouseY*1.5, 280, 127-mouseY*1.5, 280);
triangle(138-mouseY*1.5, 289, 138-mouseY*1.5, 314, 165-mouseY*1.5, 314);
quad(137-mouseY*1.5, 313, 128-mouseY*1.5, 306, 128-mouseY*1.5, 281, 137-mouseY*1.5, 289);
//right side
//small wing right
triangle(211+mouseY*0.5, 225, 203+mouseY*0.5, 276, 233+mouseY*0.5, 249);
quad(211+mouseY*0.5, 225, 222+mouseY*0.5, 215, 244+mouseY*0.5, 239, 233+mouseY*0.5, 249);
rect(222+mouseY*0.5, 230, 236+mouseY*0.5, 215);
quad(244+mouseY*0.5, 239, 273+mouseY*0.5, 213, 257+mouseY*0.5, 195, 228+mouseY*0.5, 222);
triangle(272+mouseY*0.5, 210, 265+mouseY*0.5, 202, 266+mouseY*0.5, 186);
rect(266+mouseY*0.5, 158, 248+mouseY*0.5, 203);
triangle(247+mouseY*0.5, 191, 247+mouseY*0.5, 179, 237+mouseY*0.5, 179);
triangle(247+mouseY*0.5, 159, 247+mouseY*0.5, 169, 237+mouseY*0.5, 169);
rect(247+mouseY*0.5, 170, 235+mouseY*0.5, 178);
quad(284+mouseY*0.5, 124, 299+mouseY*0.5, 139, 261+mouseY*0.5, 176, 246+mouseY*0.5, 160);
triangle(284+mouseY*0.5, 124, 299+mouseY*0.5, 139, 307+mouseY*0.5, 102);
//large wing right
quad(204+mouseY, 284, 219+mouseY, 318, 248+mouseY, 290, 233+mouseY, 258);
rect(248+mouseY, 265, 241+mouseY, 290);
quad(233+mouseY, 258, 225+mouseY, 289, 336+mouseY, 185, 324+mouseY, 173);
rect(295+mouseY, 201, 285+mouseY, 209);
triangle(285+mouseY, 200, 285+mouseY, 190, 281+mouseY, 195);
triangle(323+mouseY, 174, 336+mouseY, 185, 338+mouseY, 161);
triangle(287+mouseY, 240, 294+mouseY, 246, 297+mouseY, 231);
triangle(257+mouseY, 267, 266+mouseY, 273, 257+mouseY, 282);
quad(257+mouseY, 267, 287+mouseY, 240, 294+mouseY, 246, 266+mouseY, 273);
triangle(284+mouseY, 163, 295+mouseY, 171, 296+mouseY, 152);
ellipse(273+mouseY, 188, 280+mouseY, 172);
quad(272+mouseY, 176, 280+mouseY, 185, 295+mouseY, 171, 284+mouseY, 163);
quad(286+mouseY, 190, 297+mouseY, 201, 323+mouseY, 175, 312+mouseY, 164);
rect(296+mouseY, 190, 286+mouseY, 201);
rect(322+mouseY, 145, 303+mouseY, 173);
quad(305+mouseY, 153, 319+mouseY, 169, 362+mouseY, 130, 348+mouseY, 114);
triangle(347+mouseY, 115, 362+mouseY, 129, 362+mouseY, 102);
rect(346+mouseY, 103, 315+mouseY, 143);
quad(316+mouseY, 103, 332+mouseY, 120, 388+mouseY, 68, 372+mouseY, 51);
triangle(372+mouseY, 51, 388+mouseY, 68, 394+mouseY, 33);
rect(315+mouseY, 134, 310+mouseY, 145);
triangle(304+mouseY, 144, 309+mouseY, 144, 309+mouseY, 136);
triangle(311+mouseY, 133, 314+mouseY, 133, 315+mouseY, 103);
//extra wings right
rect(360+mouseY*1.5, 217, 314+mouseY*1.5, 237);
rect(313+mouseY*1.5, 227, 303+mouseY*1.5, 237);
triangle(304+mouseY*1.5, 226, 313+mouseY*1.5, 226, 313+mouseY*1.5, 218);
triangle(361+mouseY*1.5, 237, 380+mouseY*1.5, 221, 361+mouseY*1.5, 221);
rect(378+mouseY*1.5, 217, 360+mouseY*1.5, 220);
triangle(378+mouseY*1.5, 217, 378+mouseY*1.5, 220, 381+mouseY*1.5, 220);
triangle(281+mouseY*1.5, 271, 317+mouseY*1.5, 271, 301+mouseY*1.5, 250);
triangle(303+mouseY*1.5, 246, 348+mouseY*1.5, 246, 317+mouseY*1.5, 271);
triangle(299+mouseY*1.5, 252, 315+mouseY*1.5, 268, 304+mouseY*1.5, 246);
triangle(273+mouseY*1.5, 306, 304+mouseY*1.5, 280, 273+mouseY*1.5, 280);
triangle(262+mouseY*1.5, 289, 262+mouseY*1.5, 314, 235+mouseY*1.5, 314);
quad(263+mouseY*1.5, 313, 272+mouseY*1.5, 306, 272+mouseY*1.5, 281, 263+mouseY*1.5, 289);
}