本文目錄一覽:
- 1、用java做拼圖遊戲,怎樣再載入圖片時,讓其中的一塊是空白
- 2、急求用JAVA編寫的圖形化界面拼圖小遊戲代碼!
- 3、java做的拼圖遊戲怎麼實現更換圖片哦
- 4、java拼圖遊戲不成功為什麼
- 5、java製作拼圖遊戲的流程圖,是個簡單的3*3的拼圖遊戲
用java做拼圖遊戲,怎樣再載入圖片時,讓其中的一塊是空白
採用網格布局,初始化的時候,將圖片寫入到JLabel中,最後一個JLabel不寫入任何信息,再用集合將JLabel添加進去,利用Collections.shuffle(集合)方法將其打亂順序,然後一個循環將其寫入網格布局中~
急求用JAVA編寫的圖形化界面拼圖小遊戲代碼!
個人見解,總體需要兩個二維數組(一個存儲正確圖片排列 Array1 String[][],一個隨機生成圖片排列Array2 String[][]),一個一維數組來存儲圖片的名稱Array3 String[],。
(1)如何實現圖片移動
使用帶圖片的按鈕(button =new button(getImage(Array[2][4]))),然後通過單擊事件來更改按鈕的圖片來源。 把被點擊的按鈕的圖片路徑更新到空白按鈕,並且把被點擊的按鈕圖片更新的成空白。其實就是變換兩個的二維數組成員的值。更新Array2中的值,然後重繪按鈕
如 Array[2][3]=“3.image”
Array[2][4]=“”
圖片3.image右移
Array[2][3]=“”
Array[2][4]=“3.image”
(2)如何判斷被單擊的網格與空白的網格是否相鄰
後台使用一個二維數組Array2來做映射。通過二維數組的下標來判斷,如Array[2][3]可以知道Array[2][4]是它右邊的那個。
(3)如何實現圖片的隨機擺放
比如有9個圖片,你可以命名1-9,然後初始化一個長度為9的一維String 數組Array3來存儲圖片的名稱,
使用隨機函數給二維數組Array2賦值,如Array2[2][3]=Array3[random()],這裡要判斷這個圖片是否已被使用過,可以通過遍歷Array2來確定當前Array3這個值是否已經在Array2中了
最後通過Array1 和Array2來比較,用戶的拼圖是否正確。
語言組織能力有限。講不太清楚。
java做的拼圖遊戲怎麼實現更換圖片哦
編寫拼圖按鈕的監聽器類,該類為主類的內部類。
在actionPerformed()方法中,首先獲得空白按鈕和被單擊按鈕的所在行和列,
然後判斷這兩個按鈕是否相鄰,如果相鄰則將被單擊按鈕顯示的圖片移動到空白按鈕上,並令被單擊按鈕顯示空白圖片,以及將在類中聲明的空白按鈕對象設置為被單擊的按鈕對象
思路就這樣,我給你個示例代碼,你參考參考哦:
class ImgButtonAction implements ActionListener {
public void actionPerformed(ActionEvent e) {
String emptyName = emptyButton.getName();
char emptyRow = emptyName.charAt(0);
char emptyCol = emptyName.charAt(1);
JButton clickButton = (JButton) e.getSource();
String clickName =clickButton.getName();
char clickRow = clickName.charAt(0);
char clickCol = clickName.charAt(1);
if(Math.abs(clickRow – emptyRow) + Math.abs(clickCol – emptyCol) == 1) {
emptyButton.setIcon(clickButton.getIcon()) ;
clickButton.setIcon(new ImageIcon(“img/00.jpg”));
emptyButton = clickButton;
}
}
}
大概就這樣了
希望對你有幫助哈
java拼圖遊戲不成功為什麼
從代碼和錯誤提示來看
button 對象只有聲明, 並沒有賦值,默認是null .用一個null對象去調用方法,那麼就會拋出異常.沒有進行異常處理,程序就會崩潰
button.addActionListener(new ImgButtonAction());// 出錯…因為button為null
解決辦法: button對象先賦值(不能為null)再使用
建議你寫代碼,添加必要的注釋,對每個方法的說明, 以及對每個比較難一眼看懂的算法進行說明.,會比較好.
以前也寫過一個拼圖,比較簡單.思路跟你可能差不多:
1:用按鈕去顯示圖片的一部分.並且每個按鈕都有個value屬性,從1,2,3,….9,0
(value為0按鈕在最後面,並不顯示圖片) .想要勝利,就需要圖片按鈕的value屬性能滿足下面的二維數組
int[][] win = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 0 } };
2: 點擊圖片按鈕,判斷是否可以交換位置,如果旁邊是value為0的按鈕,那麼可以交換位置,每次交換後,記得判斷是否勝利
3: 打亂的圖片按鈕,不一定能求解, 如果不能求解,那麼重新打亂
效果圖大概是
java製作拼圖遊戲的流程圖,是個簡單的3*3的拼圖遊戲
用swing先構建一個框架 調用APPlet然後建幾個變量就行了 3*3就是需要8個 綁定個小數據庫
判定下當這8個先用按鈕代替 ,最後再把按鈕整成圖片就行了 ,還有格局設置大小,都是這個位置是為真就完了,主要還是看你怎麼布局了,先看看SWING的那個布局,就這個思想
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/199263.html