打蚊子 小遊戲
* 老師的期中考配分要求: << 考試的狀況 >>
1. 50隻蚊子要顯示在螢幕上 (X) 未達到
2. 蚊子要能被打死 ( 會消失 ) (O) 達到
3. 要有計分的功能 ( Score顯示計分 ) (X) 未達到
4. 完全打完後,要出現 YOU WIN 標語 (O) 達到
<< 問題已解決 >>
// 1 ) 遇到的問題:50隻蚊子無法顯示在界面上 / Score 計分機制顯示
因當時不太清楚Array的使用,故剛開始再第一步:將50隻蚊子顯示在銀幕上,就卡住
了,但後來還是決定繼續做,並沿用之前學過的貓抓老鼠所學到的,只是將鍵盤的判斷語
法改成左鍵是否按下;再來就是計分的機制顯示,知道要如何顯示Score字體和計分,但
因和前者有所關聯,蚊子數量不夠多,故產生計分機制也不會有太大的意義。
// 2 ) 如何解決:
* 清楚了解到Array的宣告以後,就輕鬆許多了。
int[] x = new int[50]; //蚊子的x,y軸宣告數量0-49的陣列內容
int[] y = new int[50];
void setup()
{
size(800,800);
img_1 = loadImage("1.jpg"); //1.jpg當然就為讀取蚊子的圖檔
for(int i=0;i<50;i++){
x[i] = (int)random(700); //經由FOR迴圈在範圍(長,寬)在(700,700)
y[i] = (int)random(700); 產生亂數的位置(random(x),random(y))
}
* Score計分機制的程式段落。
int score = 0; //設定Score的初始值為0
for(int i=0;i<50;i++){
image(img_1 , x[i] , y[i], 50 , 50);
textFont(font);
noStroke();
fill(255);
rect(650 , 0 ,150 ,50);
fill(0);
text("Score" + score , 620 , 50);//在Score字樣後面加上計分的內容
}
if (mousePressed == true) {
if (mouseButton == LEFT) {
for(int i=0;i<50;i++){
if((mouseX < x[i] + 30 && mouseX > x[i] - 10)&&
(mouseY < y[i] + 30 && mouseY > y[i] - 10))
{
score ++;
println(score); //隨著For執行一次,當滑鼠移到所設定的x,y軸範圍
x[i] = (-100); 並按下左鍵後,將Score累加,並將內容印出。
y[i] = (-100);
}
}
// 感想:
雖然這次這是考試沒有考得很順利,一寫程式因不知如何宣告這個遊戲需要的陣列,
使得後半部做的也很零散,但是並不遺憾,因為至少知道自己有盡力將自己上課所
學到的知識,運用到後面需要用到的地方,並不是從頭到尾都不會。且也可以,隨
著自己回去再次演練,印象也加深了,也深刻學會了新知識,我認為一切是值得的。
沒有留言:
張貼留言