九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

【課程設(shè)計(jì)報(bào)告】Java實(shí)現(xiàn)游戲連連看(有源代碼)

上傳人:仙*** 文檔編號(hào):28679369 上傳時(shí)間:2021-09-07 格式:DOC 頁(yè)數(shù):26 大?。?.43MB
收藏 版權(quán)申訴 舉報(bào) 下載
【課程設(shè)計(jì)報(bào)告】Java實(shí)現(xiàn)游戲連連看(有源代碼)_第1頁(yè)
第1頁(yè) / 共26頁(yè)
【課程設(shè)計(jì)報(bào)告】Java實(shí)現(xiàn)游戲連連看(有源代碼)_第2頁(yè)
第2頁(yè) / 共26頁(yè)
【課程設(shè)計(jì)報(bào)告】Java實(shí)現(xiàn)游戲連連看(有源代碼)_第3頁(yè)
第3頁(yè) / 共26頁(yè)

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《【課程設(shè)計(jì)報(bào)告】Java實(shí)現(xiàn)游戲連連看(有源代碼)》由會(huì)員分享,可在線閱讀,更多相關(guān)《【課程設(shè)計(jì)報(bào)告】Java實(shí)現(xiàn)游戲連連看(有源代碼)(26頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、課程設(shè)計(jì)說(shuō)明書 NO.26更多計(jì)算機(jī)類課程設(shè)計(jì)、畢業(yè)設(shè)計(jì)、論文請(qǐng)?jiān)L問(wèn):JAVA語(yǔ)言實(shí)現(xiàn)連連看游戲1.課程設(shè)計(jì)目的Java語(yǔ)言是當(dāng)今流行的網(wǎng)絡(luò)編程語(yǔ)言,它具有面向?qū)ο?、跨平臺(tái)、分布應(yīng)用等特點(diǎn)。面向?qū)ο蟮拈_(kāi)發(fā)方法是當(dāng)今世界最流行的開(kāi)發(fā)方法,它不僅具有更貼近自然的語(yǔ)義,而且有利于軟件的維護(hù)和繼承。 學(xué)會(huì)Java程序開(kāi)發(fā)的環(huán)境搭建與配置,并在實(shí)際運(yùn)用中學(xué)習(xí)和掌握J(rèn)ava程序開(kāi)發(fā)的全過(guò)程。進(jìn)一步熟悉掌握J(rèn)ava程序設(shè)計(jì)語(yǔ)言的基礎(chǔ)內(nèi)容,如用戶圖形界面設(shè)計(jì)、Java多線程編程、Applet程序的設(shè)計(jì)、文件和網(wǎng)絡(luò)輸入輸出流編程、Java數(shù)據(jù)庫(kù)編程等。通過(guò)親自動(dòng)手寫程序,一方面拓展知識(shí)面,一方面鍛煉調(diào)試能力2.

2、設(shè)計(jì)方案論證2.1設(shè)計(jì)思路2.1.1用戶可以通過(guò)點(diǎn)擊菜單中的“開(kāi)始游戲”選項(xiàng),開(kāi)始新游戲程序。程序會(huì)載入圖片,并通過(guò)特定的算法排列圖片,并標(biāo)記圖片,以便判斷圖片是否相同。記錄圖片坐標(biāo),以方便計(jì)算圖片是否可以相連。確定圖片大小,以確定用戶點(diǎn)擊的是那張圖片。2.1.2用戶選擇兩張一樣的圖片,通過(guò)鼠標(biāo)進(jìn)行選取,如果用戶兩次點(diǎn)擊的圖片不相同,那么系統(tǒng)認(rèn)為用戶沒(méi)有點(diǎn)(鼠標(biāo)記數(shù)歸0),以完成用戶以后的選取工作。如果用戶選擇的是相同的圖片,那么系統(tǒng)會(huì)消除這兩張圖片,并使鼠標(biāo)記數(shù)為0,并消除這兩張圖片的標(biāo)記,使里面的圖片被標(biāo)記在外面。以便用戶可以進(jìn)行以后的選擇。2.1.3用戶也可使通過(guò)使用“炸彈”功能進(jìn)行消除

