2017年1月12日 星期四

Week9 錡洛誼上課筆記

1. 檔案讀取 寫檔
2. 排名
3. 實作:ArrayList 與資料結構
void setup()
{
  size(600, 600);
}

void draw() {
  if (mousePressed) line(mouseX, mouseY, pmouseX, pmouseY);
}
int number = 0;
void keyPressed() {
  save("now_"+ number+".png");
  number++;
}



程式2: 以frame寫:

void setup()
{
  size(600, 600);
}

void draw() {
  if (mousePressed) line(mouseX, mouseY, pmouseX, pmouseY);
}
//int number = 0;
void keyPressed() {
  saveFrame();
  //save("now_"+ number+".png");
  //number++;
}


程式3: 使用processing api
//String [] names = {"AA","BB","CC"};
//saveStrings("myClassmateName",names);


String lines[] = loadStrings("myClassmateName.txt");
println("there are " + lines.length + " lines");
for (int i = 0 ; i < lines.length; i++) {
  println(lines[i]);
}  

程式3:接金幣
PVector [] coins = new PVector[10];
void setup()
{
  size(500, 500);
  for (int i = 0; i<10; i++) {
    coins[i] = new PVector(random(500), -random(100));
  }
}

int score = 0;
void draw () {
  background(255);
  for (int i = 0; i<10; i++) {
    fill(255, 255, 0);
    ellipse(coins[i].x, coins[i].y, 30, 30);
    coins[i].y +=2;
    if (coins[i].y>530) coins[i].y=-random(100);
    if (dist(mouseX, mouseY, coins[i].x, coins[i].y)<30) {
      score += 100;
      coins[i].y= -random(100);
    }
  }
  fill(255, 0, 0);
  textSize(30);
  text("score"+score, 200, 200);
}


程式4: 結合記分板 跟 接金幣
PVector [] coins=new PVector[10];
void setup() {
  size(500, 500);
  for (int i=0; i<10; i++) coins[i]=new PVector( random(500), -random(100));
}
int score=0, life=10, speed=2;
int state=0;//state 0:playing, 1:gameOver, 2:showScoreBoard
String [] allScore;
void draw() {
  if (state==2) {
    background(255, 255, 0);
    for (int i=0; i<allScore.length; i++) {
      fill(255, 0, 0); 
      textSize(30);
      text( allScore[i], 100, 200+i*50);
    }
    return ;
  } else if (state==1) {
    background(128); 
    speed=0;
    allScore = loadStrings("allScores.txt");
    if (mousePressed) state=2;
  } else background(255);
  for (int i=0; i<10; i++) {
    fill(255, 255, 0); 
    ellipse(coins[i].x, coins[i].y, 30, 30);
    coins[i].y+=speed;//!!!!!!
    if (coins[i].y>530) {
      coins[i].y=-random(100);
      life--;
      if (life<=0) state=1;
    }
    if (dist(mouseX, mouseY, coins[i].x, coins[i].y)<30) {
      score+=100; 
      coins[i].y=-random(100);
    }
  }
  fill(255, 0, 0); 
  textSize(30); 
  text("Score:"+score +"Life:"+life, 200, 200);
}

沒有留言:

張貼留言