java如何實(shí)現(xiàn)2048游戲功能-創(chuàng)新互聯(lián)

小編這次要給大家分享的是java如何實(shí)現(xiàn)2048游戲功能,文章內(nèi)容豐富,感興趣的小伙伴可以來(lái)了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。

創(chuàng)新互聯(lián)建站堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的察哈爾右翼前網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

功能要求:2048的基本界面,能夠?qū)崿F(xiàn)2048的游戲功能。

總思路:兩個(gè)類:Game和GameListener。

Game負(fù)責(zé)界面的實(shí)現(xiàn)和paint方法的重寫

GameListener負(fù)責(zé)實(shí)現(xiàn)鍵盤和鼠標(biāo)事件的處理。移動(dòng)方法,相加方法,輸贏判斷和隨機(jī)數(shù)的出現(xiàn)都要在鍵盤監(jiān)聽的方法中實(shí)現(xiàn)。

實(shí)現(xiàn)分析:要實(shí)現(xiàn)2048游戲,首先需要考慮2048都有些什么?

界面實(shí)現(xiàn):

2048的游戲界面很簡(jiǎn)單,就是一些方格和數(shù)字。要實(shí)現(xiàn)這樣的界面,我們可以考慮一下使用Java的繪圖功能。具體來(lái)說就是使用JFrame類提供的Graphics對(duì)象進(jìn)行繪圖。2048界面由一個(gè)大的矩形背景和包含數(shù)字的許多小方塊組成。Graphics對(duì)象的繪制矩形的方法就能實(shí)現(xiàn)背景和小方格的繪制。小方格內(nèi)的數(shù)字則可以使用graphics的drawString方法來(lái)繪制。只需要在繪制的時(shí)候注意一下顏色就好。界面實(shí)現(xiàn)要擁到的類主要是JFrame類。

基本界面實(shí)現(xiàn)代碼,不過是一些按鈕之類的,沒什么好說的。

private void initUI() {
 setTitle("2048");
 setDefaultCloseOperation(3);
 setSize(600, 700);
 setLocationRelativeTo(null);
 this.setLayout(null);
 //添加分?jǐn)?shù)
 jl2 = new JLabel("分?jǐn)?shù):0");
 jl2.setFont(new Font("黑體", Font.BOLD, 30));
 jl2.setBounds(20, 30, 200, 50);
 this.add(jl2);
 //添加開始按鈕
 ImageIcon start=new ImageIcon("res/start.png");//開始游戲圖標(biāo),隨意替換就好
 startJB=new JButton(start);
 startJB.setBounds(280, 40, 120, 30);
 startJB.setFocusable(false);
 startJB.setBorderPainted(false);//設(shè)置按鈕的邊框?yàn)榭? startJB.setFocusPainted(false);
 startJB.setContentAreaFilled(false);//設(shè)置按鈕的邊框內(nèi)填充顏色
 
 //添加退一步按鈕
 ImageIcon back=new ImageIcon("res/backicon.png");//游戲結(jié)束圖標(biāo),隨意替換就好
 backJB=new JButton(back);
 backJB.setBounds(430, 40, 120, 30);
 backJB.setFocusable(false);
 backJB.setBorderPainted(false);
 backJB.setFocusPainted(false);
 backJB.setContentAreaFilled(false);
 
 this.add(startJB);
 this.add(backJB);
 setVisible(true);
 GameListener gl = new GameListener(this, arry, jl2,startJB,backJB);
 addKeyListener(gl);
 startJB.addActionListener(gl);
 backJB.addActionListener(gl);
 }

網(wǎng)站欄目:java如何實(shí)現(xiàn)2048游戲功能-創(chuàng)新互聯(lián)
當(dāng)前地址:http://muchs.cn/article32/ddhopc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)、網(wǎng)站排名網(wǎng)站策劃、服務(wù)器托管、移動(dòng)網(wǎng)站建設(shè)域名注冊(cè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名