3、圖片。方法是點(diǎn)擊菜單中的“炸彈”選項(xiàng)使用,點(diǎn)擊后如果界面上有兩張可以相連的相同圖片就隨機(jī)消除兩張可以相連的相同的圖片。2.1.4 炸彈數(shù)目是有限的,默認(rèn)數(shù)目為三,每使用一次“炸彈”功能,炸彈數(shù)目就會(huì)自動(dòng)減一,當(dāng)炸彈數(shù)目為零時(shí)(使用三次“炸彈”功能)。并且用戶想再次使用炸彈時(shí),系統(tǒng)會(huì)彈出對(duì)話框提示用戶,并把菜單中“炸彈”選項(xiàng)變?yōu)榛疑ㄓ脩舨豢墒褂茫?.1.5當(dāng)系統(tǒng)開(kāi)始游戲后,系統(tǒng)會(huì)在后臺(tái)記錄時(shí)間,如果在用戶還沒(méi)有消除所有圖片時(shí),系統(tǒng)時(shí)間到了,那么系統(tǒng)會(huì)彈出對(duì)話框,提示用戶,時(shí)間到了,游戲失敗。2.1.6 當(dāng)用戶點(diǎn)擊確定后,系統(tǒng)還會(huì)彈出對(duì)話框詢問(wèn)用戶是否重新開(kāi)始,用戶選擇“是”時(shí),系統(tǒng)會(huì)開(kāi)始新游

4、戲;當(dāng)用戶選擇“否”時(shí),系統(tǒng)會(huì)返回開(kāi)始界面;當(dāng)用戶選擇“取消”時(shí),系統(tǒng)會(huì)返回提示時(shí)間到的界面。2.1.6 如果在時(shí)間未到時(shí),用戶使所有的圖片都消失(兩兩消除,直到最后一對(duì)),系統(tǒng)會(huì)提示用戶游戲以通過(guò),點(diǎn)“確定”后回到開(kāi)始界面。2.2設(shè)計(jì)方法在設(shè)計(jì)連連看小游戲是,需要編寫6個(gè)Java源文件:MainFrame.java,ChessButton.java,MapUI.java,Settings.java,ArrayPoint.java,Map.java。2.2.1 MainFrame.java 主窗口部分定義了程序用函數(shù),實(shí)現(xiàn)了程序菜單(initMenuBar)的使用。2.2.2 ChessBut

5、ton.java 按鍵部分定義按鍵的位置,代表的值。2.2.3 MapUI.java 游戲部分判斷點(diǎn)擊的圖片,判斷兩圖片是否可連,是否相同。判斷是否勝利。實(shí)現(xiàn)炸彈功能。2.2.4 Settings.java 數(shù)組確定了游戲各種參數(shù)屬性。2.2.5 ArrayPoint.java 取值部分定義圖片的值。2.2.6 Map.java 算法部分通過(guò)算法確定兩張圖片是否連通。2.3功能模塊 此設(shè)計(jì)共有以下幾個(gè)功能模塊。2.3.1 開(kāi)始游戲程序會(huì)載入圖片,并通過(guò)特定的算法排列圖片,并標(biāo)記圖片,以便判斷圖片是否相同。記錄圖片坐標(biāo),以方便計(jì)算圖片是否可以相連。確定圖片大小,以確定用戶點(diǎn)擊的是那張圖片。2.3

6、.2 使用“炸彈”用戶點(diǎn)擊菜單中的“炸彈”選項(xiàng)使用,點(diǎn)擊后如果界面上有兩張可以相連的相同圖片就隨機(jī)消除兩張可以相連的相同的圖片。2.3.3 限制炸彈“數(shù)目”炸彈 默認(rèn)數(shù)目為三,每使用一次“炸彈”功能,炸彈數(shù)目就會(huì)自動(dòng)減一,當(dāng)炸彈數(shù)目為零時(shí)(使用三次“炸彈”功能)。并且用戶想再次使用炸彈時(shí),系統(tǒng)會(huì)彈出對(duì)話框提示用戶,并把菜單中“炸彈”選項(xiàng)變?yōu)榛疑ㄓ脩舨豢墒褂茫?.3.4 對(duì)用戶游戲時(shí)的判斷用戶選擇兩張一樣的圖片,通過(guò)鼠標(biāo)進(jìn)行選取,如果用戶兩次點(diǎn)擊的圖片不相同,那么系統(tǒng)認(rèn)為用戶沒(méi)有點(diǎn)(鼠標(biāo)記數(shù)歸0),以完成用戶以后的選取工作。如果用戶選擇的是相同的圖片,那么系統(tǒng)會(huì)消除這兩張圖片,并使鼠標(biāo)記數(shù)為

