
心得:
這次的考試,差一點點就可以完成了,很可惜,因為卡在判斷滑鼠是不是有點到蚊
子,重點是卡在剛開始因為懶的修正可以點的範圍,只把他設成一個點,所以一直沒點
到才以為沒有做好,然後到最後十分鐘的時候,因為急著把結束的畫面給做好,才忘記
把電蚊拍給寫進去。
雖然這次的作業沒有在課堂上完成,很可惜,但是也很感謝老師給我們有這種考驗
臨場反應的機會,收穫很多。
程式碼:
PImage img;
PImage imgnull;
PImage hamer;
int[] Rx; //X軸
int[] Ry; //Y軸
int[] R; //第i隻.用來判斷是否存在
int score;
int king;
void setup(){
frameRate(20);
size(800,800);
background(0);
score=0;
//讀取圖片,設定全部蚊子存在
img = loadImage("mos.JPG");imgnull = loadImage("moskill.jpg");hamer = loadImage("hamer.JPG");
Rx= new int[50];Ry= new int[50];R = new int[50];
for(int i=0;i<50;i++){
R[i]=1;Rx[i]=(int)random(width-50);Ry[i]=(int)random(height-150);
}
king=(int)random(50); //蚊子王
}
void draw(){
background(0);//蓋畫面
for(int i=0;i<50;i++)
if(mousePressed==true)
if(mouseButton==LEFT){
if(Rx[king]mouseX-80 && Ry[king]mouseY-80)score=50;
if(Rx[i]mouseX-80 && Ry[i]mouseY-80 && R[i]==1 && R[i]==1 && score<50){R[i]=0;score++;}
if(mouseX>700&mouseY>700)setup();
}
paint();
if(score>=50)end();
PFont font;
font=loadFont("ARCHRISTY-48.vlw");
textFont(font);
textSize(50);
text("Score:",230,760);
text(score*20,380,760);
text("Reset",660,760);
image(hamer,mouseX-50,mouseY-50);
}
void paint(){
for(int i=0;i<50;i++){
if(R[i]==1)image(img,Rx[i]+random(10),Ry[i]+random(10));
else if(R[i]==0)image(imgnull,Rx[i],Ry[i]);
}
}
void end(){
background(random(0,100));
text("You Win!!",310,330);
}