2020年4月2日 星期四

黃姓小女紙寫程式~~Week04


2020.3.27
連假倒數4天XD

1.本日第一項作業-複習!!

插入與找的照片相同大小的,所以我找了我家可愛的鸚鵡兄弟,雖說要做的是發射球,但圖片什麼的沒關係啦~

1.1 接下來就是把他拉進去就對了,看看以下的程式

程式碼:
     PImage imgBG;
     void setup(){
        size(225,225); 
        imgBG=loadImage("k.jpg");
     }
    void draw(){
        background(imgBG);  
    }


1.2第二步
限制出球只會有五顆,並且設定一個變數n來數球
程式碼:
         PImage imgBG;
         int[]x={0,0,0,0,0};
         int[]y={0,0,0,0,0};
         int n=0;
         void setup()
        {
             size(225,225); ///圖的比例
             imgBG=loadImage("k.jpg"); 
         }
         void draw()
         {
             background(imgBG); 
             for(int i=0;i<5;i++){
                circle(x[i],y[i],40);
             }
          }
          void mousePressed()
         {
              if(n>=5)return ; ///return是讓程式不會壞掉
              x[n]=mouseX;
              y[n]=mouseY;
              n++;
          }

1.3第三步
為了讓球不在需要用return不讓程式當掉,再加了一行 n=(n+1)%5;,讓變數n回到0,就會用到舊的第一顆球
程式碼:
         PImage imgBG;
         int[]x={0,0,0,0,0};
         int[]y={0,0,0,0,0};
         int n=0;
         void setup()
        {
              size(225,225); 
              imgBG=loadImage("k.jpg");
         }
         void draw()
        {
             background(imgBG); 
             for(int i=0;i<5;i++){
                circle(x[i],y[i],40);
             }
          }
          void mousePressed()
         {
              x[n]=mouseX;
              y[n]=mouseY;
              n=(n+1)%5;
           }

2.1

程式碼:
        int []a={0,0,1,0};
        size(400,100);
        for(int i=0;i<4;i++){
           if(a[i]==1)fill(255,0,0);
           else fill(128);
           rect(i*100,0,100,100); 表示矩形的位置以及長寬
         }
2.2

程式碼:
         int [][]a={
           {1,0,1,0,1},
           {0,0,1,1,0},
           {1,1,0,1,1},
           {0,1,1,1,0},
           {1,1,0,1,0} };
           size(500,500);
           for(int i=0;i<5;i++){  ///i是往下
              for(int j=0;j<5;j++){ ///J是往左
                  if(a[i][j]==1)fill(255,0,0);
                  else fill(128,0,0);
                  rect(j*100,i*100,100,100);
              }      
           }
1.7
回歸到上面第一題的延伸題
程式碼:
         PImage imgBG;
         int[]x={0,0,0,0,0};
         int[]y={0,0,0,0,0}; 
         int[]r={5,5,5,5,5}; 半徑5
         int n=0;
         void setup()
        {
             size(225,225); 
             imgBG=loadImage("k.jpg");
         }
          void draw()
          {
              background(imgBG); 
              for(int i=0;i<5;i++){
                 circle(x[i],y[i],r[i]);
              }
              if(mousePressed)r[now]++; 如過按下去球會變大
           }
           int now=0;
           void mousePressed()
          {
                x[n]=mouseX;
                y[n]=mouseY;
                 r[n]=5;  ///設為半徑為5
                now=n; ///現在用哪一顆
                 n=(n+1)%5;
             }

沒有留言:

張貼留言