class SpaceInvader { color c; int t; int sizeunit = 4; SpaceInvader(color col, int tt) { // set up some randomness here c = col; t = tt; } void SIdisplay() { // The reson i write it like this is because i am not sure // how the = syntax goes, whether it's = or ==. // It's probably == but this works too. // I draw know that it would be more efficient to draw the boxes and 'empty' // part of them but I dont' knw if it picks up the background // or the underlying color so I'll stick to lines. noStroke(); fill(c); rectMode(CORNER); int topleftx = mouseX-6*sizeunit; int toplefty = mouseY-4*sizeunit; if (t > 1) { if (t > 2) { //type 3 space invader by line rect(topleftx+2*sizeunit, toplefty, 1*sizeunit, 1*sizeunit); rect(topleftx+9*sizeunit, toplefty, 1*sizeunit, 1*sizeunit); rect(topleftx+3*sizeunit, toplefty+1*sizeunit, 1*sizeunit, 1*sizeunit); rect(topleftx+8*sizeunit, toplefty+1*sizeunit, 1*sizeunit, 1*sizeunit); rect(topleftx+2*sizeunit, toplefty+2*sizeunit, 8*sizeunit, 1*sizeunit); rect(topleftx+1*sizeunit, toplefty+3*sizeunit, 2*sizeunit, 1*sizeunit); rect(topleftx+4*sizeunit, toplefty+3*sizeunit, 4*sizeunit, 1*sizeunit); rect(topleftx+9*sizeunit, toplefty+3*sizeunit, 2*sizeunit, 1*sizeunit); rect(topleftx, toplefty+4*sizeunit, 12*sizeunit, 1*sizeunit); rect(topleftx, toplefty+5*sizeunit, 1*sizeunit, 1*sizeunit); rect(topleftx+2*sizeunit, toplefty+5*sizeunit, 8*sizeunit, 1*sizeunit); rect(topleftx+11*sizeunit, toplefty+5*sizeunit, 1*sizeunit, 1*sizeunit); rect(topleftx, toplefty+6*sizeunit, 1*sizeunit, 1*sizeunit); rect(topleftx+2*sizeunit, toplefty+6*sizeunit, 1*sizeunit, 1*sizeunit); rect(topleftx+9*sizeunit, toplefty+6*sizeunit, 1*sizeunit, 1*sizeunit); rect(topleftx+11*sizeunit, toplefty+6*sizeunit, 1*sizeunit, 1*sizeunit); rect(topleftx+3*sizeunit, toplefty+7*sizeunit, 2*sizeunit, 1*sizeunit); rect(topleftx+7*sizeunit, toplefty+7*sizeunit, 2*sizeunit, 1*sizeunit); } else { //type 2 space invader by line rect(topleftx+4*sizeunit, toplefty, 4*sizeunit, 1*sizeunit); rect(topleftx+1*sizeunit, toplefty+1*sizeunit, 10*sizeunit, 1*sizeunit); rect(topleftx, toplefty+2*sizeunit, 3*sizeunit, 1*sizeunit); rect(topleftx+5*sizeunit, toplefty+2*sizeunit, 2*sizeunit, 1*sizeunit); rect(topleftx+9*sizeunit, toplefty+2*sizeunit, 3*sizeunit, 1*sizeunit); rect(topleftx, toplefty+3*sizeunit, 12*sizeunit, 1*sizeunit); rect(topleftx+3*sizeunit, toplefty+4*sizeunit, 6*sizeunit, 1*sizeunit); rect(topleftx+3*sizeunit, toplefty+5*sizeunit, 1*sizeunit, 1*sizeunit); rect(topleftx+5*sizeunit, toplefty+5*sizeunit, 2*sizeunit, 1*sizeunit); rect(topleftx+8*sizeunit, toplefty+5*sizeunit, 1*sizeunit, 1*sizeunit); rect(topleftx+2*sizeunit, toplefty+6*sizeunit, 2*sizeunit, 1*sizeunit); rect(topleftx+8*sizeunit, toplefty+6*sizeunit, 2*sizeunit, 1*sizeunit); rect(topleftx, toplefty+7*sizeunit, 2*sizeunit, 1*sizeunit); rect(topleftx+10*sizeunit, toplefty+7*sizeunit, 2*sizeunit, 1*sizeunit); } } else { // type 1 space invader by line rect(topleftx+4*sizeunit, toplefty, 4*sizeunit, 1*sizeunit); rect(topleftx+3*sizeunit, toplefty+1*sizeunit, 6*sizeunit, 1*sizeunit); rect(topleftx+2*sizeunit, toplefty+2*sizeunit, 8*sizeunit, 1*sizeunit); rect(topleftx+1*sizeunit, toplefty+3*sizeunit, 2*sizeunit, 1*sizeunit); rect(topleftx+5*sizeunit, toplefty+3*sizeunit, 2*sizeunit, 1*sizeunit); rect(topleftx+9*sizeunit, toplefty+3*sizeunit, 2*sizeunit, 1*sizeunit); rect(topleftx+1*sizeunit, toplefty+4*sizeunit, 10*sizeunit, 1*sizeunit); rect(topleftx+4*sizeunit, toplefty+5*sizeunit, 1*sizeunit, 1*sizeunit); rect(topleftx+7*sizeunit, toplefty+5*sizeunit, 1*sizeunit, 1*sizeunit); rect(topleftx+2*sizeunit, toplefty+6*sizeunit, 2*sizeunit, 1*sizeunit); rect(topleftx+5*sizeunit, toplefty+6*sizeunit, 2*sizeunit, 1*sizeunit); rect(topleftx+8*sizeunit, toplefty+6*sizeunit, 2*sizeunit, 1*sizeunit); rect(topleftx, toplefty+7*sizeunit, 2*sizeunit, 1*sizeunit); rect(topleftx+4*sizeunit, toplefty+7*sizeunit, 1*sizeunit, 1*sizeunit); rect(topleftx+7*sizeunit, toplefty+7*sizeunit, 1*sizeunit, 1*sizeunit); rect(topleftx+10*sizeunit, toplefty+7*sizeunit, 2*sizeunit, 1*sizeunit); } } }