For my first assignment using java, my main goal was to get used to the language. I just finished studying python in the previous semester, so I found that there are some useful similarities while I was coding this project. In general, doing this small exercise proved to be a good introduction to java, helping me develop important coding habits that relate to java.
Project wise, we were asked to draw a not-so-accurate self-portrait of ourselves, so I took that requirement to somewhat of an extreme. I never really excelled at detailed intricate art anyways, so I decided to go a bit crazy and draw a demon version of myself. I have one red eye, red hair, and I knew demons can be scary for some people so I threw in some dad styles to cheer the picture up.
A big drawback to this week’s project is that I didn’t try to avoid hard coding that much, I felt like I wanted to start off just getting to know the language. In next week’s project, I want to design my code better and make it much more aesthetically pleasing.
void setup() {
size(700, 900);
background(128,128,128);
}
void draw() {
ground();
hair();
face();
eyes();
body();
Nathan();
Gotmilk();
}
void Nathan() {
textSize(32);
fill(255, 102, 178);
text("Friendly Demon Nathan", 10, 30);
}
void Gotmilk() {
textSize(30);
fill(255, 255, 255);
text(" Got \nMilk?\n :)", 310, 370);
}
void face() {
//skin
fill(255, 255, 51);
ellipse(350, 200, 100, 140);
noStroke();
//mouth
fill(0, 0, 0);
noStroke();
arc(350, 230, 50, 40, 0, PI, PIE);
}
void hair() {
fill(255, 0, 0);
noStroke();
arc(350, 140, 130, 180, 0, PI, PIE);
}
void eyes() {
//sclera
fill(255, 255, 255);
stroke(0, 0, 0);
strokeWeight(0.5);
ellipse(350, 180, 40, 50);
//pupil
fill(255, 0, 0);
noStroke();
ellipse(350, 190, 20, 20);
}
void body() {
//arms
stroke(255, 255, 51);
strokeWeight(30);
line(280, 320, 220, 400);
stroke(255, 255, 51);
strokeWeight(30);
line(220, 400, 200, 530);
stroke(255, 255, 51);
strokeWeight(30);
line(420, 330, 470, 400);
stroke(255, 255, 51);
strokeWeight(30);
line(470, 400, 490, 530);
//neck
stroke(255, 255, 51);
strokeWeight(9);
line(350, 270, 350, 290);
//T-shirt
fill(0,0,0);
noStroke();
rect(275, 290, 150, 250, 15);
//pants
fill(0,76,153);
quad(275, 515, 270, 820, 340, 820, 350, 515);
fill(0,76,153);
quad(350, 515, 355, 820, 425, 820, 425, 515);
fill(102,51,0);
rect(270, 515, 160, 20);
stroke(255, 255, 51);
strokeWeight(30);
line(290, 835, 320, 835);
line(375, 835, 405, 835);
//sleeves
noStroke();
fill(0,0,0);
triangle(285, 290, 240, 330, 275, 360);
fill(0,0,0);
triangle(415, 290, 410, 370, 460, 330);
}
void ground() {
noStroke();
fill(0, 0, 0);
rect(0, 700, 700, 900);
}