7、0,并消除這兩張圖片的標(biāo)記,使里面的圖片被標(biāo)記在外面。以便用戶可以進(jìn)行以后的選擇。2.4流程圖如下圖2 主函數(shù)流程圖 開(kāi)始程序開(kāi)始游戲接收用戶點(diǎn)擊是否使用炸彈 Y N是否二次點(diǎn)擊 N消除點(diǎn)擊計(jì)數(shù)兩張圖片是否相同 Y N消除兩張一樣的可以相連的圖片 Y兩張圖片是否可以相連 N消除用戶點(diǎn)擊 的兩張圖片 Y消除點(diǎn)擊計(jì)數(shù)是否還有圖片未消除 Y結(jié)束 N 圖3 游戲進(jìn)行流程圖圖4 使用炸彈流程圖圖5 計(jì)算時(shí)間流程圖 2.5類、方法、屬性說(shuō)明成員變量成員變量描述變量類型名稱行數(shù)intROWS列數(shù)intCOLUMNS圖片后綴名stringRELEX每局所花時(shí)間(秒)intPERTIME判斷的時(shí)間間隔intPE

8、R炸彈的使用次數(shù)intBOMBCOUNT方法方法名功能備注MenuBar()實(shí)用程序菜單無(wú)備注Bomb()設(shè)置炸彈無(wú)備注Point()定義按鍵的位置無(wú)備注Chesses()初步定義游戲界面,功能無(wú)備注Timer()時(shí)間限制無(wú)備注3.設(shè)計(jì)結(jié)果與分析用戶可以通過(guò)點(diǎn)擊菜單中的“開(kāi)始游戲”選項(xiàng),開(kāi)始新游戲程序。程序會(huì)載入圖片,并通過(guò)特定的算法排列圖片,并標(biāo)記圖片,以便判斷圖片是否相同。記錄圖片坐標(biāo),以方便計(jì)算圖片是否可以相連。確定圖片大小,以確定用戶點(diǎn)擊的是那張圖片。圖6 開(kāi)始游戲后畫面用戶選擇兩張一樣的圖片,通過(guò)鼠標(biāo)進(jìn)行選取,如果用戶兩次點(diǎn)擊的圖片不相同,那么系統(tǒng)認(rèn)為用戶沒(méi)有點(diǎn)(鼠標(biāo)記數(shù)歸0),以完

9、成用戶以后的選取工作。如果用戶選擇的是相同的圖片(如第八行第二列和第八行第三列),那么系統(tǒng)會(huì)消除這兩張圖片,并使鼠標(biāo)記數(shù)為0,并消除這兩張圖片的標(biāo)記,使里面的圖片被標(biāo)記在外面。以便用戶可以進(jìn)行以后的選擇。圖7 消除三對(duì)后畫面用戶也可使通過(guò)使用“炸彈”功能進(jìn)行消除圖片。方法是點(diǎn)擊菜單中的“炸彈”選項(xiàng)使用,點(diǎn)擊后如果界面上有兩張可以相連的相同圖片就隨機(jī)消除兩張可以相連的相同的圖片(如第一行第一列河第一行第四列)。 圖8 使用炸彈后畫面炸彈數(shù)目是有限的,默認(rèn)數(shù)目為三,每使用一次“炸彈”功能,炸彈數(shù)目就會(huì)自動(dòng)減一,當(dāng)炸彈數(shù)目為零時(shí)(使用三次“炸彈”功能)。并且用戶想再次使用炸彈時(shí),系統(tǒng)會(huì)彈出對(duì)話框提示

