成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

手把手帶你用Java打造一款對對碰游戲之一

開發 后端
隨著移動互聯網技術的快速發展,智能手機、智能平板的興起和不斷的普及,我國移動游戲行業迅速發展,在游戲產業中占據舉足輕重的地位。

[[375114]]

 一、項目背景

隨著移動互聯網技術的快速發展,智能手機、智能平板的興起和不斷的普及,我國移動游戲行業迅速發展,在游戲產業中占據舉足輕重的地位。對對碰游戲是一款經典的消除類游戲,玩家只要點擊圖案來使圖案之間互換位置,連成3個或3個以上圖案來消除,得到相應的分數。

二、項目目標

設計一款基于JAVA的游戲,顯示64 (8*8 )個動物圖片,游戲開始時,進入100s倒數,用戶點擊相應的動物圖片,如果有三個或以上相同,則成功消除,并每個得10分。

三、游戲項目設定

1.交換:玩家選擇兩個橫排或豎排相鄰的動物頭像進行位置交換,如果位置交換成功則消去動物頭像,否則不能位置交換。

2.消去:玩家選擇兩個橫排或豎排相鄰的動物頭像進行位置交換,互換后如果橫排或豎排s上有超過3個相同的動物頭像,則消去這幾個相同的動物頭像,消去動物頭像后的空格由上面的動物頭像掉下來補齊,每次消去動物頭像,玩家可以獲得相應的分數。

3.連鎖:玩家消去動物頭像后,上面的動物頭像掉下來補齊,如果這時游戲池里有連續相同的3個或3個以上動物頭像,則可以消去這些動物頭像。消去后的空格由上面的動物頭像掉下來補齊,繼續觸發連鎖,直到沒有連鎖條件為止。

四、項目實施

使用eclipse軟件開發,先上效果圖,如下圖所示??梢钥吹皆诮缑嫔嫌锌梢杂虚_始游戲按鈕、分數、時間進度條、退出游戲的功能。

接下來,小編帶大家進行具體的實現,具體的實現步驟如下。

 

(一)首先實現窗體界面

