/* It seems like 90% of meeting new people is judging on a first impression.
While much of what we appreciate in a person may be based on their personality,
likes and dislikes, etc, a firt impression is based mostly on looks. So this
program acts a way to act out what we may impolitely think when meeting someone.
Clicking the mouse as the cursor moves produces a "friendly" or "unfriendly"
response depending on how the user feels. Then, the judged person moves away
allowing another to step into the line. Welcome to the self-centered world of
friend making.
*/
Person h;
Person i;
Person j;
Person k;
Person l;
PFont font;
String[] phrases = new String [40];
String saying;
PImage a;
PImage gradient;
float x = 10.0;
float speed = 1.0;
float radius = 9.0;
int direction = 1;
int end = 263;
void setup() {
size (600, 400);
h = new Person(524, -51, 0);
i = new Person(483, -36, 1);
j = new Person(433, -13, 2);
k = new Person(383, 10, 3);
l = new Person(383, 10, 4);
h.generate();
i.generate();
j.generate();
k.generate();
l.generate();
font = loadFont("ArialMT-10.vlw");
textFont(font);
textAlign(CENTER);
ellipseMode(RADIUS);
a = loadImage("Main_Man.png");
gradient = loadImage("gradient_bar.png");
phrases [0] = "I find you physically repulsive.";
phrases [1] = "Seeing your face makes me think of roadkill.";
phrases [2] = "I'm desperately wishing you would disappear right now.";
phrases [3] = "You are two steps away from getting a mace/tazer combo to the face.";
phrases [4] = "I've warned my family about people like you.";
phrases [5] = "Sometimes I daydream about stabbing you in the face.";
phrases [6] = "Your clothes only make me want to choke you more.";
phrases [7] = "This is like some fashionale joke, and you're the punchline.";
phrases [8] = "I feel sick. I think it's you.";
phrases [9] = "I'm bleeding from the eyes. You can't see it, but I am.";
phrases [10] = "You're kind of making me uncomfortable.";
phrases [11] = "Is this awkaward? I feel like this is awkward.";
phrases [12] = "Fascinating. Listen, I have to get going now, but let's do this again.";
phrases [13] = "I'm sorry. What? I wasn't paying attention.";
phrases [14] = "That is SO interesting.";
phrases [15] = "Weren't you just leaving?";
phrases [16] = "I just remembered, I have to get my kid from... soccer practise.";
phrases [17] = "Is this some kind of fashion statement?";
phrases [18] = "Are you a design student? You look like a design student.";
phrases [19] = "You look... different. Is it the hair?";
phrases [20] = "That is really cute.";
phrases [21] = "Oh my god! Soooo cute!";
phrases [22] = "Do you come here often?";
phrases [23] = "Do I have your number?";
phrases [24] = "I feel like we've met before.";
phrases [25] = "Where did you get that? It's really nice.";
phrases [26] = "Ah. I got my mother the same shirt.";
phrases [27] = "Well don't you look good enough to eat.";
phrases [28] = "Did it just get hotter in here, or is it just you?";
phrases [29] = "Those shoes are FABULOUS.";
phrases [30] = "Where have you been all my life.";
phrases [31] = "You... complete me.";
phrases [32] = "You had me at 'hello'.";
phrases [33] = "I feel closer to you than anyone I've met before.";
phrases [34] = "You are the Yin to my Yang.";
phrases [35] = "Will you be the father of my children?";
phrases [36] = "I want to be you.";
phrases [37] = "How do you feel about shotgun weddings?";
phrases [38] = "You are my destiny.";
phrases [39] = "I just want to love you.";
saying = "";
}
void draw() {
noCursor();
smooth();
background(255);
h.display();
i.display();
j.display();
k.display();
l.display();
fill(0);
text(saying, 220, 330);
text ("Friendly Comment", 214, 35);
text ("Unfriendly Comment", 56, 35);
text ("Click to comment and make new friends.", 504, 391);
image(a, 200, 150);
image(gradient, 10, 10);
fill(255);
ellipse(x, 15, radius, radius);
x += speed * direction;
if ((x > end - radius) || (x < radius)) {
direction = -direction;
}
h.move();
i.move();
j.move();
k.move();
l.move();
}
void mousePressed(){
h.setTarget();
i.setTarget();
j.setTarget();
k.setTarget();
l.setTarget();
if (((x >= 0) && (x <= 67))){
saying = phrases [int((random(0,10)))];
}
else if (((x > 67) && (x <= 126))){
saying = phrases [int((random(10,20)))];
}
else if (((x > 126) && (x <= 187))){
saying = phrases [int((random(20,30)))];
}
else if (((x > 187) && (x <= 252))){
saying = phrases [int((random(30,40)))];
}
}
class Person {
PImage[] parts = new PImage[55];
PImage sho1 = loadImage("Shoes_1.png");
PImage sho2 = loadImage("Shoes_2.png");
PImage sho3 = loadImage("Shoes_3.png");
PImage sho4 = loadImage("Shoes_4.png");
PImage sho5 = loadImage("Shoes_5.png");
PImage sho6 = loadImage("Shoes_6.png");
PImage sho7 = loadImage("Shoes_7.png");
PImage sho8 = loadImage("Shoes_8.png");
PImage sho9 = loadImage("Shoes_9.png");
PImage sho10 = loadImage("Shoes_10.png");
PImage sho11 = loadImage("Shoes_11.png");
PImage sho12 = loadImage("Shoes_12.png");
PImage sho13 = loadImage("Shoes_13.png");
PImage sho14 = loadImage("Shoes_14.png");
PImage sho15 = loadImage("Shoes_15.png");
PImage sho16 = loadImage("Shoes_16.png");
PImage sho17 = loadImage("Shoes_17.png");
PImage sho18 = loadImage("Shoes_18.png");
PImage sho19 = loadImage("Shoes_19.png");
PImage sho20 = loadImage("Shoes_20.png");
PImage sho21 = loadImage("Shoes_21.png");
PImage sho22 = loadImage("Shoes_22.png");
PImage sho23 = loadImage("Shoes_23.png");
PImage sho24 = loadImage("Shoes_24.png");
PImage sho25 = loadImage("Shoes_25.png");
PImage pan1 = loadImage("Pants_1.png");
PImage pan2 = loadImage("Pants_2.png");
PImage pan3 = loadImage("Pants_3.png");
PImage pan4 = loadImage("Pants_4.png");
PImage pan5 = loadImage("Pants_5.png");
PImage pan6 = loadImage("Pants_6.png");
PImage pan7 = loadImage("Pants_7.png");
PImage pan8 = loadImage("Pants_8.png");
PImage pan9 = loadImage("Pants_9.png");
PImage pan10 = loadImage("Pants_10.png");
PImage shi1 = loadImage("shirt_1.png");
PImage shi2 = loadImage("shirt_2.png");
PImage shi3 = loadImage("shirt_3.png");
PImage shi4 = loadImage("shirt_4.png");
PImage shi5 = loadImage("shirt_5.png");
PImage shi6 = loadImage("shirt_6.png");
PImage shi7 = loadImage("shirt_7.png");
PImage shi8 = loadImage("shirt_8.png");
PImage shi9 = loadImage("shirt_9.png");
PImage shi10 = loadImage("shirt_10.png");
PImage har1 = loadImage("head+arms_1.png");
PImage har2 = loadImage("head+arms_2.png");
PImage har3 = loadImage("head+arms_3.png");
PImage har4 = loadImage("head+arms_4.png");
PImage har5 = loadImage("head+arms_5.png");
PImage har6 = loadImage("head+arms_6.png");
PImage har7 = loadImage("head+arms_7.png");
PImage har8 = loadImage("head+arms_8.png");
PImage har9 = loadImage("head+arms_9.png");
PImage har10 = loadImage("head+arms_10.png");
float x, y;
float targetX;
float targetY;
float easing = 0.05;
PImage shoes;
PImage pants;
PImage shirt;
PImage head;
color shirtcol;
color pantscol;
color shoescol;
int[] xpositions = new int [5];
int[] ypositions = new int [5];
int whereami;
Person(float xpos, float ypos, int where) {
x = targetX = xpos;
y = targetY = ypos;
whereami = where;
parts [0] = sho1;
parts [1] = sho2;
parts [2] = sho3;
parts [3] = sho4;
parts [4] = sho5;
parts [5] = sho6;
parts [6] = sho7;
parts [7] = sho8;
parts [8] = sho9;
parts [9] = sho10;
parts [10] = sho11;
parts [11] = sho12;
parts [12] = sho13;
parts [13] = sho14;
parts [14] = sho15;
parts [15] = sho16;
parts [16] = sho17;
parts [17] = sho18;
parts [18] = sho19;
parts [19] = sho20;
parts [20] = sho21;
parts [21] = sho22;
parts [22] = sho23;
parts [23] = sho24;
parts [24] = sho25;
parts [25] = pan1;
parts [26] = pan2;
parts [27] = pan3;
parts [28] = pan4;
parts [29] = pan5;
parts [30] = pan6;
parts [31] = pan7;
parts [32] = pan8;
parts [33] = pan9;
parts [34] = pan10;
parts [35] = shi1;
parts [36] = shi2;
parts [37] = shi3;
parts [38] = shi4;
parts [39] = shi5;
parts [40] = shi6;
parts [41] = shi7;
parts [42] = shi8;
parts [43] = shi9;
parts [44] = shi10;
parts [45] = har1;
parts [46] = har2;
parts [47] = har3;
parts [48] = har4;
parts [49] = har5;
parts [50] = har6;
parts [51] = har7;
parts [52] = har8;
parts [53] = har9;
parts [54] = har10;
xpositions [0] = 424;
xpositions [1] = 383;
xpositions [2] = 333;
xpositions [3] = 283;
xpositions [4] = 600;
ypositions [0] = -12;
ypositions [1] = 1;
ypositions [2] = 18;
ypositions [3] = 35;
ypositions [4] = 455;
targetX = xpositions[whereami];
targetY = ypositions[whereami];
shirtcol = color(255);
pantscol = color(255);
shoescol = color(255);
}
void generate () {
shoes = parts[int((random(0,25)))];
pants = parts[int((random(25,35)))];
shirt = parts[int((random(35,45)))];
head = parts[int((random(45,55)))];
shirtcol = color(random(0,255), random(0,255), random(0,255));
pantscol = color(random(0,255), random(0,255), random(0,255));
shoescol = color(random(0,255), random(0,255), random(0,255));
}
void display(){
tint(shoescol);
image(shoes, x+2, y+230);
tint(pantscol);
image(pants, x+10, y+169);
tint(shirtcol);
image(shirt, x+9, y+111);
noTint();
image(head, x+9, y+89);
}
boolean move(){
float d = dist(x, y, targetX, targetY);
if (d > 1.0) {
x += (targetX - x) * easing;
y += (targetY - y) * easing;
return false;
}
else
{
return true;
}
}
void setTarget() {
whereami = (whereami + 1) %5;
targetX = xpositions[whereami];
targetY = ypositions[whereami];
if (whereami == 0) {
generate();
}
}
void enable(){
boolean enable = false;
}
}
Dougal - Project 2
on Monday, Nov 17, 2008 – 5:37 am