2016年11月10日 星期四

week9 呂郁欣 教學軟體筆記



week9 呂郁欣 教學軟體筆記

學習目標
1.leap motion
2.資料讀取、寫檔
3.排名
4. Arraylist  與資料結構
__________________________________________________________________________________________________________________________________________________________________

save存檔




  • 複寫


















  • saveFrame

Saves a numbered sequence of images, one image each time the function is run.






















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


saveStrings
String [] names={"AAA" , "BBB" , "CCC"};
saveStrings("myClassmate.txt", names);












  • API指Application Programming Interface


  • LoadStrings
















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

可以讀進很多分數

  • 接金幣計分














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























  • Global Variable(全域變數
  • Local Variable(區域變數 )
  • ctrl t : 整理程式碼


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

}

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;

void draw(){

if(life<=0){

background(128); speed=0;

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

}


  • 接金幣遊戲














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





  • 加  leapmotion
import de.voidplus.leapmotion.*;
LeapMotion leap;
float handX=0, handY=0;
PVector [] coins=new PVector[10];
void setup(){
size(500,500);
leap = new LeapMotion(this);
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(){
for(Hand hand : leap.getHands()){
handX=hand.getPosition().x;
handY=hand.getPosition().y;
}
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(handX,handY, coins[i].x, coins[i].y)<30){
score+=100; 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); ellipse(handX,handY, 30,30);
fill(255,0,0); textSize(30); text("Score:"+score +"Life:"+life, 200,200);
}

沒有留言:

張貼留言