2020年4月9日 星期四

week07



今天教的內容是指標,也是這學期的重要內容之一
#include <stdio.h>
int main()
{
    int a=100;
    int b=200;
    int *p;///(1)指標宣告: p是一個指標,要指到一個整數
    p= &a;///(2)指標的設值: &符號(and)叫address住址
    printf(" %d \n", *p );///(3)指標指到東西,拿來用

}

假若有兩個值須指標指到,新增一行即可。
#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);

}



此為箭頭左右箭轉換(需用小畫家畫出三張圖且放入程式內)

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;///不按按鍵時立正站好
}



接下來為按下按鍵即可控制箭頭方向即移動位置

PImage img1;//有圖,向右,向左,立正
PImage img2;
PImage img3;
PImage img;//最後用這張圖來秀
float x=100,y=100,vx=0;//T0D0:用變數,讓程式有變化
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;//T0D0:為什麼會走?因為x被改!
}
void keyPressed(){
  if(keyCode==LEFT)
  {
    img=img2;vx=-1;//T0D0:改一下程式的if的大括號,做2件事!
  }
  else if(keyCode==RIGHT)
  {
    img=img1;vx=+1;//T0D0:改一下程式的if的大括號,做2件事!
  }
}
void keyReleased(){
  img=img3;
  vx=0;//T0D0:放開,就立正站好
}



接下來繼續回到指標,且以C tutor小助手協助
#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;///(1)指標宣告:p是一個指標,需指到一個整數
  char a[10];
  p=s1;///(2)指標的設值:&符號(and)叫address住址
  printf(" %s \n",p);///(3)指標指到東西,拿來用
  p=s2;
  printf(" %s \n",p);
}























此為會跳動的哆拉a夢小遊戲

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

今天教的第一個箭頭跟上次的小人有幾分相似,所以我覺得還蠻好上手的。第二個程式是彈跳的哆啦啦!!看到他會彈跳其實挺有趣的,程式碼也同樣不難,輕輕鬆鬆啦~!

沒有留言:

張貼留言