2020年4月12日 星期日

黃姓小女紙寫程式~~Week07

2020.4.10

1.

為了因應討人厭的武漢肺炎,現在學校開始陸陸續續的加入teams這個軟體,讓大家在家也可以上到課,所以今天的第一步就是檢查電腦和手機可不可以正常使用使用
     電腦:

     手機:

2.

今天的第一個正題是學習如何用指標,好感動阿,終於學習了它,而不是那個很簡單的在那邊畫圓,所以我應該認真的好好學習用!!!

 程式碼:
               #include <stdio.h>
               int main() {
                  int a=100;
                  int b=200;
                  int *p; ///宣告一個指標
                  p=&a;
                  printf("%d\n",*p);
                  p=&b;
                  printf("%d\n",*p);
                  return 0;
              }

3.1

好吧,才學一題又回到畫圓了(誤,現在學的是要讓我們倆姊怎麼按一下鍵會變成不同的圖,以下為其中所使用的圖
 




程式碼:

              PImage img1;
              PImage img2;
              PImage img3;
              PImage img;
              void setup(){
                  size(300,300);
                  img1=loadImage("img1.png");
                  img2=loadImage("img2.png");
                  img3=loadImage("img3.png");
                  img=img1; ///現在用的是哪個圖
              }
              void draw(){
                  image(img,100,100); ///一開始會有一張圖
              }
              void keyPressed(){
                  if(keyCode==RIGHT)img=img3; ///按一下右鍵會變成右圖
                  if(keyCode==LEFT)img=img2;///按一下左鍵會變成左圖
              }
              void keyReleased(){
                  img=img1; ///放掉按鍵會變成原圖
              }

3.2

因為光是變左右實在是太無聊了,所以小葉老師教我們讓它移動,請看以下的程式碼
程式碼:
         PImage img1;
         PImage img2;
         PImage img3;
         PImage img;
         float x=100,y=100,vx=0; ///變數
         void setup(){
             size(300,300);
             img1=loadImage("img1.png");
             img2=loadImage("img2.png");
             img3=loadImage("img3.png");
             img=img1;
        }
         void draw(){
             background(255);///背景為白色
             image(img,x,y);
             x+=vx; ///有速度變數
         } 
        void keyPressed(){
            if(keyCode==RIGHT){
               img=img3;
               vx=1; ///按右鍵往右
            }
            if(keyCode==LEFT){
               img=img2;
               vx=-1;///按左鍵往左
            }
        }
        void keyReleased(){
            img=img1;
            vx=0; ///放開後速度變0
        }

4.1

在進階一點,就是讓圖片更生動一點,讓它有彈跳的感覺,所以我用了可愛的蠟筆小新XD


程式碼:             PImage img1;
             PImage img;
             float x=100,y=100,vx=0,vy=-10; ///變數,vy是先往上
             void setup(){
                 size(300,300);
                 img1=loadImage("crown.png");
                 img=img1;
             }
             void draw(){
                 background(255);
                 image(img,x,y,100,100);
                 x+=vx;///有速度
                 y+=vy;
                 vy+=0.98;///重力加速度,加到速度上面,變慢的意思
                 if(y>=200) vy=-vy*0.9;///反彈然後談的幅度變小
            }

4.2 

接下來讓它左右跳

程式碼:
              PImage img;
              float x=100,y=100,vx=3,vy=-10;
              void setup(){
                  size(400,400);
                  img=loadImage("crown.png");
              }
              void draw(){
                  background(255);
                  image(img,x,y);
                  x+=vx;
                  y+=vy;
                  vy+=0.98;
                  if(y>200)vy=-vy*0.9;
                  if(x>300)vx=-vx;///碰到牆
                  if(x<0)vx=-vx;///碰到牆
             } 
5.
指標講解,因為很簡單,所以自己看吧


程式碼:
         #include <stdio.h>
         int a[10]={9,8,7,6,5,4,3,9,3};
         int b[10]={1,3,5,7,9,8,7,7,7};
         int *p;
         int main() {
            p=a;
            printf("%d",p[3]);
            p=b;
            printf("%d",p[3]);
            return 0;

         }

沒有留言:

張貼留言