推箱子Java代碼源分享 推箱子Java代碼

我變了一個(gè)推箱子的代碼,可不知道如何加入圖片和音樂,請(qǐng)求高人指點(diǎn)

推箱子小游戲代碼,包含音樂,換圖功能,同時(shí)可以進(jìn)行鼠標(biāo)或鍵盤操作-Sokoban game code, including music, for map features, at the same time can be a mouse or keyboard operation

創(chuàng)新互聯(lián)建站于2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢想脫穎而出為使命,1280元臺(tái)前做網(wǎng)站,已為上家服務(wù),為臺(tái)前各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:13518219792

[MoveNut.rar] - 推箱子游戲,無密碼可解壓。 經(jīng)典游戲一個(gè),歡迎大家下載。

[tftp_server_linux.rar] - linux下的tftp源代碼,比較經(jīng)典的一個(gè),好東西大家分享

[ProxyService.rar] - 用socket做的代理程序,對(duì)于外網(wǎng)連內(nèi)網(wǎng)很有用

[tuixz.rar] - 這個(gè)程序基本實(shí)現(xiàn)了推箱子的所有功能,加入了背景音樂,有5首背景音樂可供 選擇,并可以跳關(guān)、選關(guān)等,并且可以無限悔步,一直悔到當(dāng)前關(guān)卡的開始狀態(tài)。

[mine60.rar] - Java推箱子游戲(一共有50關(guān)卡,帶好聽的音效),完整版源碼,圖形界面,看上去夠?qū)I(yè)。界面和泡泡堂游戲有點(diǎn)相似,學(xué)習(xí)游戲編程的JAVA朋友值得一看。

請(qǐng)大神們幫幫忙,java類似推箱子游戲

網(wǎng)上搜一下,網(wǎng)上有這種推箱子箱子的源碼下碼的。

下載的看一眼就知道。

如果我的回答沒能幫助您,請(qǐng)繼續(xù)追問。

你的采納是我前進(jìn)的動(dòng)力。記得好評(píng)和采納。

java寫推箱子游戲

首先你別想圖了,想想玩法吧。我估計(jì)你玩法都已經(jīng)會(huì)了 就先不說了。

那么地圖來實(shí)現(xiàn)地圖部分的構(gòu)思

地圖無非就是你用坐標(biāo)構(gòu)成的 咋實(shí)現(xiàn)自己想吧 是二維數(shù)組還是啥自己選吧。

地圖有些地方不可以移動(dòng)的,設(shè)置一個(gè)狀態(tài)標(biāo)志吧。讓箱子和人都過不去,并且不能移動(dòng)

地圖上有箱子 可以移動(dòng),但是人不能過 也設(shè)置一個(gè)標(biāo)志吧

地圖上有人 不能過地圖 不能過箱子,自己設(shè)置標(biāo)志吧

其實(shí)很簡單 給你個(gè)簡單的例子

000000

012000

000333

000000

033300

000009

1 是人 2是箱子 3是墻 9 是終點(diǎn)

至于圖象么

你都有坐標(biāo)了 規(guī)定一下圖象的坐標(biāo) 這個(gè)可以用網(wǎng)格布局來做

響應(yīng)用戶輸入的命令 比如方向

改變圖片的位置 你比如說 人向下走了 那么人的圖片向下移動(dòng) 同時(shí)原來位置的圖片改成默認(rèn)圖片

累死了啊 漢

推箱子鼠標(biāo)移動(dòng)算法(JAVA編程)

用迭代把 要寫兩個(gè)方法 一個(gè)計(jì)算人是否能到達(dá)某一個(gè)格子 一個(gè)是計(jì)算箱子是否能到達(dá)相鄰的某一個(gè)格子

求各種各樣的小游戲的源代碼,比如:貪吃蛇、推箱子、俄羅斯方塊、五子棋等,最好是.NET的,JAVA也行。

我有java的,你可以看看:一個(gè)拼圖

import java.lang.Math.*;

import java.awt.event.*;

import java.awt.*;

import javax.swing.*;

