J2ME 2D小遊戲入門之旅(六) 計時器和獎懲與評價

來源:互聯網
上載者:User
評價 六、計時器和獎懲與評價

我們該加入我們的計時器了,我要從遊戲開始時刻開始計時,並不斷的更新到螢幕上,在遊戲結束後計時器要停止工作。



首先在初始化的時候將當前時刻記錄下來:

gametime=0;

gametimeoffset=System.currentTimeMillis();



以後只要遊戲不gameover就在每個更新周期都進行一次計算:

gametime=(System.currentTimeMillis()-gametimeoffset)/1000;

//轉換為秒



下面要做的就是將它顯示出來,還記得我們曾經實現的字型類了嗎,這下子有用了,首先是執行個體化一個字型類:

img=ImageTools.getImage("/pic/b_number.png");

fontbig=new Font(g,img,10,15,

new char[]{'0','1','2','3','4','5','6','7','8','9'});

然後就是顯示:

fontbig.drawString(String.valueOf(gametime),screenwidth/2-15,10);

還真是方便yeah!





接著是獎勵系統,我們規定每過20s就加一個bomb給玩家。

int awardindex=(int)gametime/20;//計算獎勵時間

if(awardindex>bombawardtop)

awardindex=bombawardtop;

if(bombaward[awardindex]!=0){//如果本20s沒有獎勵

bombnum+=bombaward[awardindex];

bombaward[awardindex]=0;//獎勵過了

}



儘可能簡單和給出些提示是我寫本文的原則, 所以評價系統,很ez。

我們建立一個輔助類,提供一個方法,輸入遊戲時間,返回一個String評語。

public class StringTools {

protected StringTools() {

}



public static String timeOpinion(long gametime){

if(gametime<10){

return "Do you play with your foot?";

//return "i can't belive,your are a game master";

}else if(gametime<16){

return "come boy, you can do it!";

}else if(gametime<20){

return "what a pity! try again.";

}else if(gametime<25){

return "very well, you are a real man.";

}else if(gametime<30){

return "i know you have talent of this game.";

}else if(gametime<40){

return "i can't belive, your are a game master.";

}else{

return "oh my god, are you a human?";

}

}

}

之後顯示出來就好了,我手頭沒有合適大小的字型圖片,我直接使用

g.drawString(StringTools.timeOpinion(gametime),5,22,g.LEFT|g.TOP);

想在手機小小的螢幕容下那麼東西是挺費勁的,其實這也是我對手機上玩遊戲沒什麼興趣,不過我對行動電話通訊應用沖滿了信心。






相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。