Sunday, 15 April 2012

Seven Segment

//Driver Method

sevenSegments ss = new sevenSegments(); 
int gapx = 100;     //gape between numbers
int gapy = 120;
int sizex = 100;        //width of segments
int sizey  = 100;      //height of segments
int xi = 0;         //innitial positions of frame
int yi = 30;          
void setup(){
size(750,300);        
}

void draw(){
  background(0);
 // fill(255,0,0);

ss.segment(sizex,sizey,xi+0,yi+0,0);      // object for each 0 and so on
ss.segment(sizex,sizey,xi+gapx,yi+0,1);
ss.segment(sizex,sizey,xi+gapx*2,yi+0,2);
ss.segment(sizex,sizey,xi+gapx*3,yi+0,3);
ss.segment(sizex,sizey,xi+gapx*4,yi+0,4);
ss.segment(sizex,sizey,xi+gapx*5,yi+0,5);
ss.segment(sizex,sizey,xi+gapx*6,yi+0,6);
ss.segment(sizex,sizey,xi+0,yi+gapy,7);
ss.segment(sizex,sizey,xi+gapx,yi+gapy,8);
ss.segment(sizex,sizey,xi+gapx*2,yi+gapy,9);
}

////////////Segments Class/////////////////

class sevenSegments{
  float  x1,x2,x3,x4,x5,x6,x7;        // x positions of segments
  float y1,y2,y3,y4,y5,y6,y7;         // y positions of segments
  float W1,W2,W3,W4,W5,W6,W7,H1,H2,H3,H4,H5,H6,H7;  // W and H , width and height of segments

void segment(int myWidtH, int myHeight, int x, int y, int myCase){


  W1=myWidtH*0.1;            
  W2=myWidtH*0.7;
  W3=W1;
  W4=W1;
  W5=W2;
  W6=W1;
  W7=W2;
  H1=myHeight*0.25;
  H2=myHeight*0.1;
  H3=H1;
  H4=H1;
  H5=H2;
  H6=H1;
  H7=H2;


x1=x+myWidtH*0.1;
x2=x+myWidtH*0.2;
x5=x2;
x6=x1;
x7=x2;

y1= y+myHeight*0.2;
y3=y1;
y4=y+myHeight*.55;
y6=y4;
x3=x+myWidtH*.9 ;
x4=x3;
y2=y+myHeight*.1;
y7=y+myHeight*.45;
y5=y+myHeight*.80;

switch(myCase){
case 0:                  // draw zero
fill(#30ED31);
rect(x1,y1,W1,H1);
rect(x2,y2,W2,H2);
rect(x3,y3,W3,H3);
rect(x4,y4,W4,H4);
rect(x5,y5,W5,H5);
rect(x6,y6,W6,H6);
break;

case 1:                // draw one
fill(#FFFFFF);
rect(x3,y3,W3,H3);
rect(x4,y4,W4,H4);
break;

case 2:              // draw two and so on upto 9
fill(#F548E1);
rect(x2,y2,W2,H2);
rect(x3,y3,W3,H3);
rect(x5,y5,W5,H5);
rect(x6,y6,W6,H6);
rect(x7,y7,W7,H7);
break;

case 3:
fill(#F54716);
rect(x2,y2,W2,H2);
rect(x3,y3,W3,H3);
rect(x4,y4,W4,H4);
rect(x5,y5,W5,H5);
rect(x7,y7,W7,H7);
break;

case 4:
fill(#F548E1);
rect(x1,y1,W1,H1);
rect(x3,y3,W3,H3);
rect(x4,y4,W4,H4);
rect(x7,y7,W7,H7);
break;

case 5:
fill(#F54716);
rect(x1,y1,W1,H1);
rect(x2,y2,W2,H2);
rect(x4,y4,W4,H4);
rect(x5,y5,W5,H5);
rect(x7,y7,W7,H7);
break;

case 6:
fill(#F548E1);
rect(x1,y1,W1,H1);
rect(x2,y2,W2,H2);
rect(x4,y4,W4,H4);
rect(x5,y5,W5,H5);
rect(x6,y6,W6,H6);
rect(x7,y7,W7,H7);
break;

case 7:
fill(#FFFFFF);
rect(x2,y2,W2,H2);
rect(x3,y3,W3,H3);
rect(x4,y4,W4,H4);
break;

case 8:
fill(#30FA38);
rect(x1,y1,W1,H1);
rect(x2,y2,W2,H2);
rect(x3,y3,W3,H3);
rect(x4,y4,W4,H4);
rect(x5,y5,W5,H5);
rect(x6,y6,W6,H6);
rect(x7,y7,W7,H7);
break;

case 9:
fill(#FA4E30);
rect(x1,y1,W1,H1);
rect(x2,y2,W2,H2);
rect(x3,y3,W3,H3);
rect(x4,y4,W4,H4);
rect(x5,y5,W5,H5);
rect(x7,y7,W7,H7);
break;
}

}

}

No comments:

Post a Comment