class MainFrame extends JFrame implements ActionListener{ //定義整個(gè)框架

private JButton[] jb = new JButton[8];

private JButton jbs = new JButton("開 局");

private JButton jbres = new JButton("重新開始");

private JPanel jp1 = new JPanel();

private JPanel jp2 = new JPanel();

private int[] n = new int[9];

private int[] n1 = new int[9];

private int position = 8,p,q;

private boolean bl,startbl=false;

private JLabel jl = new JLabel();

private int count = 0;

private JLabel jl1 = new JLabel(" "+Integer.toString(0));

public MainFrame(){ //框架的構(gòu)造方法

int i;

for(int j = 0; j n.length; j++){

n[j] = j;

n1[j] = n[j];

}

for(i = 0; i jb.length; i++){ //給每個(gè)按鈕賦相應(yīng)的值,并注監(jiān)聽器

jb[i] = new JButton(Integer.toString(i+1));

jb[i].setFont(new Font("宋體",Font.BOLD,48));

jp2.add(jb[i]);

jb[i].addActionListener(this);

}

for(i = 0; i n.length; i++){

if(n[i] == position)

jp2.add(jl);

else

jp2.add(jb[n[i]]);

}

jp2.setLayout(new GridLayout(3,3));//注冊(cè)監(jiān)聽器

jbs.addActionListener(this);

jbres.addActionListener(this);

jp1.add(jbs);

jp1.add(jbres);

jp1.add(jl1);

jp1.setLayout(new FlowLayout()); //將jp1設(shè)置為流布局

setLayout(new BorderLayout()); //整體布局為邊界布局

this.add("North",jp1);

this.add("Center",jp2);

this.setTitle("拼圖游戲");

this.setBounds(100,100,300,350);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //實(shí)現(xiàn)關(guān)閉按鈕

this.setResizable(false);

this.setVisible(true);

}

public void actionPerformed(ActionEvent e){ //實(shí)現(xiàn)按鈕的事件

if(e.getSource()==jbres){ // 重新開始按鈕事件

for(int j = 0; jn.length;j++)

n[j] = n1[j];

reShow();

startbl=true;

count = 0;

jl1.setText(" "+Integer.toString(0));

}

else if(e.getSource()==jbs) //開局按鈕事件

this.Init();

else if(startbl){ //按鈕1-8移動(dòng)事件

for(int i = 0; i jb.length; i++)

if(e.getSource() == jb[i]){

//System.out.println(i+1);

for(int a=0;an.length;a++){

if(n[a]==i)

p=a;

if(n[a]==position)

q=a;

}

}

if(p != 0 p != 1 p != 2)

if((p-3) == q)

swap(p,q);

if(p != 0 p != 3 p != 6)

if((p-1) == q)

swap(p,q);

if(p != 2 p != 5 p != 8)

if((p+1) == q)

swap(p,q);

if(p != 6 p != 7 p != 8)

if((p+3) == q)

swap(p,q);

}

}

public void swap(int x,int y){ //按鈕1-8與空白圖片交換

int z;

z = n[x];

n[x] = n[y];

n[y]=z;

jl1.setText(" "+Integer.toString(++count));

reShow();

win();

}

public void Init(){ //隨機(jī)產(chǎn)生游戲界面

int i=0,j,x;

boolean bl ;

while(i9){

bl = true;

x=(int)(Math.random()*9);

for(j=0;ji;j++)

if(n[j] == x)

bl=false;

if(bl){

n [i++] = x;

n1[i-1] = x;

}

}

reShow();

startbl=true;

count = 0;

jl1.setText(" "+Integer.toString(0));

}

public void reShow(){ //對(duì)游戲界面的重寫

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

if(n[i] == position)

jp2.add(jl);

else

jp2.add(jb[n[i]]);

}

jp2.revalidate();

}

public void win(){ //判斷是否成功

boolean winbl=true;

for(int i=0;in.length;i++)

if(n[i]!=i)

winbl=false;

if(winbl){

JOptionPane.showMessageDialog(this,"祝賀你,你成功了! "+"你用了"+Integer.toString(count)+"步","",JOptionPane.INFORMATION_MESSAGE);

startbl=false;

}

}

}

public class Collage { // 主函數(shù)類

public static void main(String[] args){

new MainFrame();

}

}

自已以前編的,不是很好,你就參考參考吧

當(dāng)前名稱:推箱子Java代碼源分享 推箱子Java代碼
本文來源:http://www.muchs.cn/article8/doodsip.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)定制開發(fā)、電子商務(wù)網(wǎng)站導(dǎo)航、Google、網(wǎng)站改版

廣告

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

成都網(wǎng)頁設(shè)計(jì)公司