1.代碼如下所示

  1. public static void main(String[] args) { 
  2. // TODO Auto-generated method stub 
  3.     DuiDuiPeng  d = new DuiDuiPeng(); 
  4.     d.setTitle("對對碰游戲"); 
  5.     d.setSize(700, 550); 
  6.     d.setVisible(true); 
  7.     d.setResizable(false); 
  8. d.setLocationRelativeTo(null); 

2.使用new關鍵字創建DuiDuiPeng類

setTitle表示設置界面的標題;

setSize(寬,高)表示窗體大小;

setVisible(true或false)表示窗體是否可見;

setResizable(true或false)表示窗體是否可以由用戶調整大小;

setLocationRelativeTo()表示設置窗口相對于指定組件的位置。

效果圖如下所示:

 

(二)添加開始按鈕、分數、時間、退出按鈕

1.創建JFrame實例、JPanel面板,然后把面板添加到JFrame中。

2.創建開始按鈕(JButton)、分數標簽(JLabel)、文本框(JTextField)、進度條(JProgressBar)、退出按鈕(JButton)。

3.進度條(JProgressBar)是一種以可視化形式顯示某些任務進度的組件。進度條可顯示此百分比的文本表示形式。

4.進度條常用方法:

getMaximum() 方法返回進度條最大值;

getMinimum() 方法返回進度條最小值 ;

getPercentComplete() 返回進度條的完成百分比;

getString() 方法返回當前進度的 String 表示形式;

getValue() 方式返回進度條的當前 value;

setBorderPainted(boolean b) 設置 borderPainted 屬性,如果進度條應該繪制其邊框,則此屬性為 true;

setIndeterminate(boolean newValue) 設置進度條的 indeterminate 屬性,該屬性確定進度條處于確定模式中還 是處于不確定模式中;

setMaximum(int a) 設置進度條的最大值為 a;

setMinimum(int a) 設置進度條的最小值為 a;

setOrientation(int newOrientation) 設置進度條的方向為 newOrientation;

setString(String s) 設置進度字符串的值;

setStringPainted(boolean b) 設置 stringPainted 屬性的值,該屬性確定進度條是否應該顯示進度字符串;

setValue(int a) 設置進度條的當前值為 a;

代碼如下所示:

  1. public class DuiDuiPeng extends JFrame { 
  2. private JPanel panel01 = new JPanel(); 
  3. private JButton btn_start = new JButton("開始游戲"); 
  4. private JLabel label01 = new JLabel("分數"); 
  5. private JTextField text_score = new JTextField(10); 
  6. private JLabel label02 = new JLabel("時間"); 
  7. private JProgressBar progress = new JProgressBar(); 
  8. private JButton btn_exit = new JButton("退出"); 

(三)添加8*8動物矩陣

1.準備好7種動物圖片;

效果圖如下圖:

 

2.開始添加8*8動物矩陣JPanel、JButton、ImageIcon等,添加DuiDuiPeng類的成員變量。

代碼如下所示:

  1. private JPanel panel02 = new JPanel(); 
  2. private JButton button[][] = new JButton[8][8]; 
  3. private int animal[][] = new int[8][8];//0貓 1牛 2雞 3狐貍 4青蛙 5猴子 6熊貓 
  4. private ImageIcon icon[] = new ImageIcon[]{ 
  5. new ImageIcon("image//cat.png"), 
  6. new ImageIcon("image//cattle.png"), 
  7. new ImageIcon("image//chicken.png"), 
  8. new ImageIcon("image//fox.png"), 
  9. new ImageIcon("image//frog.png"), 
  10. new ImageIcon("image//monkey.png"), 
  11. new ImageIcon("image//panda.png"), 
  12.  
  13. };//7種動物的圖片 

(四)顯示開始按鈕、分數標簽、文本框、進度條、退出按鈕

  1. text_score.setText("0"); 
  2. text_score.setEditable(false); 
  3. progress.setMinimum(0);//進度值最小為0 
  4. progress.setMaximum(100);//進度值最大為100 
  5. progress.setStringPainted(true);//設置 stringPainted 屬性的值,該屬性確定進度條是否應該顯示進度字符串 
  6.  
  7. panel01.add(btn_start); 
  8. panel01.add(label01); 
  9. panel01.add(text_score); 
  10. panel01.add(label02); 
  11. panel01.add(progress); 
  12. panel01.add(btn_exit); 
  13. this.setLayout(new BorderLayout()); 
  14. this.add(panel01,BorderLayout.NORTH); 

效果如下圖所示

 

(五)顯示8X8動物矩陣,完成界面設計

可以看到游戲池種第一個和第二表格的顏色不一樣,第三又和第一個顏色是一樣的,我們可以給一個判斷條件,如果表格為奇數的顏色是橙色,如果表格為偶數的顏色是黃色,最后我們設置它的背景顏色為橙色。

效果圖如下所示

 

代碼如下圖所示

  1. panel02.setLayout(new GridLayout(8,8,2,2)); 
  2. for(int i=0;i<8;i++){//行 
  3.         for(int j=0;j<8;j++){//列 
  4.             int temp = (int)(Math.random()*7);//0-6 
  5.             button[i][j] = new JButton(icon[temp]); 
  6.             if((i+j)%2==0){ 
  7.                 button[i][j].setBackground(new Color(255,222,173)); 
  8.             }else
  9.                 button[i][j].setBackground(new Color(255,246,143)); 
  10.             } 
  11.             animal[i][j]=temp
  12.             panel02.add(button[i][j]); 
  13.             button[i][j].setEnabled(false); 
  14.  
  15.             button[i][j].addActionListener(my); 
  16.         } 
  17. this.add(panel02,BorderLayout.CENTER); 

setOpaque設置控件是否透明的。true表示不透明,false表示透明。

  1. panel01.setOpaque(false); 
  2. panel02.setOpaque(false); 
  3. this.getContentPane().setBackground(Color.orange); 

以上的內容主要完成游戲的界面設計,實現的功能請看第二篇《Java實現對對碰游戲(下篇)》。

五、總結

1.本文主要介紹了JLabel、JButton、JPanel、ImageIcon、JTextField、JProgressBar等組件的基本使用,介紹了進度條(JProgressBar)常用的方法。

2.使用二維數組實現88動物矩陣,88動物矩陣第一個單元格和第二個單元格的顏色不一樣,第三個單元格和第一個單元格顏色一樣。用奇數單元格設置為橙色,偶數單元格設置為黃色。

3.本文是一個小游戲案例,代碼相對來說并不復雜,希望可以幫助到你。

本文轉載自微信公眾號「 Java進階學習交流  」,可以通過以下二維碼關注。轉載本文請聯系 Java進階學習交流  公眾號。

 

責任編輯:武曉燕 來源: Java進階學習交流
相關推薦

2021-01-13 09:03:48

Java游戲函數

2021-02-01 08:41:06

Java考試系統

2021-01-04 09:55:26

Java移動互聯網

2022-02-17 10:26:17

JavaScript掃雷游戲前端

2021-11-01 10:26:07

CanvasAPI畫布技術HTML5

2023-05-22 10:04:24

2021-02-04 15:52:46

Java考試系統

2021-12-30 08:56:57

Python摸魚倒計界面Python基礎

2021-01-05 09:04:20

Javatxt文件

2017-09-14 09:09:04

php應用LibreOfficeWord轉HTML

2021-08-13 09:01:31

Python小游戲Python基礎

2021-01-08 10:24:32

Python項目基礎

2022-01-24 11:02:27

PySimpleGUPython計算器

2012-10-09 13:52:30

2021-01-10 08:14:01

Go語言TCP掃描器

2024-01-07 20:00:27

2021-01-21 06:04:55

Go語言TCP目錄生成器

2022-01-02 07:00:48

Python

2018-09-09 15:38:55

SD-WAN網絡WAN

2020-12-03 09:00:02

Java外賣系統
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品123区 | 九九热视频这里只有精品 | 免费在线观看毛片 | 久草综合在线视频 | 国产精品久久久亚洲 | 一区二区三区精品视频 | 成人国产精品久久 | 狠狠艹| 精品国产乱码久久久久久果冻传媒 | 在线观看亚洲专区 | 日本精品一区二区三区在线观看 | 欧美性大战xxxxx久久久 | 亚洲国产福利视频 | 日本不卡视频 | 午夜精品久久久久久不卡欧美一级 | 亚洲国产精品久久久久秋霞不卡 | 91传媒在线观看 | 精品三区 | 亚洲精品99| 日本 欧美 国产 | 国产精品美女久久久久久免费 | 国产欧美精品一区二区 | 国产传媒视频在线观看 | 国产精品美女久久久久aⅴ国产馆 | 91精品国产美女在线观看 | 中文成人无字幕乱码精品 | 午夜影院在线观看 | 亚洲精品影院 | 国产乱码精品一区二区三区五月婷 | 91久久久久久 | 久久精品一区二 | 四季久久免费一区二区三区四区 | 亚洲毛片 | 欧美激情视频一区二区三区在线播放 | 久久精品国产一区二区三区 | 日干夜干 | 久久久精品视频免费 | 在线观看国产三级 | 一级a性色生活片久久毛片 一级特黄a大片 | 嫩草研究影院 | 在线免费观看毛片 |