วันอาทิตย์ที่ 2 พฤศจิกายน พ.ศ. 2557

Lab 5[Continue] : Task#1 - Class House

class House
{
  int x;
  int y;
  int size;
  Window l;
  Window r;
  Door door;
  House(int x,int y,int size)
  {
    this.x=x;
    this.y=y;
    this.size=size;
    this.l=new Window(x-(size/4),y-(size/4),size);
    this.r=new Window(x+(size/4),y-(size/4),size);
    this.door=new Door(x,y,size);
  }
  void show()
  {
    rectMode(CENTER);
    rect(this.x,this.y,this.size,this.size);
    triangle(this.x-(this.size/2),this.y-(this.size/2),this.x,this.y-(this.size/2)-(this.size/2),this.x+(this.size/2),this.y-(this.size/2));
    l.show();
    r.show();
    door.show();
  }
  void moveUp()
  {
    this.y--;
  }
  void moveDown()
  {
    this.y++;
  }
  void moveLeft()
  {
    this.x--;
  }
  void moveRight()
  {
    this.x++;
  }
}

class Window
{
  int x;
  int y;
  int size;
  Window(int x,int y,int size)
  {
    this.x=x;
    this.y=y;
    this.size=size/4;
  }
  void show()
  {
    rectMode(CENTER);
    rect(this.x,this.y,this.size,this.size);
    line(this.x-(this.size/2),this.y,this.x+(this.size/2),this.y);
    line(this.x,this.y-(this.size/2),this.x,this.y+(this.size/2));
  }
}

class Door
{
  int x;
  int y;
  int size;
  Door(int x,int y,int size)
  {
    this.x=x;
    this.y=y;
    this.size=size;
  }
  void show()
  {
    rectMode(CENTER);
    rect(this.x,this.y+(this.size/2)-(this.size/10*2),this.size/3.5,this.size/5*2);
    ellipse(this.x+(this.size/11),this.y+(this.size/2)-(this.size/10*2),this.size/20,this.size/20);
  }
}

void setup()
{
  size(500,500);
  strokeWeight(3);
}

void draw()
{
  background(155);
  House a=new House(250,300,200);
  a.show();
}

ไม่มีความคิดเห็น:

แสดงความคิดเห็น