2020年5月7日 星期四

a20200507

size(200,200);
rect(50,50,50,50);//
textSize(40);
textAlign(LEFT,TOP);//更改文字函式起始點位置到左上(往右延伸,往下延伸)
//textAlign(RIGHT,TOP);//更改文字函式起始點位置到右上(往左延伸,往下延伸)
//textAlign(CENTER,CENTER);//從中間
//印出文字初始函式(起始點x,起始點y,往上延伸h,往右延伸w),左下開始
//起始點像一個方框固定一個角去旋轉,延伸方向就看方框
fill(#ff0000); text("A", 50,50);
//文字顏色;   打出文字,(起始點x),(起始點y)


----------------------------------------------------------------------------------------------------------------

int []a=new int[10];//Java's Array
//int []a={6,3,5,9,1,0,4,2,7,8};
//int []a={1,2,3,5,0,4,6,7,8,9};
//int []a={9,8,7,6,5,4,3,2,1,0};
void setup(){
  size(500,800);
  for(int i=0;i<10;i++){//random choose number
    a[i]=int(random(10));//轉換成int型別(亂數生成),java語法
  }/// Java是用 int(3.14)會轉成3, C/C++ int b=3.14變3
  textSize(32);//印出的文字大小
  textAlign(LEFT,TOP);//文字起始點改用左上角
  showArray(y);
}
int y=0;
void showArray(int y)
{   
  for(int i=0;i<10;i++)
  {
    fill(255);     rect(i*50, y, 50,50);
    //四邊形顏色;rect(x,y, w,h)生成四邊形
    fill(0); text(a[i], i*50, y);
    ///印出文字(字,x,y) ,已經更改文字起始點,看第11行
  }
}
void draw(){

}
void mousePressed(){
  for(int i=0; i<10-1;i++){
    if(a[i] > a[i+1]){//兩兩比較格子的數字,大的往後移
      int temp=a[i];//交換兩格的數字
      a[i]=a[i+1];
      a[i+1]=temp;
      fill(255,0,0,128); rect(i*50, y, 100,50);//畫紅色到有交換的格子裡
      //方格顏色(R,G,B,透明度);
    }
  }
  y+=50;
  showArray(y);
}



-------------------------------------------------------------------------------------------------------------------

void setup()
{
  size(300,500);
  colorMode(HSB);
}

int ansX=2,ansY=3;//
int N=5;//單邊有幾個圓
int H=255,S=255,B=255;

void draw()
{
  background(0);
  int R=300/N, w=R/2;//計算圓的大小跟位置
  for(int x=0;x<N;x++)
  {
    for(int y=0;y<N;y++)
    {
      if(x==ansX && y==ansY)//其中一個圓的顏色不一樣
      {
        fill(H+10, S-35, B-45);
      }
      else//其他的圓顏色一樣
      {
        fill(H,S,B);
      }
        ellipse(0+w+x*R, 200+w+y*R, R, R);
    }
  }
}

void mousePressed()
{
  ansX=int(random(N));//不一樣顏色的圓的位置
  ansY=int(random(N));
  H+=16;
  if(H>255)
  {
    H=0;
  }
}


沒有留言:

張貼留言