資源簡介
JAVA編程功能如下:
運行程序后有背景音樂
菜單欄有:重新開始,提示,炸彈,排行榜等功能。
還有關(guān)閉背景音樂,設(shè)置游戲等級,查看游戲幫助這幾項功能
游戲有得分以及倒計時功能。
其實這游戲做的就是仿qq連連看,連圖片和背景聲音都是來自qq連連看。
本篇博客不是教程,但提供源碼,這只是寫給自己看,說說自己關(guān)于寫這個游戲的領(lǐng)悟而已。
由于是剛開始接觸java GUI就開始動手寫游戲,結(jié)果好多東西都在走彎路,后來才知道明明可以用awt swt 等等插件進行拖拽式編程,我還傻傻的一個代碼一個代碼的敲出程序界面,還一個像素一個像素的調(diào)試來使得整體界面美觀,
不過總體來說現(xiàn)在多走點彎路,以后就少走點彎路了嘛,教訓(xùn)總是要吸取的,只有把常見的bug都經(jīng)歷了一遍,以后開發(fā)才會有意的繞開那些bug。

代碼片段和文件信息
?????????????????????????????????????????????????????????????????????
?????????????????????????????????????????????????????????????????????
?????????????????????????????????????????????????????????????????????
?????????????????????????????????????????????
import?javafx.concurrent.Task;
import?javafx.event.EventHandler;
import?javafx.animation.FadeTransition;
import?javafx.application.Application;
import?javafx.scene.Group; //?Group是怎么樣的
import?javafx.scene.Scene;
import?javafx.scene.control.Button;
import?javafx.scene.control.ProgressBar;
import?javafx.scene.input.MouseEvent;
import?javafx.scene.layout.AnchorPane; //AnchorPane是怎么樣的?
import?javafx.scene.paint.Color;
import?javafx.scene.shape.Line;
import?javafx.stage.Stage;
import?javafx.util.Duration;
public?class?linkGame?extends?Application?{
Group?root?=?new?Group();
AnchorPane?level[]?=?new?AnchorPane[]?{?new?AnchorPane()?new?AnchorPane()//?????????????
new?AnchorPane()?};?//?main?panel、、、、、、、、、、、?????
int?t?total?=?100;?//?pass?time??total?time
int?width?=?660?height?=?660;?//?window?size
int?wid?=?60?hei?=?60;?//?tile?size //每一個小方塊的??????????????
int?cols[]?=?{7?8?10}?rows[]?=?{6?7?7};
int?mapCol?mapRow;
int?fristCol?fristRow;
int?picType;
int?map[][]?=?new?int[cols[2]?+?2][rows[2]?+?2];//?????????
Tile?tile[][]?=?new?Tile[cols[2]?+?2][rows[2]?+?2];
int?clicks;
boolean?path;
int?totalDelete;
int?levelnum?=?0;
Button?reset[]?=?new?Button[3];
ProgressBar?proBar[]?=?new?ProgressBar[]?{?new?ProgressBar()
new?ProgressBar()?new?ProgressBar()?};
Worker?worker?=?new?Worker();
public?static?void?main(String[]?args)?{
linkGame.launch(args);
}
public?void?start(Stage?stage)?throws?Exception?{
Scene?s?=?new?Scene(root?width?height?Color.gray(0.95));
stage.settitle(“l(fā)ink?game“);
panelSet(level[0]?proBar[0]);
root.getChildren().add(level[0]);
Worker?worker?=?new?Worker();
stage.titleProperty().bind(worker.titleProperty());
for(int?i?=?0;?i?3;?++i){
proBar[i].progressProperty().bind(worker.progressProperty());
}
Thread?thread?=?new?Thread(worker);
thread.setDaemon(true);
thread.start();
root.addEventHandler(MouseEvent.MOUSE_CLICKED?new?listener());
stage.setScene(s);
stage.show();
}
public?class?Worker?extends?Task?{//時間設(shè)置
protected?Void?call()?throws?Exception?{
updatetitle(“l(fā)ink?game?Start“);
updateProgress(0?total);
for?(t?=?1;?t?<=?total;)?{
try?{
Thread.sleep(1000);
}?catch?(InterruptedException?e)?{
}
t++;
updatetitle(“Time?Remaining:?“?+?(100?-?t));
updateProgress(t?total);
}
return?null;
}
public?void?timeAdd()?{
t?=?t?-?1;
updatetitle(“Time?Remaining:?“?+?(100?-?t));
updateProgress(t?total);
}
}
public?class?listener?implements?EventHandler?{
public?void?handle(MouseEvent?arg)?{
clicks++;
double?x?=?arg.getX();
doub
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2017-07-23?09:17??簡單的連連看JAVA\
?????文件?????????380??2012-11-10?20:54??簡單的連連看JAVA\.classpath
?????文件?????????381??2012-11-10?20:54??簡單的連連看JAVA\.project
?????目錄???????????0??2017-07-23?09:17??簡單的連連看JAVA\.settings\
?????文件?????????598??2012-11-10?20:54??簡單的連連看JAVA\.settings\org.eclipse.jdt.core.prefs
?????目錄???????????0??2017-07-23?09:17??簡單的連連看JAVA\bin\
?????文件????????1806??2013-10-12?13:50??簡單的連連看JAVA\bin\li
?????文件????????1399??2013-10-12?13:50??簡單的連連看JAVA\bin\li
?????文件???????12332??2013-10-12?13:50??簡單的連連看JAVA\bin\li
?????文件????????4955??2013-10-12?13:50??簡單的連連看JAVA\bin\Tile.class
?????目錄???????????0??2017-07-23?09:17??簡單的連連看JAVA\src\
?????文件???????14784??2017-09-04?13:52??簡單的連連看JAVA\src\li
?????文件????????1481??2017-09-04?13:54??簡單的連連看JAVA\src\Tile.java
評論
共有 條評論