資源簡介
用java寫的對戰版的俄羅斯方塊,用到了網絡編程,多線程,數據庫,文件操作。用swing寫的頁面。
代碼片段和文件信息
package?Controller;
import?MySocket.ExchangeThread;
import?dao.UserDaoImplements;
import?entity.Rect;
import?model.GameDao;
import?user.UserInfo;
import?view.LoginUI;
import?view.OfflinePanel;
import?view.OnlinePanel;
import?javax.swing.*;
import?java.util.Random;
import?java.util.Timer;
import?java.util.TimerTask;
/**
?*?游戲整體控制器,比如命令方塊移動,暫停游戲等
?*?
?*/
public?class?GameController?{
public?UserInfo?user=?LoginUI.user;
public?static?GameController?localController;
//?界面
private?JPanel?panel;
//?時間控制器,加載Gametask,每過一段時間,界面就變化一次
private?Timer?timer;
private?boolean?isRunning?=false;
public?GameDao?getGamedao()?{
return?gamedao;
}
public?Rect?getCurRect()?{
return?curRect;
}
public?Rect?getNextRect()?{
return?nextRect;
}
//?游戲進程控制器,比如碰撞檢測之類的
private?GameDao?gamedao;
//?當前圖形與下一個圖形
private?Rect?curRect;
private?Rect?nextRect;
//?遠程通信用的線程
private?ExchangeThread?exchangeThread;
private?class?Gametask?extends?TimerTask?{
private?int?speed?=?5;
????????public?void?run()?{
if(!isRunning){
return?;
}
//?speed來控制時間間隔。。
???????? if(speed?<=?0){
if(gamedao.isput(curRect)){
if(gamedao.gameover())?{
System.out.println(“游戲結束!“);
//?先暫停游戲
isRunning?=?false;
//對戰模式
if(exchangeThread!=null){
exchangeThread.sendMessage(“gameover“);
int?myScore?=?gamedao.score;
int?remoteScore?=?RemoteController.remoteController.getGameDao().score;
String?str?=?Integer.toString(myScore)?+?“比“?+?Integer.toString(remoteScore)?+?““;
if?(myScore?>?remoteScore)?{
//?WIN
JOptionPane.showMessageDialog(panel?str?+?“你贏了“);
}?else?if?(myScore? //?LOSE
JOptionPane.showMessageDialog(panel?str?+?“你輸了“);
}?else?{
//?pingju
JOptionPane.showMessageDialog(panel?str?+?“這是一場平局“);
}
}else{
//單機模式
int?myScore?=?gamedao.score;
System.out.println(“結束1“);
user.setScore(myScore);
new?UserDaoImplements().writeScore(user);
System.out.println(“結束2“);
JOptionPane.showMessageDialog(panel?“游戲結束.“+
“你的得分為:“+Integer.toString(myScore));
}
return;
}
Random?random?=?new?Random();
//?已經放下來了的意思
if(exchangeThread!=null){
exchangeThread.sendMessage(“isput“);
}
curRect.setColor(0);
int?temp=random.nextInt(7)+1;
curRect?=?new?Rect(nextRect.color);
nextRect?=?new?Rect(temp);
if(exchangeThread!=null){
//?更新rect的命令只發送下一個的
exchangeThread.sendMessage(Integer.toString(temp));
}
if(gamedao.ispop()){
//?消去一行
if(exchangeThread!=null){
exchangeThread.sendMessage(“ispop“);
}
}
????????????????}else{
curRect.down();
if(exchangeThread!=null)
exchangeThread.sendMessage(“down“);
}
//?如果沒有放下來,就down
????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????388??2017-12-25?15:04??final\.classpath
?????文件????????315??2017-12-20?20:31??final\.git\config
?????文件?????????73??2017-12-20?20:31??final\.git\desc
?????文件????????110??2017-12-20?20:31??final\.git\FETCH_HEAD
?????文件?????????23??2017-12-20?20:31??final\.git\HEAD
?????文件????????177??2017-12-20?20:31??final\.git\hooks\README.sample
?????文件???????6112??2017-12-20?20:31??final\.git\index
?????文件????????113??2017-12-20?20:31??final\.git\info\exclude
?????文件????????387??2017-12-20?20:31??final\.git\logs\HEAD
?????文件????????387??2017-12-20?20:31??final\.git\logs\refs\heads\master
?????文件????????144??2017-12-20?20:31??final\.git\logs\refs\remotes\origin\master
?????文件???????1132??2017-12-20?20:31??final\.git\ob
?????文件?????????83??2017-12-20?20:31??final\.git\ob
?????文件???????1217??2017-12-20?20:31??final\.git\ob
?????文件????????813??2017-12-20?20:31??final\.git\ob
?????文件????????289??2017-12-20?20:31??final\.git\ob
?????文件????????168??2017-12-20?20:31??final\.git\ob
?????文件????????319??2017-12-20?20:31??final\.git\ob
?????文件?????????89??2017-12-20?20:31??final\.git\ob
?????文件???????2000??2017-12-20?20:31??final\.git\ob
?????文件????????584??2017-12-20?20:31??final\.git\ob
?????文件????????863??2017-12-20?20:31??final\.git\ob
?????文件???????4611??2017-12-20?20:31??final\.git\ob
?????文件?????948926??2017-12-20?20:31??final\.git\ob
?????文件????????480??2017-12-20?20:31??final\.git\ob
?????文件?????????57??2017-12-20?20:31??final\.git\ob
?????文件????????152??2017-12-20?20:31??final\.git\ob
?????文件????????153??2017-12-20?20:31??final\.git\ob
?????文件????????679??2017-12-20?20:31??final\.git\ob
?????文件????????183??2017-12-20?20:31??final\.git\ob
............此處省略285個文件信息
評論
共有 條評論