2020年3月28日 星期六

wk4


這個時候只有一發子彈


讓他有五發子彈

PImage imgBG;
int []x={0,0,0,0,0};
int []y={0,0,0,0,0};
int n=0;
void setup(){
  size(396,510);///一定要和背景圖一樣大,不然會出錯
  imgBG=loadImage("background.jpg");///載入背景圖
}
void draw(){
  background(imgBG);
  for(int i=0;i<5;i++){
    circle(x[i],y[i],40);
  }
}
void mousePressed(){
  if(n>=5) return;///保護程式不要當掉,讓他不超過5發
  x[n] = mouseX;
  y[n] = mouseY;
  n++;
}

讓子彈可以重複使用

void mousePressed(){
  if(n>=5) return;
  x[n] = mouseX;
  y[n] = mouseY;
  n=(n+1)%5;///這行可以讓子彈重複使用,並且回收最後一發
}
讓子彈變大顆

PImage imgBG;
int []x={0,0,0,0,0};
int []y={0,0,0,0,0};
int []r={0,0,0,0,0};
int n=0;
void setup(){
  size(396,510);
  imgBG=loadImage("background.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(){
  if(n>=5) return;
  x[n] = mouseX;
  y[n] = mouseY;
  r[n]=5;///讓子彈變回原本的大小
  now = n;
  n=(n+1)%5;
}

利用P語言來學習矩陣

1維陣列

int []a={0,1,0,1};
size(400,100);
for(int i=0;i<4;i++){///利用for迴圈來搭配陣列
  if (a[i]==1) fill(255,0,0);///陣列那一格如果為1,塗上紅色
  else fill(128);///不是則塗上灰色
  rect(i*100,0,100,100);
}///算出他所對應的座標



2維陣列

int [][]a={
{0,1,0,1},
{0,0,1,1},
{1,0,0,1},
{1,0,1,1},
{1,1,0,0}};
size(400,500);
 for(int i=0;i<5;i++){
  for(int j=0;j<4;j++){
    if (a[i][j]==1) fill(255,0,0);
    else fill(128);
    rect(j*100,i*100,100,100);///j為x座標,i為y座標
  }
}

沒有留言:

張貼留言