2020年4月9日 星期四

week07

程式設計二
1.(1)指標的宣告, (2)指標設定值, (3)指標拿來用

2.用鍵盤的上左右鍵控制圖片


程式:
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=img3;
}
void draw(){
  background(255);
  image(img,100,100);
}
void keyPressed(){
  if(keyCode==LEFT) img=img2;
  if(keyCode==RIGHT) img=img1;
}
void keyReleased(){
  img=img3;
}

3.讓箭頭可以左右移動

程式:
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=img3;//先立正
}
void draw(){
  background(255);//背景清白色
  image(img,x,y);//畫圖
  x += vx;//TODO:Q:為甚麼會走?因為x被改!
}
void keyPressed(){
  if(keyCode==LEFT){
    img=img2; vx= -1;//TODO:老師改了一下程式的IF大括號,做兩件事情!改圖,改速度
  }else if(keyCode==RIGHT){
    img=img1; vx= +1;
  }
}
void keyReleased(){
  img=img3; vx=0;///TODO:放開,就立正站好
}

4.

程式:
///重點: Pointer指標
/// //////      ->
#include <stdio.h>
char s1[30]="hello world I love you";
char s2[30]="I am a book and he is not";
int main(){
  char *p;///指標宣告: p是一個指標,要指到一個整數
  char a[10];
  p=s1;///(2)指標的設值:&符號(and)叫address住址
  printf(" %s \n",p);///(3)指標指到東西,拿來用

  p=s2;
  printf(" %s \n",p);
}

5.讓圖片碰到視窗邊界可以反彈
程式:
PImage img;
float x=100,y=100,vx=3,vy=0;
void setup(){
  size(500,500);
  img=loadImage("dora.png");
}
void draw(){
  background(255);
  image(img,x,y,100,100);
  x += vx;
  y += vy;
  vy += 0.98;
  if(x>400) vx=-3;
  if(x<0) vx= +3;
  if(y>400) vy=-vy*0.8;
}


沒有留言:

張貼留言