1. 程式人生 > >java推箱子游戲原始碼

java推箱子游戲原始碼

第一個Java檔案:

import java.awt.Color;

import java.awt.HeadlessException;

import javax.swing.ImageIcon;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

public class GameFrame extends JFrame {

JPanel zhuobu = new JPanel();

//工人

JLabel worker = null;

//箱子

JLabel box = null;

//目的地

JLabel goal = null;

JLabel[] walls = null;

//設定圖片大小

int imgSize = 48;

public void setImgSize(int imgSize){

this.imgSize = imgSize;

}

public GameFrame(String title) throws HeadlessException { super(title);

//構造方法中呼叫本類的其它方法

this.initContentPane();

}

/**

* 設定內容面板

*/

void initContentPane() {

zhuobu.setBackground(Color.red);

zhuobu.setLayout(null);

//呼叫父類的屬性和方法

super.setContentPane(zhuobu);




第一個Java檔案:

import java.awt.Color;

import java.awt.HeadlessException;

import javax.swing.ImageIcon;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

public class GameFrame extends JFrame {

JPanel zhuobu = new JPanel();

//工人

JLabel worker = null;

//箱子

JLabel box = null;

//目的地

JLabel goal = null;

JLabel[] walls = null;

//設定圖片大小

int imgSize = 48;

public void setImgSize(int imgSize){

this.imgSize = imgSize;

}

public GameFrame(String title) throws HeadlessException { super(title);

//構造方法中呼叫本類的其它方法

this.initContentPane();

}

/**

* 設定內容面板

*/

void initContentPane() {

zhuobu.setBackground(Color.red);

zhuobu.setLayout(null);

//呼叫父類的屬性和方法

super.setContentPane(zhuobu);

第一個Java檔案:

import java.awt.Color;

import java.awt.HeadlessException;

import javax.swing.ImageIcon;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

public class GameFrame extends JFrame {

JPanel zhuobu = new JPanel();

//工人

JLabel worker = null;

//箱子

JLabel box = null;

//目的地

JLabel goal = null;

JLabel[] walls = null;

//設定圖片大小

int imgSize = 48;

public void setImgSize(int imgSize){

this.imgSize = imgSize;

}

public GameFrame(String title) throws HeadlessException { super(title);

//構造方法中呼叫本類的其它方法

this.initContentPane();

}

/**

* 設定內容面板

*/

void initContentPane() {

zhuobu.setBackground(Color.red);

zhuobu.setLayout(null);

//呼叫父類的屬性和方法

super.setContentPane(zhuobu);


第一個Java檔案:

import java.awt.Color;

import java.awt.HeadlessException;

import javax.swing.ImageIcon;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

public class GameFrame extends JFrame {

JPanel zhuobu = new JPanel();

//工人

JLabel worker = null;

//箱子

JLabel box = null;

//目的地

JLabel goal = null;

JLabel[] walls = null;

//設定圖片大小

int imgSize = 48;

public void setImgSize(int imgSize){

this.imgSize = imgSize;

}

public GameFrame(String title) throws HeadlessException { super(title);

//構造方法中呼叫本類的其它方法

this.initContentPane();

}

/**

* 設定內容面板

*/

void initContentPane() {

zhuobu.setBackground(Color.red);

zhuobu.setLayout(null);

//呼叫父類的屬性和方法

super.setContentPane(zhuobu);


} /** * 把某個圖片以元件的方式加入窗體 * @param imgPath 圖片路徑 * @param x x * @param y y * @param width 寬度 * @param height 高度 * @return 新增完的元件 */ void addComponent(int tag, String imgPath, int x, int y) { ImageIcon img = new ImageIcon(imgPath); //建立JLabel並把ImageIcon通過構造方法傳參傳入 //把食物放到盤子裡 JLabel componet = new JLabel(img); //設定盤子在桌布上的位置和大小 componet.setBounds(x, y, imgSize, imgSize); //把盤子放到桌布上 zhuobu.add(componet); switch (tag) { case 1: box = componet; break; case 2: goal = componet; break; case 3: worker = componet; break; } } void addWall(String imgPath, int[][] loactions) { ImageIcon wallImg = new ImageIcon(imgPath); walls = new JLabel[66 + loactions.length]; for (int i = 0; i < walls.length; i++) { //建立沒每一個圍牆,他們使用的是同一個圖片 walls[i] = new JLabel(wallImg); } for (int i = 0; i < walls.length; i++) { //建立沒每一個圍牆,他們使用的是同一個圖片

第一個Java檔案:

import java.awt.Color;

import java.awt.HeadlessException;

import javax.swing.ImageIcon;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

public class GameFrame extends JFrame {

JPanel zhuobu = new JPanel();

//工人

JLabel worker = null;

//箱子

JLabel box = null;

//目的地

JLabel goal = null;

JLabel[] walls = null;

//設定圖片大小

int imgSize = 48;

public void setImgSize(int imgSize){

this.imgSize = imgSize;

}

public GameFrame(String title) throws HeadlessException { super(title);

//構造方法中呼叫本類的其它方法

this.initContentPane();

}

/**

* 設定內容面板

*/

void initContentPane() {

zhuobu.setBackground(Color.red);

zhuobu.setLayout(null);

//呼叫父類的屬性和方法

super.setContentPane(zhuobu);


第一個Java檔案:

import java.awt.Color;

import java.awt.HeadlessException;

import javax.swing.ImageIcon;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

public class GameFrame extends JFrame {

JPanel zhuobu = new JPanel();

//工人

JLabel worker = null;

//箱子

JLabel box = null;

//目的地

JLabel goal = null;

JLabel[] walls = null;

//設定圖片大小

int imgSize = 48;

public void setImgSize(int imgSize){

this.imgSize = imgSize;

}

public GameFrame(String title) throws HeadlessException { super(title);

//構造方法中呼叫本類的其它方法

this.initContentPane();

}

/**

* 設定內容面板

*/

void initContentPane() {

zhuobu.setBackground(Color.red);

zhuobu.setLayout(null);

//呼叫父類的屬性和方法

super.setContentPane(zhuobu);


walls[i] = new JLabel(wallImg);

}

int index = 0;

/*分別設定各個圖片位置*/

for (int i = 0; i < 14; i++) {

//左邊牆

walls[index].setBounds(0, i * imgSize, imgSize, imgSize);

zhuobu.add(walls[index]);

index++;

//右邊牆

walls[index].setBounds(20 * imgSize, i * imgSize, imgSize, imgSize);

zhuobu.add(walls[index]);

index++;

}

for (int i = 0; i < 19; i++) {

//上邊牆

walls[index].setBounds((i + 1) * imgSize, 0, imgSize, imgSize);

zhuobu.add(walls[index]);

index++;

//下邊牆

walls[index].setBounds((i + 1) * imgSize, 13 * imgSize, imgSize, imgSize); zhuobu.add(walls[index]);

index++;

}

//新增中間障礙 耦合 解耦

for (int i = 0; i < loactions.length; i++) {

walls[index].setBounds(loactions[i][0]* imgSize, loactions[i][1]* imgSize, imgSize, imgSize);

zhuobu.add(walls[index]);

index++;

}

}

}

第二個Java檔案:

public class Run {

public static void main(String[] args) {

GameFrame gameFrame = new GameFrame("推箱子游戲 …");

//設定大小

gameFrame.setBounds(100, 50, 21 * 48 + 5, 14 * 48 + 25);

//窗體大小不可變

gameFrame.setResizable(false);

gameFrame.setImgSize(48);

第一個Java檔案:

import java.awt.Color;

import java.awt.HeadlessException;

import javax.swing.ImageIcon;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

public class GameFrame extends JFrame {

JPanel zhuobu = new JPanel();

//工人

JLabel worker = null;

//箱子

JLabel box = null;

//目的地

JLabel goal = null;

JLabel[] walls = null;

//設定圖片大小

int imgSize = 48;

public void setImgSize(int imgSize){

this.imgSize = imgSize;

}

public GameFrame(String title) throws HeadlessException { super(title);

//構造方法中呼叫本類的其它方法

this.initContentPane();

}

/**

* 設定內容面板

*/

void initContentPane() {

zhuobu.setBackground(Color.red);

zhuobu.setLayout(null);

//呼叫父類的屬性和方法

super.setContentPane(zhuobu);


第一個Java檔案:

import java.awt.Color;

import java.awt.HeadlessException;

import javax.swing.ImageIcon;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

public class GameFrame extends JFrame {

JPanel zhuobu = new JPanel();

//工人

JLabel worker = null;

//箱子

JLabel box = null;

//目的地

JLabel goal = null;

JLabel[] walls = null;

//設定圖片大小

int imgSize = 48;

public void setImgSize(int imgSize){

this.imgSize = imgSize;

}

public GameFrame(String title) throws HeadlessException { super(title);

//構造方法中呼叫本類的其它方法

this.initContentPane();

}

/**

* 設定內容面板

*/

void initContentPane() {

zhuobu.setBackground(Color.red);

zhuobu.setLayout(null);

//呼叫父類的屬性和方法

super.setContentPane(zhuobu);


} } gameFrame.addComponent(3, "workerUp.png", 400, 100); gameFrame.addComponent(1, "box.png", 160, 60); gameFrame.addComponent(2, "goal.png", 80, 520); int[][] wallLocations ={ {4, 5},{5, 5},{6, 5},{7, 5}, {8, 5},{9, 5},{10, 5},{6, 8}, {7, 8}, {8, 8}, {9, 8}, {10, 8}, {11, 5} }; gameFrame.addWall("wall.png", wallLocations); gameFrame.setVisible(true);


Java免費學習資料直播公開課群175161984

第一個Java檔案:

import java.awt.Color;

import java.awt.HeadlessException;

import javax.swing.ImageIcon;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

public class GameFrame extends JFrame {

JPanel zhuobu = new JPanel();

//工人

JLabel worker = null;

//箱子

JLabel box = null;

//目的地

JLabel goal = null;

JLabel[] walls = null;

//設定圖片大小

int imgSize = 48;

public void setImgSize(int imgSize){

this.imgSize = imgSize;

}

public GameFrame(String title) throws HeadlessException { super(title);

//構造方法中呼叫本類的其它方法

this.initContentPane();

}

/**

* 設定內容面板

*/

void initContentPane() {

zhuobu.setBackground(Color.red);

zhuobu.setLayout(null);

//呼叫父類的屬性和方法

super.setContentPane(zhuobu);

第一個Java檔案:

import java.awt.Color;

import java.awt.HeadlessException;

import javax.swing.ImageIcon;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

public class GameFrame extends JFrame {

JPanel zhuobu = new JPanel();

//工人

JLabel worker = null;

//箱子

JLabel box = null;

//目的地

JLabel goal = null;

JLabel[] walls = null;

//設定圖片大小

int imgSize = 48;

public void setImgSize(int imgSize){

this.imgSize = imgSize;

}

public GameFrame(String title) throws HeadlessException { super(title);

//構造方法中呼叫本類的其它方法

this.initContentPane();

}

/**

* 設定內容面板

*/

void initContentPane() {

zhuobu.setBackground(Color.red);

zhuobu.setLayout(null);

//呼叫父類的屬性和方法

super.setContentPane(zhuobu);