10、用戶,并把菜單中“炸彈”選項(xiàng)變?yōu)榛疑ㄓ脩舨豢墒褂茫?圖9 炸彈使用光后畫面當(dāng)系統(tǒng)開(kāi)始游戲后,系統(tǒng)會(huì)在后臺(tái)記錄時(shí)間,如果在用戶還沒(méi)有消除所有圖片時(shí),系統(tǒng)時(shí)間到了,那么系統(tǒng)會(huì)彈出對(duì)話框,提示用戶,時(shí)間到了,游戲失敗。圖10 時(shí)間到時(shí)的畫面當(dāng)用戶點(diǎn)擊確定后,系統(tǒng)還會(huì)彈出對(duì)話框詢問(wèn)用戶是否重新開(kāi)始,用戶選擇“是”時(shí),系統(tǒng)會(huì)開(kāi)始新游戲;當(dāng)用戶選擇“否”時(shí),系統(tǒng)會(huì)返回開(kāi)始界面;當(dāng)用戶選擇“取消”時(shí),系統(tǒng)會(huì)返回提示時(shí)間到的界面。圖11 點(diǎn)擊確定時(shí)的畫面如果在時(shí)間未到時(shí),用戶使所有的圖片都消失(兩兩消除,直到最后一對(duì)),系統(tǒng)會(huì)提示用戶游戲以通過(guò),點(diǎn)“確定”后回到開(kāi)始界面。圖12 通關(guān)畫面4.設(shè)計(jì)體會(huì)通過(guò)這

11、次課程設(shè)計(jì)我學(xué)到了不少東西,也發(fā)現(xiàn)了大量的問(wèn)題,同時(shí)在設(shè)計(jì)的過(guò)程中發(fā)現(xiàn)了自己的不足之處,對(duì)以前所學(xué)過(guò)的知識(shí)理解得不夠深刻,掌握得不夠牢固。因而,通過(guò)課程設(shè)計(jì)之后,把以前所學(xué)過(guò)的知識(shí)重新溫故。有些在設(shè)計(jì)過(guò)程中已解決,有些還有待今后慢慢學(xué)習(xí),只要認(rèn)真學(xué)就會(huì)有更多的收獲。總之這次課程設(shè)計(jì)使我更多的掌握了所學(xué)的知識(shí),并運(yùn)用到實(shí)踐上,了解了java的重要性,對(duì)以后的學(xué)習(xí)起了重要作用。在設(shè)計(jì)的過(guò)程中我遇到了很到問(wèn)題,不過(guò)在老師和同學(xué)們的幫助和自己的思考下還是很好的完成了。這此課程設(shè)計(jì)還讓我懂得了寫程序不能閉門造車,要努力拓寬知識(shí)面,開(kāi)闊視野,拓展思維。5.參考文獻(xiàn)1 印旻. Java語(yǔ)言與面向?qū)ο蟪绦蛟O(shè)計(jì)

12、M,北京: 清華大學(xué)出版社,2005.4: 58-722 朱站立、沈偉. Java程序設(shè)計(jì)實(shí)用教程M, 北京: 電子工業(yè)出版社, 2007.5: 82-953 朱福喜、尹為民、余振坤等. Java語(yǔ)言與面向?qū)ο蟪绦蛟O(shè)計(jì)M, 第2版. 武漢: 武漢大學(xué)出版社,2006.1:123-1304 艾力江. Java 2 范例入門與提高M(jìn),北京:清華大學(xué)出版社 6. 附錄MainFrame.java:import java.awt.BorderLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;imp

13、ort javax.swing.JFrame;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.SwingUtilities;import javax.swing.Timer;import cn.elva.Settings;import cn.elva.model.Map;public class MainFrame extends

14、 JFrameprivate static final long serialVersionUID = 1L;private int bombCount = Settings.BOMBCOUNT;private JPanel jContentPane = null;private JMenuBar menuBar = null;private JMenu fileMenu = null;private JMenuItem reloadItem = null;private JMenuItem startItem = null;private JMenuItem bombItem = null;

