假期閑著無事,就用一周多的時(shí)間看了百度java吧的一位大神(alwing)發(fā)布的視頻,學(xué)著用java寫了一個(gè)俄羅斯方塊,在此就以發(fā)布源代碼以及必要講解的形式來感謝他的幫助。當(dāng)然我這里也是做了一些改動(dòng),做出來的程序界面以及功能沒有和他的完全一樣。
整個(gè)程序運(yùn)行起來的界面如下所示:
程序包含的功能有:
一、
整個(gè)程序的設(shè)計(jì)如下圖所示,共有七個(gè)包。因?yàn)槌绦蛟鹊脑O(shè)計(jì)是會(huì)連接數(shù)據(jù)庫保存用戶名稱以及分?jǐn)?shù)的,而我的電腦又因?yàn)閿?shù)據(jù)庫軟件安裝失敗,所以功能上我做了調(diào)整。因此某些包名以及類名會(huì)與其本身功能不符。
二、
整個(gè)程序中最重要的界面編程是由UI包中的Layer類來建立的,它定義了一個(gè)方法使一張64乘64像素的圖片運(yùn)用drawImage函數(shù)來切割、拉伸成預(yù)定的寬度和高度,并使之顯示在指定的坐標(biāo),從而成為一個(gè)窗口。 UI包中的各個(gè)Layer***.java類都繼承了Layer類,分別用來實(shí)現(xiàn)各個(gè)窗口界面,如游戲主窗口(LayerGame)、等級(jí)窗口(LayerLevel)、分?jǐn)?shù)窗口(LayerPoint)等。此外我還在窗口表面覆蓋了一層半透明的圖片,從而實(shí)現(xiàn)了一種“朦朧感”。
三、
Img類是用來聲明所有的圖片對象的,我在聲明邊框圖片WINDOW時(shí),又故意寫錯(cuò)路徑,從而實(shí)現(xiàn)了無邊框效果。
四、
下落方塊的繪制也是采用圖片切割的方法
下落方塊應(yīng)該是如下七種形狀:
則方塊0到方塊6自由下落時(shí)的初始坐標(biāo)應(yīng)是:
TYPE_CONFIG=new ArrayList<Point[]>(7); TYPE_CONFIG.add(new Point[]{new Point(4,0),new Point(3,0),new Point(5,0),new Point(6,0)}); TYPE_CONFIG.add(new Point[]{new Point(4,0),new Point(3,0),new Point(5,0),new Point(4,1)}); TYPE_CONFIG.add(new Point[]{new Point(4,0),new Point(3,0),new Point(5,0),new Point(3,1)}); TYPE_CONFIG.add(new Point[]{new Point(4,0),new Point(5,0),new Point(3,1),new Point(4,1)}); TYPE_CONFIG.add(new Point[]{new Point(4,0),new Point(5,0),new Point(4,1),new Point(5,1)}); TYPE_CONFIG.add(new Point[]{new Point(4,0),new Point(3,0),new Point(5,0),new Point(5,1)}); TYPE_CONFIG.add(new Point[]{new Point(4,0),new Point(3,0),new Point(4,1),new Point(5,1)});
新聞名稱:java實(shí)現(xiàn)俄羅斯方塊-創(chuàng)新互聯(lián)
本文鏈接:http://aaarwkj.com/article36/jdopg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、自適應(yīng)網(wǎng)站、營銷型網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站、用戶體驗(yàn)、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容