2011年11月21日 星期一

上機考













PFont font;
int[] A;
int[] B;
int[] C;
PImage img,img1,img2,img3;
int i;
int score; 分數
void setup(){
size(800,600);
background(0);
int score=0;
font = loadFont("BrowalliaNew-Bold-48.vlw");
textFont(font); 設字體
textSize(50); 字體大小
img = loadImage("aaa.jpg"); 載如我們所需的蚊子檔
img1 = loadImage("bbb.jpg");載入我們所需的蒼蠅拍檔
img2 = loadImage("ccc.jpg");載入我們所需的笑臉檔
img3 = loadImage("ddd.jpg");載入我們所需的過關檔

A= new int[50];
B=new int[50]; 使用陣列存放50隻蚊子
C=new int[50];
for(int i=0;i<50;i++){
C[i]=1;
A[i]=(int)random(650);
B[i]=(int)random(600);
}
for(int i=0;i<50;i++){
if(C[i]==1)image(img,A[i],B[i]);
}
frameRate(100);
}
void draw(){
size(800,600);
background(224);
fill(110,119,113);
text("Score:",550,40);字體位置
text(score,630,750);相加的位置
image(img1,mouseX,mouseY,100,100);
for(int i=0;i<50;i++){
if(mousePressed==true)
{
if(mouseButton==LEFT)
{
if(A[i]<=mouseX && A[i]>=mouseX-50 &&B[i]<=mouseY &&B[i]>=mouseY-50 && C[i]==1 && C[i]==1)
{
C[i]=0;
score++; 判斷蚊子的死掉跟分數的相加
}}}}
for(int i=0;i<50;i++)
{
if(C[i]==1)
image(img,A[i],B[i]);
else if(C[i]==0)
image(img2,A[i],B[i]);
}

if(score==50)
{

background(253,234,112);
image(img3,100, 100);
fill(0);
text("OH YA OH YA",100,100); 過關時印出畫面與之呼應
}



}


心得分享:這次的期中考一開始我就在想說怎麼把簡單的50隻蚊子印上去
怎麼把簡單的蒼蠅拍印上去,可是怎麼印就是印不上去,
結束過後詢問了一些坐在我附近厲害的人
才發現我當初寫的是讓圖片一直跳動
而不是停留在那邊50隻蚊子,
老師也很好心的提示我們要用到arrey,要不然一定做不出來
果真我就沒想到arrey這個東西,問了同學後才知道arrey是用來存取座標的
用arrey去存取就不用擔心x&y與滑鼠之間相對應的關係
這次的考試給我的衝擊還蠻大
讓我知道我的程式理解不足
一方面也打擊了我
另一方面慶幸的是其碼我看到了我的不足
還有機會能夠補救加強,不至於不知道自己的盲點。



沒有留言:

張貼留言