資源簡介
基于廣度優先算法,記錄最短路徑,實現《圍貓》模式的小游戲

代碼片段和文件信息
import?java.awt.Font;
import?java.awt.Graphics;
import?java.awt.Toolkit;
import?java.awt.event.MouseEvent;
import?java.awt.event.MouseListener;
import?java.awt.image.BufferedImage;
import?java.util.ArrayList;
import?java.util.linkedList;
import?java.util.List;
import?java.util.Queue;
import?java.util.Stack;
import?javax.swing.Jframe;
import?javax.swing.JOptionPane;
import?javax.swing.plaf.SliderUI;
public?class?Armyframe?extends?Jframe?implements?Runnable?MouseListener{
private?static?final?long?serialVersionUID?=?1L;
//記錄走的步數
private?int?stepCont?=?0;
private?List?sceneList?=?new?ArrayList();
private?int?sort;
private?Thread?freshThread?=?null;
private?Place?placeArr[][]?=?new?Place[9][13];
private?int?currentX?=?4?currentY?=?6;
private?int?singelRow[][]?=?new?int[6][2];
private?int?doubleRow[][]?=?new?int[6][2];
public?Armyframe(){
this.settitle(“赤壁之圍曹操“);
this.setSize(640?480);
int?width=Toolkit.getDefaultToolkit().getScreenSize().width;
int?height=Toolkit.getDefaultToolkit().getScreenSize().height;
this.setLocation((width-640)/2(height-480)/2);
this.setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);
this.setVisible(true);
this.setResizable(false);
Scene?startScene?=?new?Scene(1?1);
sceneList.add(startScene);
Scene?info1?=?new?Scene(2?2);
sceneList.add(info1);
Scene?info2?=?new?Scene(3?2);
sceneList.add(info2);
Scene?game?=?new?Scene(4?2);
sceneList.add(game);
Scene?end?=?new?Scene(5?3);
sceneList.add(end);
this.sort?=?0;
this.addMouseListener(this);
this.repaint();
//初始化6個方向數組,因為單數行和偶數行的方向不同,所以要做兩個數組
singelRow[0][0]?=?-1;
singelRow[0][1]?=?-1;
singelRow[1][0]?=?-1;
singelRow[1][1]?=?0;
singelRow[2][0]?=?0;
singelRow[2][1]?=?1;
singelRow[3][0]?=?1;
singelRow[3][1]?=?0;
singelRow[4][0]?=?1;
singelRow[4][1]?=?-1;
singelRow[5][0]?=?0;
singelRow[5][1]?=?-1;
doubleRow[0][0]?=?-1;
doubleRow[0][1]?=?0;
doubleRow[1][0]?=?-1;
doubleRow[1][1]?=?1;
doubleRow[2][0]?=?0;
doubleRow[2][1]?=?1;
doubleRow[3][0]?=?1;
doubleRow[3][1]?=?1;
doubleRow[4][0]?=?1;
doubleRow[4][1]?=?0;
doubleRow[5][0]?=?0;
doubleRow[5][1]?=?-1;
freshThread?=?new?Thread(this);
freshThread.start();
}
public?void?paint(Graphics?g){
BufferedImage?image=new?BufferedImage(900600BufferedImage.TYPE_3BYTE_BGR);
Graphics?g2=image.getGraphics();
if(sceneList.size()?>?sort){
Scene?currentScene?=?sceneList.get(sort);
if(currentScene?!=?null){
//先畫背景
g2.drawImage(currentScene.getBgImage()00this);
//再畫里邊固定位置的元素
for(int?i?=?0;?i? Resource?tempResource?=?currentScene.getResorceList().get(i);
g2.drawImage(tempResource.getImage()?tempResource.getX()?tempResource.getY()?this);
}
//畫定點
placeArr?=?currentS
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
????I.A....???????301??2015-12-10?09:03??RedArmy\.classpath
????I.A....???????383??2015-12-10?09:03??RedArmy\.project
????I.A....???????598??2015-12-10?09:03??RedArmy\.settings\org.eclipse.jdt.core.prefs
????I.A....?????????3??2015-12-10?09:03??RedArmy\.svn\entries
????I.A....?????????3??2015-12-10?09:03??RedArmy\.svn\format
????I.A....??????2093??2015-12-10?09:03??RedArmy\.svn\pristine\04\041b13a6ba25679d9717dda6ccac77d00acc7ad8.svn-ba
????I.A....??????1421??2015-12-10?09:03??RedArmy\.svn\pristine\06\068a4c0c2b7473aab30d998820a4bb613eb2e13a.svn-ba
????I.A....????569424??2015-12-10?09:03??RedArmy\.svn\pristine\10\10775280bbbb8c42bf31363fb0c24f8dc60f7b11.svn-ba
????I.A....??????6379??2015-12-10?09:03??RedArmy\.svn\pristine\13\13383452ea43cd37975ebd87caa973a6fe18c972.svn-ba
????I.A....???????145??2015-12-10?09:03??RedArmy\.svn\pristine\14\146c3b7e9bf995ba7759284b0c69e9a2766aec39.svn-ba
????I.A....???????598??2015-12-10?09:03??RedArmy\.svn\pristine\17\1738f633fc4a9029a9b29c54a7d3fc9dfb4ca9cf.svn-ba
????I.A....???????383??2015-12-10?09:03??RedArmy\.svn\pristine\23\230d5881f70ab4ed4810b3e12cc579e0c06aef2e.svn-ba
????I.A....??????6314??2015-12-10?09:03??RedArmy\.svn\pristine\23\237ef4f372171596a66dc8ce013a6521c0115de3.svn-ba
????I.A....???????145??2015-12-10?09:03??RedArmy\.svn\pristine\24\248497138150b07591db4830fd35904f0bbfad57.svn-ba
????I.A....?????11520??2015-12-10?09:03??RedArmy\.svn\pristine\27\27db0560d2e3cb86720e472650af6134803797e2.svn-ba
????I.A....???????158??2015-12-10?09:03??RedArmy\.svn\pristine\2c\2c3932ce67ed82a6411f8259fc938d1f35b78ed3.svn-ba
????I.A....???????221??2015-12-10?09:03??RedArmy\.svn\pristine\3a\3ad6c1430f6beb16f6fa5ca4660bca22a3d545d3.svn-ba
????I.A....??????9271??2015-12-10?09:03??RedArmy\.svn\pristine\4b\4b2f72a92064675aaaeac5fd70541400d30b3ffa.svn-ba
????I.A....????219216??2015-12-10?09:03??RedArmy\.svn\pristine\4f\4f86d0f29aca79e1fcc50b512cfbf023cb05164d.svn-ba
????I.A....????509069??2015-12-10?09:03??RedArmy\.svn\pristine\6f\6ff2fb585ca3819cb78bcf3c155e6ecf6263c5e5.svn-ba
????I.A....????100266??2015-12-10?09:03??RedArmy\.svn\pristine\82\8214ae57fd13bff60f34b09ab0acb7143d40fc4d.svn-ba
????I.A....???????301??2015-12-10?09:03??RedArmy\.svn\pristine\93\9362e57b11f40e949fe976d0434a78c828fd6a4f.svn-ba
????I.A....????117274??2015-12-10?09:03??RedArmy\.svn\pristine\a1\a19ac6d4ef81bab3945886a3a403dc512cb4581f.svn-ba
????I.A....?????93784??2015-12-10?09:03??RedArmy\.svn\pristine\a6\a6dc3917990d2c71b9f06176cef6b72c9658efcf.svn-ba
????I.A....????615255??2015-12-10?09:03??RedArmy\.svn\pristine\ad\add032f9de30d77a77239a9b1465d74b003e3dc9.svn-ba
????I.A....????250840??2015-12-10?09:03??RedArmy\.svn\pristine\d2\d24cf83d1a39b7609d8bf308dcc65def3757ba87.svn-ba
????I.A....??????3373??2015-12-10?09:03??RedArmy\.svn\pristine\d5\d529e4d4400eb41f233f951a17474198d29836be.svn-ba
????I.A....???????141??2015-12-10?09:03??RedArmy\.svn\pristine\e8\e897b8c934c8013f5acefdee36b4127ede7bc412.svn-ba
????I.A....???????625??2015-12-10?09:03??RedArmy\.svn\pristine\f6\f661561179fcd3ec1cf4586d212c4a2b99470eb5.svn-ba
????I.A....?????49152??2015-12-10?09:03??RedArmy\.svn\wc.db
............此處省略77個文件信息
評論
共有 條評論