15、private JMenuItem exitItem = null;private MapUI mapUI = null;private long startTime;private long endTime;private Timer timer = null;private JMenuBar initMenuBar()if (menuBar = null)menuBar = new JMenuBar();fileMenu = new JMenu(文件);startItem = new JMenuItem(開(kāi)始游戲);startItem.addActionListener(new Actio

16、nListener()public void actionPerformed(ActionEvent e)reload(););reloadItem = new JMenuItem(重來(lái)一次);reloadItem.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)reload(););exitItem = new JMenuItem(退出);exitItem.addActionListener(new ActionListener()public void actionPerform

17、ed(ActionEvent e)System.exit(0););fileMenu.add(startItem);fileMenu.add(reloadItem);fileMenu.add( bombItem ); fileMenu.add(exitItem);menuBar.add(fileMenu);return menuBar;public static void main(String args)SwingUtilities.invokeLater(new Runnable()public void run()MainFrame thisClass = new MainFrame()

18、;thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);thisClass.setVisible(true););public MainFrame()super();initialize();private void initialize()this.setSize(900, 900);this.setTitle(llk);this.setJMenuBar(initMenuBar();/ this.setContentPane(getJContentPane();this.setTitle(連連看);private void relo

19、ad()mapUI = new MapUI();startTime = System.currentTimeMillis() / 1000;endTime = startTime + Settings.PERTIME;jContentPane = new JPanel();jContentPane.setLayout(new BorderLayout();jContentPane.add(mapUI);this.setContentPane(jContentPane);this.validate();Map.LEFTCOUNT = Settings.ROWS * Settings.COLUMN

20、S; initTimer();bombItem.setEnabled(true);bombCount=Settings.BOMBCOUNT;private void initTimer()ActionListener actionListener = new ActionListener()public void actionPerformed(ActionEvent e)startTime = System.currentTimeMillis() / 1000;if (startTime = endTime)JOptionPane.showMessageDialog(MainFrame.th

21、is, 時(shí)間到了!);int result = JOptionPane.showConfirmDialog(MainFrame.this,重玩一次?, Again, JOptionPane.YES_NO_CANCEL_OPTION);if (result = JOptionPane.YES_OPTION)reload();elsejContentPane.setVisible(false);validate();timer = new javax.swing.Timer(1000, actionListener);timer.start();ChessButton.javapublic cla

22、ss ChessButton extends JButtonprotected ArrayPoint point = null;public ChessButton(int row, int col, int value)this(new ArrayPoint(row, col, value);public ChessButton(ArrayPoint point) this.point = point;String name =Resource/+point.getValue() + Settings.RELEX;URL url = ChessButton.class.getResource

23、(name);ImageIcon icon = new ImageIcon( url );this.setIcon(icon);public ChessButton()this(new ArrayPoint(0, 0, 0);public ArrayPoint getPoint()return point;public void setPoint(ArrayPoint point)this.point = point; MapUI.javaimport java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.e

24、vent.ActionListener;import javax.swing.JOptionPane;import javax.swing.JPanel;import cn.elva.Settings;import cn.elva.model.ArrayPoint;import cn.elva.model.Map;public class MapUI extends JPanel implements ActionListenerprivate static final long serialVersionUID = 1L;private ChessButton chesses = null;

25、private Map map = new Map();private boolean two = false;private ArrayPoint priviousPoint;private ArrayPoint currPoint;public MapUI()super();initialize();private void initialize() initChesses();GridLayout gridLayout = new GridLayout(Settings.ROWS + 2,Settings.COLUMNS + 2);gridLayout.setHgap(2);gridLa

26、yout.setVgap(2);this.setLayout(gridLayout);this.setSize(300, 200);for (int row = 0; row Settings.ROWS + 2; row+)for (int col = 0; col Settings.COLUMNS + 2; col+)add(chessesrow * (Settings.COLUMNS + 2) + col);private void initChesses()int values = map.getMap(); this.chesses = new ChessButton(Settings

27、.ROWS + 2)* (Settings.COLUMNS + 2);for (int row = 0; row 10; row+)for (int col = 0; col 10; col+)int index = row * (Settings.COLUMNS + 2) + col;chessesindex = new ChessButton(row, col, valuesrowcol);chessesindex.addActionListener(this);if (row = 0 | row = (Settings.ROWS + 2 - 1) | col = 0| col = (Se

28、ttings.COLUMNS + 2 - 1)chessesindex.setVisible(false);public void clearCheese(ArrayPoint priviousPoint, ArrayPoint currPoint)int values = map.getMap();valuespriviousPoint.getI()priviousPoint.getJ() = 0;valuescurrPoint.getI()currPoint.getJ() = 0;int index1 = priviousPoint.getI() * (Settings.COLUMNS +

29、 2)+ priviousPoint.getJ();int index2 = currPoint.getI() * (Settings.COLUMNS + 2)+ currPoint.getJ();chessesindex1.setVisible(false);chessesindex2.setVisible(false);if (map.LEFTCOUNT = 0)JOptionPane.showMessageDialog(this, 恭喜您通過(guò)!);public void actionPerformed(ActionEvent e)ChessButton button = (ChessBu

30、tton) e.getSource();ArrayPoint p = button.getPoint();if (two)currPoint = p;if( map.match(this.priviousPoint, this.currPoint)clearCheese(this.priviousPoint, this.currPoint);two = false;elsethis.priviousPoint = p;two = true;public void bomb()int values = map.getMap();ArrayPoint p1 = null;ArrayPoint p2

31、 = null;for (int row = 1; row Settings.ROWS + 1; row+)for (int col = 1; col Settings.COLUMNS + 1; col+)if (valuesrowcol != 0) p1 = new ArrayPoint(row, col, valuesrowcol);for (int i = 1; i Settings.ROWS + 1; i+)for (int j = 1; j Settings.COLUMNS + 1; j+)if (valuesij != 0)p2 = new ArrayPoint(i, j, val

32、uesij);elsecontinue;/System.out.println(p1 + | + p2);if (map.match(p1, p2)clearCheese(p1, p2);return; Settings.javapackage cn.elva;public interface Settingspublic static final int ROWS = 8;public static final int COLUMNS=8;public static final String RELEX=.gif;public static final int PERTIME = 600;p

33、ublic static final int PER = 1;public static final int BOMBCOUNT = 3;ArrayPoint.javapackage cn.elva.model;public class ArrayPoint protected int i;protected int j;protected int value;public ArrayPoint( int i,int j,int value )this.i =i;this.j =j;this.value = value;public String toString( )return i+,+j

34、+,+value;public int getI()return i;public void setI(int i)this.i = i;public int getJ()return j;public void setJ(int j)this.j = j;public int getValue()return value;public void setValue(int value)this.value = value;Map.javapackage cn.elva.model; import java.util.Random;import cn.elva.Settings;public c

35、lass Mappublic static int LEFTCOUNT = Settings.ROWS * Settings.COLUMNS;private int map = new intSettings.ROWS + 2Settings.COLUMNS + 2;private int maxKinds = 4;public Map()init();public int getMap()return map;private void init()int tempArr = new intSettings.ROWS * Settings.COLUMNS;int len = tempArr.l

36、ength;for (int i = 0; i len / maxKinds; i+)tempArri * 4 = i + 1;tempArri * 4 + 1 = i + 1;tempArri * 4 + 2 = i + 1;tempArri * 4 + 3 = i + 1;random(tempArr);for (int i = 1; i Settings.ROWS + 1; i+)for (int j = 1; j 0; i-) int j = random.nextInt(i);int temp = arrayi - 1;arrayi - 1 = arrayj;arrayj = tem

37、p;public boolean oneLineWithoutValue(ArrayPoint p1, ArrayPoint p2)if (horizonMatch(p1, p2)return true;else if (verticalMatch(p1, p2)return true;return false;public boolean oneLine(ArrayPoint p1, ArrayPoint p2)if (p1.value != p2.value)return false;if (oneLineWithoutValue(p1, p2)return true;return fal

38、se;public boolean verticalMatch(ArrayPoint p1, ArrayPoint p2)if (p1.j != p2.j)return false;if (p1.i p2.i)ArrayPoint temp = null;temp = p1;p1 = p2; p2 = temp;int spaceCount = p2.i - p1.i;if (spaceCount = 1 & p1.value = p2.value)return true;for (int i = p1.i + 1; i p2.j)ArrayPoint temp = null;temp = p

39、1;p1 = p2;p2 = temp;int spaceCount = p2.j - p1.j;if (spaceCount = 1 & p1.value = p2.value)return true;for (int i = p1.j + 1; i = 0; col-)temp = new ArrayPoint(p1.i, col, mapp1.icol);if (temp.value = 0) & this.oneLineWithoutValue(p1, temp)if (this.oneConnerWithoutValue(temp, p2)return true;elsebreak;

40、count = Settings.COLUMNS + 2 - p1.j;for (int col = p1.j; col = 0; row-)temp = new ArrayPoint(row, p1.j, maprowp1.j);if (temp.value = 0) & oneLineWithoutValue(p1, temp)if (oneConnerWithoutValue(temp, p2)return true;for (int row = p1.i + 1; row Settings.ROWS + 2; row+)temp = new ArrayPoint(row, p1.j,

41、maprowp1.j);if (temp.value = 0) & oneLineWithoutValue(p1, temp)if (oneConnerWithoutValue(temp, p2)return true;return false;public boolean match(ArrayPoint p1, ArrayPoint p2)if (this.isSameOne(p1, p2)return false;if (oneLine(p1, p2)mapp1.ip1.j = 0;mapp2.ip2.j = 0;LEFTCOUNT -= 2;return true;if (oneCon

42、ner(p1, p2)mapp1.ip1.j = 0;mapp2.ip2.j = 0;LEFTCOUNT -= 2;if (twoConner(p1, p2)mapp1.ip1.j = 0;mapp2.ip2.j = 0;LEFTCOUNT -= 2;return true;return false;ut2ApOdfXXc02GyBKsKCWw97MrqqWhoj5TL15Zt6jIPYytYCummtARp3v1N5luizi3xh3BhWYreKO8d9g7nmZQoWPJeTLDrw08gVS8DsDQQYGC3cE7moO2tLF0Jf1gK74IUXyBmtIVR97CkrfVqUL

43、T5fn2t6MpJR6rbzVPSortZvIj5NB5ndVvSr4iWr1TwLFKgLSPzuhRjQ3CmZU98eUOuijdLSZqPmvrw9zKupxf8WFUG9l2G9277g2rTipa1YpCZEuqxpKBhtVDCooQOzxUz3vJrZmOcijyM62zchmeooTYes8EBMm932tbz2Yo09RtsZEYS8Zrd2Yktj8l6jEAzVAjnfbtryLvsm6oFbfToXVRFFn7OwIYgJlamkUNXJYbz5Rrb7r4VsuR9zpfZFMfsjhcfCA37lNW2VVLRKN7R8psz1BN6oRic5hU5Z6HCxA

44、YqyNPOG8duYbAwqSl20CSg06Dh2sM8HLtgPkIcSkrgOPDpuHBj1LmPk7lYdvC6NNMwL3fwhZFTFVYAARY7lHSSxJ10V3pH3Y19BxYR77Ib7CpZSu2tijqe3hKqkKAu9KSkCpHKXUIKvvyJZpg2YijRkqfbGgOvyqKuxNWI9oMnJtt6QilZxtyrF7d20FbmabcfiixrQKUsVNXBPPFUXyQ1fJSKFSUbkgs2DUVQC9sz4JkbgN4Qqv66pyoARjurNFJ3TxyfclZiEePtwFJthphEipDFNqnR2HjQKV2DzWtMPD

45、JQkBcXmovdsjqCTJagjMdLsKPgaD2s0H0vmZGAHt36gyUEZ7UmANk1ndREuBeqdgrx0venqGnsyIB2ilq3SIQrNL4m56t7Z8Y8da5K0KUpn5Nzg4JvjdtfFHyt82AoGQkXo4VBLmLEiy2P7HtHBho07rCfttxodYDPPdtQsO7wxD0J6fKKlGm4woDzplhtRr2XgqN13hqy59zU1GegDyQniHNTaVSieueFQcYfUCJwd3vk5I7YKmhunDmIZ ut2ApOdfXXc02GyBKsKCWw97MrqqWhoj5TL15Zt6jIPYytYCummtARp3v1N5luizi3xh3BhWYreKO8d9g7nmZQoWPJeTLDrw08gVS8DsDQQYGC3cE7moO2tLF0Jf1gK74IUXyBmtIVR97CkrfVqULT5fn2t6MpJR6rbzVPSortZvIj5NB5nd

展開(kāi)閱讀全文
溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!