2020年4月10日 星期五

程設Week07

防疫措施 Microsoft Teams~
登錄帳號:學號@ms1.mcu.edu.tw
        密碼:自己改過的。(以下為例子)


學習指標:(用codeblocks)
   #include <stdio.h>
int main(){
    int a=100;
    int b=200;
    int *p;   ///(1)指標宣告(p是一個指標,到整數)
    /// &and 表示address
    p = &a;   ///(2)指標的設定 (把整數a的住址address)放入p
    printf(" %d \n", *p);   ///(3)指標的使用
    p = &b;   ///(2)指標的設定 (把整數a的住址address)放入p
    printf(" %d \n", *p);   ///(3)指標的使用
    }
學習指標:(用p)
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;   ///放開始,變回img1

}
他所呈現的會是左右鍵後放開後會變回原本圖檔的位置。

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;
}

會重力加速度向下。
PImage img1;
PImage img2;
PImage img3;
PImage img;
float x=100, y=100, vx=0, vy= -10;
void setup(){
  size (300,300);
  img1=loadImage("Dora01.jpg");
  img2=loadImage("img2.png");
  img3=loadImage("img3.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;
}
void keyPressed(){
  if(keyCode==RIGHT){
    img=img3; vx = 1;
  }
  if(keyCode==LEFT){
  img=img2; vx = -1;
  }
}
void keyReleased(){
  img=img1; vx=0;
}

碰到牆壁會反彈:
PImage img;
float x=100, y=100, vx=3, vy= -10;
void setup(){
  size (400,400);
  img = loadImage("Dora01.jpg");
}
void draw(){
  background(255);//清白色的背景
  image( img, x,y);//大小100x100
  x += vx;///TOD0: 有速度!!!
  y += vy; ///TOD02
  vy += 0.98;   ///重力加速度,加到速度的上面
  if( y>=200 )vy = -vy * 0.9;
  if( x>300 ) vx = -vx;  //反彈 400-圖寬100=300
  if( x<0)    vx = -vx;  //反彈
}

沒有留言:

張貼留言