版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 第一章 緒論</b></p><p> Java語(yǔ)言的設(shè)計(jì)可以追溯到1991年,SUN MicorSystem 公司為了開(kāi)發(fā)消費(fèi)電子產(chǎn)品市場(chǎng),成立了由Jame Gosling、Bill Joe等人組成的Green開(kāi)發(fā)小組。他們發(fā)現(xiàn)現(xiàn)有的語(yǔ)言如C/C++等在安全性和對(duì)芯片與操作系統(tǒng)的依賴性方面并不適合家用消費(fèi)電子產(chǎn)品,于是他們開(kāi)發(fā)了一個(gè)名為 Oak的軟件,但當(dāng)
2、時(shí)并沒(méi)有引起人們的注意 。后來(lái)Oak演變?yōu)楦鼘?shí)用的系統(tǒng)star5even(7),但這些技術(shù)上成功的產(chǎn)品并未獲得商業(yè)上的成功。</p><p> 直到1994年下半年,Internet 就的迅猛發(fā)展,環(huán)球信息網(wǎng)www的快速增長(zhǎng),使得 SUN 公司把 Oak 的技術(shù)應(yīng)用于網(wǎng)絡(luò),并正式命名為Java。1995年 ,SUN公司正式發(fā)布了Java語(yǔ)言,Java在網(wǎng)絡(luò)上的獨(dú)特優(yōu)勢(shì)使得它逐漸成為Internet上受歡迎的開(kāi)發(fā)
3、與編程語(yǔ)言,一些著名的計(jì)算機(jī)公司紛紛購(gòu)買了 Java 語(yǔ)言的使用權(quán)。1996年SUN公司成立了Javasoft分公司來(lái)維護(hù)和發(fā)展Java語(yǔ)言。</p><p> 在所有搭載了Java的終端中,手機(jī)是最為普及的一類設(shè)備。J2ME是SUN公司專門(mén)用于手機(jī)軟件開(kāi)發(fā)的平臺(tái),隨著MIDP2.0的發(fā)布,特別是新增加的GameAPI使得游戲開(kāi)發(fā)者能更專注于游戲功能的增強(qiáng),研發(fā)手機(jī)游戲具有一定的現(xiàn)實(shí)意義。反而是 J2SE ,似
4、乎只是被人們用來(lái)做一做程序界面的,就連 APPLET 也很少有人使用了(畢竟有了 FLASH )。用 JAVA 來(lái)開(kāi)發(fā)桌面平臺(tái)的游戲,似乎很少有人這么做。前段日子我迷上的 QQ 游戲中的“連連看”,游戲之余,突發(fā)奇想,也想自己用做一個(gè)試試,經(jīng)過(guò)一些天的奮戰(zhàn),終于完成了一個(gè)小型的java連連看游戲。</p><p> 該課程設(shè)計(jì)是基于J2SE環(huán)境編程開(kāi)發(fā)的一個(gè)用數(shù)字來(lái)玩的連連看游戲 。在程序開(kāi)始引用了awt ,
5、swing 等包來(lái)實(shí)現(xiàn)用布局管理器來(lái)開(kāi)發(fā)游戲界面.期間用數(shù)組來(lái)實(shí)現(xiàn)數(shù)字相消的核心算法。</p><p> 在程序一開(kāi)始引用了 awt 、swing 等包,運(yùn)用里面是組件創(chuàng)建Frame,然后添加面板,再運(yùn)用BorderLayout 把面板分為東、西、南、北、中 五個(gè)板塊,然后在中間板塊中運(yùn)用GirdLayout分成6行5列的Button 。之后在6行5列的Button上面添加15對(duì)數(shù)字 。</p>
6、<p> 然后定義方法xiao ,分兩個(gè)數(shù)字相鄰、同行、不同行,運(yùn)用數(shù)組的原理設(shè)計(jì)算法。戲中的地圖看作是一個(gè)二維數(shù)組,其中的所有數(shù)字(以下稱“點(diǎn)”)可以看作是數(shù)組中的一個(gè)具體的元素。那么,游戲中相同的數(shù)字可以看作是數(shù)組中不同位置兩個(gè)值相同的元素。至于直線,讓我們給組數(shù)中的每一個(gè)元素賦一個(gè)特殊的值如 0 ,以表示地圖上空白的位置。并且同時(shí)規(guī)定:當(dāng)連續(xù)的具有該特殊值的點(diǎn)的橫向索引或縱向索引相同時(shí),可以認(rèn)為這是一條直線。當(dāng)數(shù)組中兩
7、點(diǎn)的值相同并且兩點(diǎn)間只需要不超過(guò) 3 根直線能連接起來(lái)的時(shí)候,就讓這兩點(diǎn)的值變?yōu)?0 ,如果數(shù)組中全是 0 值的點(diǎn),就認(rèn)為游戲已經(jīng)結(jié)束。</p><p><b> 第二章 問(wèn)題定義</b></p><p><b> 2.1功能需求:</b></p><p> 該游戲界面為方格類型,由縱6橫7的直線平行垂直交叉組成,分
8、別是6行5列方塊拼接,共有30格小方塊。方塊上隨機(jī)分布一些數(shù)字,數(shù)字的要求是至少兩兩相同,位置隨機(jī)打亂。</p><p> 游戲規(guī)則是將相同數(shù)字的方塊連接,但要滿足只能至少單邊無(wú)阻礙呈直線趨勢(shì)連接,否則視為無(wú)效,若連接一對(duì)成功就消失于界面,繼續(xù)游戲,直到游戲結(jié)束。</p><p><b> 1. 消去功能:</b></p><p> a.
9、實(shí)現(xiàn)的相同數(shù)字在相鄰位置的相消</p><p> b.實(shí)現(xiàn)不相鄰位置相同數(shù)字的相消</p><p> 2. 退出:點(diǎn)擊左下方 “退出游戲”按鈕,結(jié)束游戲。</p><p> 3. 重列: 游戲過(guò)程中,遇到困難難以尋找下一符合要求的一對(duì)數(shù)字,可按下重列按扭重新排列方可繼續(xù)游戲。 4.再來(lái)一局:重新一局新游戲。</p><p>
10、2.2 性能需求:</p><p> 1.具有良好的可靠性和安全性。</p><p> 2.對(duì)于系統(tǒng)要求比較低。</p><p> 3.使用范圍比較廣。</p><p> 第三章 總體設(shè)計(jì)與詳細(xì)設(shè)計(jì)</p><p><b> 3.1.總體設(shè)計(jì):</b></p><
11、p> 創(chuàng)建button( 數(shù)字 退出 重列 再來(lái)一局 )</p><p><b> Label(分?jǐn)?shù))</b></p><p><b> 3.2 詳細(xì)設(shè)計(jì):</b></p><p> 類lianliankan:</p><p> 按下退出、重列、再來(lái)一局:</p>&l
12、t;p> 判斷兩個(gè)按鈕上的數(shù)字是否相等 </p><p><b> 面板:</b></p><p> 判斷兩個(gè)按鈕是否可消去:</p><p> 在30個(gè)按鈕上隨機(jī)添加數(shù)字:</p><p> 將游戲地圖轉(zhuǎn)化為數(shù)組來(lái)描述:</p><p> 判斷兩個(gè)按鈕是否可消去:</p&
13、gt;<p><b> 消去:</b></p><p><b> 第四章 編碼實(shí)現(xiàn)</b></p><p> 給每個(gè)button 上面添加數(shù)字:</p><p> public void randomBuild() {</p><p> int randoms,cols,r
14、ows;</p><p> for(int twins=1;twins<=15;twins++) {</p><p> randoms=(int)(Math.random()*25+1);</p><p> for(int alike=1;alike<=2;alike++) {</p><p> cols=(int)(Ma
15、th.random()*6+1);</p><p> rows=(int)(Math.random()*5+1);</p><p> while(grid[cols][rows]!=0) {</p><p> cols=(int)(Math.random()*6+1);</p><p> rows=(int)(Math.random(
16、)*5+1);</p><p><b> }</b></p><p> this.grid[cols][rows]=randoms;</p><p><b> }</b></p><p><b> }</b></p><p><b>
17、 }</b></p><p> 將游戲地圖轉(zhuǎn)換為數(shù)組來(lái)描述:</p><p> public void reload() {</p><p> int save[] = new int[30];</p><p> int n=0,cols,rows;</p><p> int grid[][]=
18、new int[8][7];</p><p> for(int i=0;i<=6;i++) {</p><p> for(int j=0;j<=5;j++) {</p><p> if(this.grid[i][j]!=0) {</p><p> save[n]=this.grid[i][j];</p>&l
19、t;p><b> n++;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> n=n-1;</b></p>
20、<p> this.grid=grid;</p><p> while(n>=0) {</p><p> cols=(int)(Math.random()*6+1);</p><p> rows=(int)(Math.random()*5+1);</p><p> while(grid[cols][rows]!=0
21、) {</p><p> cols=(int)(Math.random()*6+1);</p><p> rows=(int)(Math.random()*5+1);</p><p><b> }</b></p><p> this.grid[cols][rows]=save[n];</p><
22、;p><b> n--;</b></p><p><b> }</b></p><p> mainFrame.setVisible(false);</p><p> pressInformation=false; </p><p><b> init();</b>
23、;</p><p> for(int i = 0;i < 6;i++){</p><p> for(int j = 0;j < 5;j++ ){</p><p> if(grid[i+1][j+1]==0)</p><p> diamondsButton[i][j].setVisible(false);</p>
24、<p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> 消去按鈕:</b></p><p> public void xiao() { </p>
25、<p> if((x0==x&&(y0==y+1||y0==y-1))||((x0==x+1||x0==x-1)&&(y0==y))){ </p><p><b> remove();</b></p><p><b> }</b></p><p><b> e
26、lse{</b></p><p> for (j=0;j<7;j++ ) {</p><p> if (grid[x0][j]==0){ </p><p> if (y>j) { </p><p> for (i=y-1;i>=j;i-- ){ </p><p> if (gri
27、d[x][i]!=0) {</p><p><b> k=0;</b></p><p><b> break;</b></p><p><b> }</b></p><p> else{ k=1; } </p><p><b> }&
28、lt;/b></p><p> if (k==1) {</p><p> linePassOne();</p><p><b> }</b></p><p><b> }</b></p><p> if (y<j){ </p><p&
29、gt; for (i=y+1;i<=j ;i++ ){ </p><p> if (grid[x][i]!=0){</p><p><b> k=0;</b></p><p><b> break;</b></p><p><b> }</b></p>
30、;<p> else { k=1; }</p><p><b> }</b></p><p> if (k==1){</p><p> linePassOne();</p><p><b> }</b></p><p><b> }<
31、/b></p><p> if (y==j ) {</p><p> linePassOne();</p><p><b> }</b></p><p><b> }</b></p><p> if (k==2) {</p><p>
32、 if (x0==x) {</p><p><b> remove();</b></p><p><b> }</b></p><p> if (x0<x) {</p><p> for (n=x0;n<=x-1;n++ ) {</p><p> if
33、(grid[n][j]!=0) {</p><p><b> k=0;</b></p><p><b> break;</b></p><p><b> }</b></p><p> if(grid[n][j]==0 && n==x-1) {</p
34、><p><b> remove();</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> if (x0>x) {</p>
35、;<p> for (n=x0;n>=x+1 ;n-- ) {</p><p> if (grid[n][j]!=0) {</p><p><b> k=0;</b></p><p><b> break;</b></p><p><b> }</b&g
36、t;</p><p> if(grid[n][j]==0 && n==x+1) {</p><p><b> remove();</b></p><p><b> }</b></p><p><b> }</b></p><p>
37、<b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> for (i=0;i<8;i++ ) { </p><p> if (grid[i][y0]==0) {</p><p>
38、 if (x>i) {</p><p> for (j=x-1;j>=i ;j-- ) {</p><p> if (grid[j][y]!=0) {</p><p><b> k=0;</b></p><p><b> break;</b></p><p&
39、gt;<b> }</b></p><p> else { k=1; }</p><p><b> }</b></p><p> if (k==1) {</p><p> rowPassOne();</p><p><b> }</b><
40、;/p><p><b> }</b></p><p> if (x<i) {</p><p> for (j=x+1;j<=i;j++ ) {</p><p> if (grid[j][y]!=0) {</p><p><b> k=0;</b></p
41、><p><b> break;</b></p><p><b> }</b></p><p> else { k=1; }</p><p><b> }</b></p><p> if (k==1) {</p><p>
42、 rowPassOne();</p><p><b> }</b></p><p><b> }</b></p><p> if (x==i) {</p><p> rowPassOne();</p><p><b> }</b></p&
43、gt;<p><b> }</b></p><p> if (k==2){</p><p> if (y0==y) {</p><p><b> remove();</b></p><p><b> }</b></p><p>
44、 if (y0<y) {</p><p> for (n=y0;n<=y-1 ;n++ ) {</p><p> if (grid[i][n]!=0) {</p><p><b> k=0;</b></p><p><b> break;</b></p><p
45、><b> }</b></p><p> if(grid[i][n]==0 && n==y-1) {</p><p><b> remove();</b></p><p><b> }</b></p><p><b> }</b&
46、gt;</p><p><b> }</b></p><p> if (y0>y) {</p><p> for (n=y0;n>=y+1 ;n--) {</p><p> if (grid[i][n]!=0) {</p><p><b> k=0;</b&g
47、t;</p><p><b> break;</b></p><p><b> }</b></p><p> if(grid[i][n]==0 && n==y+1) {</p><p><b> remove();</b></p><
48、p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p>
49、<b> }</b></p><p><b> }</b></p><p> public void linePassOne(){</p><p> if (y0>j){ </p><p> for (i=y0-1;i>=j ;i-- ){ </p><p&
50、gt; if (grid[x0][i]!=0) {</p><p><b> k=0;</b></p><p><b> break;</b></p><p><b> }</b></p><p> else { k=2; } </p><p>
51、;<b> }</b></p><p><b> }</b></p><p> if (y0<j){ </p><p> for (i=y0+1;i<=j ;i++){</p><p> if (grid[x0][i]!=0) {</p><p><
52、;b> k=0;</b></p><p><b> break;</b></p><p><b> }</b></p><p> else{ k=2; }</p><p><b> }</b></p><p><b>
53、; }</b></p><p><b> }</b></p><p> public void rowPassOne(){</p><p> if (x0>i) {</p><p> for (j=x0-1;j>=i ;j-- ) {</p><p> if (
54、grid[j][y0]!=0) {</p><p><b> k=0;</b></p><p><b> break;</b></p><p><b> }</b></p><p> else { k=2; }</p><p><b>
55、 }</b></p><p><b> }</b></p><p> if (x0<i) {</p><p> for (j=x0+1;j<=i ;j++ ) {</p><p> if (grid[j][y0]!=0) {</p><p><b>
56、k=0;</b></p><p><b> break;</b></p><p><b> }</b></p><p> else { k=2; }</p><p><b> }</b></p><p><b> }<
57、;/b></p><p><b> }</b></p><p><b> 消去按鈕:</b></p><p> public void remove(){</p><p> firstButton.setVisible(false);</p><p> sec
58、ondButton.setVisible(false);</p><p> fraction();</p><p> pressInformation=false;</p><p><b> k=0;</b></p><p> grid[x0][y0]=0;</p><p> grid[
59、x][y]=0;</p><p><b> }</b></p><p><b> 第五章 調(diào)試與測(cè)試</b></p><p><b> 第六章 總結(jié)與心得</b></p><p> 通過(guò)此次課程設(shè)計(jì),將我本學(xué)期所學(xué)的JAVA知識(shí)得到鞏固和應(yīng)用,而且學(xué)到了很多在書(shū)本上所沒(méi)
60、有學(xué)到過(guò)的知識(shí)。通過(guò)這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過(guò)程中遇到問(wèn)題,可以說(shuō)得是困難重重,這畢竟第一次做的,難免會(huì)遇到過(guò)各種各樣的問(wèn)題,同時(shí)在設(shè)計(jì)的過(guò)程中發(fā)現(xiàn)了自己的不足之處,對(duì)以前所學(xué)過(guò)的知識(shí)理解得不夠深刻,掌握得不夠牢固,尤其對(duì)函數(shù)調(diào)用的正確使用不夠熟悉,通過(guò)這次課
61、程設(shè)計(jì)之后,一定把以前所學(xué)過(guò)的知識(shí)重新溫故。而且在課程設(shè)計(jì)過(guò)程中,我也學(xué)到了很多人生的哲理,懂得怎么樣去制定計(jì)劃,怎么樣去實(shí)現(xiàn)這個(gè)計(jì)劃,并掌握了在執(zhí)行過(guò)程中怎么樣去克服心理上的不良情緒,編程看起來(lái)似乎是一件很枯燥、乏味的事情,但是經(jīng)歷了這次大程序的編輯之后,發(fā)現(xiàn)其實(shí)里面還是充滿樂(lè)趣的,一旦真的專研下去什么事情都可以放下,來(lái)認(rèn)真研究。</p><p> 這次課程設(shè)計(jì)還讓我懂得了寫(xiě)程序不能閉門(mén)造車,要努力拓寬知識(shí)面
62、,開(kāi)闊視野,拓展思維,很多設(shè)計(jì)的思想、理念在網(wǎng)上都是公布出來(lái)了的,不需要自己從頭到尾思考,可以直接沿用,這就需要提高我們的動(dòng)手能力,在網(wǎng)上從無(wú)盡的資料中找到我們所需要的。</p><p><b> 附 錄</b></p><p><b> 附錄一</b></p><p><b> 源代碼:</b>
63、;</p><p> import javax.swing.*;</p><p> import java.awt.*;</p><p> import java.awt.event.*;</p><p> public class lianliankan implements ActionListener</p>&l
64、t;p><b> {</b></p><p> JFrame mainFrame; </p><p> Container thisContainer;</p><p> JPanel centerPanel,southPanel,northPanel; </p><p> JButton diamond
65、sButton[][] = new JButton[6][5];</p><p> JButton exitButton,resetButton,newlyButton; </p><p> JLabel fractionLable=new JLabel("0"); </p><p> JButton firstButton,secondB
66、utton; </p><p> int grid[][] = new int[8][7];</p><p> static boolean pressInformation=false; </p><p> int x0=0,y0=0,x=0,y=0,fristMsg=0,secondMsg=0,validateLV; </p><p&g
67、t; int i,j,k,n;</p><p> public void init(){</p><p> mainFrame=new JFrame("付莉的連連看");</p><p> thisContainer = mainFrame.getContentPane();</p><p> thisConta
68、iner.setLayout(new BorderLayout());</p><p> centerPanel=new JPanel();</p><p> southPanel=new JPanel();</p><p> northPanel=new JPanel();</p><p> thisContainer.add(ce
69、nterPanel,"Center");</p><p> thisContainer.add(southPanel,"South");</p><p> thisContainer.add(northPanel,"North");</p><p> centerPanel.setLayout(new
70、 GridLayout(6,5));</p><p> for(int cols = 0;cols < 6;cols++){</p><p> for(int rows = 0;rows < 5;rows++ ){</p><p> diamondsButton[cols][rows]=new JButton(String.valueOf(grid
71、[cols+1][rows+1]));</p><p> diamondsButton[cols][rows].addActionListener(this);</p><p> centerPanel.add(diamondsButton[cols][rows]);</p><p><b> }</b></p><p
72、><b> }</b></p><p> exitButton=new JButton("退出");</p><p> exitButton.addActionListener(this);</p><p> resetButton=new JButton("重列");</p>
73、<p> resetButton.addActionListener(this);</p><p> newlyButton=new JButton("再來(lái)一局");</p><p> newlyButton.addActionListener(this);</p><p> southPanel.add(exitButton
74、);</p><p> southPanel.add(resetButton);</p><p> southPanel.add(newlyButton);</p><p> fractionLable.setText(String.valueOf(Integer.parseInt(fractionLable.getText())));</p>
75、<p> northPanel.add(fractionLable);</p><p> mainFrame.setBounds(280,100,500,450);</p><p> mainFrame.setVisible(true);</p><p><b> }</b></p><p> pub
76、lic void randomBuild() {</p><p> int randoms,cols,rows;</p><p> for(int twins=1;twins<=15;twins++) {</p><p> randoms=(int)(Math.random()*25+1);</p><p> for(int a
77、like=1;alike<=2;alike++) {</p><p> cols=(int)(Math.random()*6+1);</p><p> rows=(int)(Math.random()*5+1);</p><p> while(grid[cols][rows]!=0) {</p><p> cols=(int)(
78、Math.random()*6+1);</p><p> rows=(int)(Math.random()*5+1);</p><p><b> }</b></p><p> this.grid[cols][rows]=randoms;</p><p><b> }</b></p>
79、;<p><b> }</b></p><p><b> }</b></p><p> public void fraction(){</p><p> fractionLable.setText(String.valueOf(Integer.parseInt(fractionLable.getTex
80、t())+100));</p><p><b> }</b></p><p> public void reload() {</p><p> int save[] = new int[30];</p><p> int n=0,cols,rows;</p><p> int grid[
81、][]= new int[8][7];</p><p> for(int i=0;i<=6;i++) {</p><p> for(int j=0;j<=5;j++) {</p><p> if(this.grid[i][j]!=0) {</p><p> save[n]=this.grid[i][j];</p>
82、;<p><b> n++;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> n=n-1;</b></p
83、><p> this.grid=grid;</p><p> while(n>=0) {</p><p> cols=(int)(Math.random()*6+1);</p><p> rows=(int)(Math.random()*5+1);</p><p> while(grid[cols][row
84、s]!=0) {</p><p> cols=(int)(Math.random()*6+1);</p><p> rows=(int)(Math.random()*5+1);</p><p><b> }</b></p><p> this.grid[cols][rows]=save[n];</p>
85、<p><b> n--;</b></p><p><b> }</b></p><p> mainFrame.setVisible(false);</p><p> pressInformation=false; </p><p><b> init();<
86、/b></p><p> for(int i = 0;i < 6;i++){</p><p> for(int j = 0;j < 5;j++ ){</p><p> if(grid[i+1][j+1]==0)</p><p> diamondsButton[i][j].setVisible(false);</
87、p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> public void estimateEven(int placeX,int placeY,JButton bz) {</p>&
88、lt;p> if(pressInformation==false) {</p><p><b> x=placeX;</b></p><p><b> y=placeY;</b></p><p> secondMsg=grid[x][y];</p><p> secondButton
89、=bz;</p><p> pressInformation=true;</p><p><b> }</b></p><p><b> else {</b></p><p><b> x0=x;</b></p><p><b> y
90、0=y;</b></p><p> fristMsg=secondMsg;</p><p> firstButton=secondButton;</p><p><b> x=placeX;</b></p><p><b> y=placeY;</b></p>&l
91、t;p> secondMsg=grid[x][y];</p><p> secondButton=bz;</p><p> if(fristMsg==secondMsg && secondButton!=firstButton){</p><p><b> xiao();</b></p><p&
92、gt;<b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> public void xiao() { </p><p> if((x0==x &&(y0==y+1||y0==y-1)) ||
93、 ((x0==x+1||x0==x-1)&&(y0==y))){ </p><p><b> remove();</b></p><p><b> }</b></p><p><b> else{</b></p><p> for (j=0;j<7
94、;j++ ) {</p><p> if (grid[x0][j]==0){ </p><p> if (y>j) { </p><p> for (i=y-1;i>=j;i-- ){ </p><p> if (grid[x][i]!=0) {</p><p><b> k=0;<
95、;/b></p><p><b> break;</b></p><p><b> }</b></p><p> else{ k=1; } </p><p><b> }</b></p><p> if (k==1) {</p>
96、;<p> linePassOne();</p><p><b> }</b></p><p><b> }</b></p><p> if (y<j){ </p><p> for (i=y+1;i<=j ;i++ ){ </p><p>
97、; if (grid[x][i]!=0){</p><p><b> k=0;</b></p><p><b> break;</b></p><p><b> }</b></p><p> else { k=1; }</p><p><
98、b> }</b></p><p> if (k==1){</p><p> linePassOne();</p><p><b> }</b></p><p><b> }</b></p><p> if (y==j ) {</p>
99、<p> linePassOne();</p><p><b> }</b></p><p><b> }</b></p><p> if (k==2) {</p><p> if (x0==x) {</p><p><b> remove(
100、);</b></p><p><b> }</b></p><p> if (x0<x) {</p><p> for (n=x0;n<=x-1;n++ ) {</p><p> if (grid[n][j]!=0) {</p><p><b> k=0
101、;</b></p><p><b> break;</b></p><p><b> }</b></p><p> if(grid[n][j]==0 && n==x-1) {</p><p><b> remove();</b></p&
102、gt;<p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> if (x0>x) {</p><p> for (n=x0;n>=x+1 ;n-- ) {</p>
103、<p> if (grid[n][j]!=0) {</p><p><b> k=0;</b></p><p><b> break;</b></p><p><b> }</b></p><p> if(grid[n][j]==0 &&
104、 n==x+1) {</p><p><b> remove();</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b>
105、 }</b></p><p><b> }</b></p><p> for (i=0;i<8;i++ ) { </p><p> if (grid[i][y0]==0) {</p><p> if (x>i) {</p><p> for (j=x-1;j&g
106、t;=i ;j-- ) {</p><p> if (grid[j][y]!=0) {</p><p><b> k=0;</b></p><p><b> break;</b></p><p><b> }</b></p><p> else
107、 { k=1; }</p><p><b> }</b></p><p> if (k==1) {</p><p> rowPassOne();</p><p><b> }</b></p><p><b> }</b></p>
108、<p> if (x<i) {</p><p> for (j=x+1;j<=i;j++ ) {</p><p> if (grid[j][y]!=0) {</p><p><b> k=0;</b></p><p><b> break;</b></p>
109、<p><b> }</b></p><p> else { k=1; }</p><p><b> }</b></p><p> if (k==1) {</p><p> rowPassOne();</p><p><b> }</
110、b></p><p><b> }</b></p><p> if (x==i) {</p><p> rowPassOne();</p><p><b> }</b></p><p><b> }</b></p><
111、p> if (k==2){</p><p> if (y0==y) {</p><p><b> remove();</b></p><p><b> }</b></p><p> if (y0<y) {</p><p> for (n=y0;n<
112、;=y-1 ;n++ ) {</p><p> if (grid[i][n]!=0) {</p><p><b> k=0;</b></p><p><b> break;</b></p><p><b> }</b></p><p> if(
113、grid[i][n]==0 && n==y-1) {</p><p><b> remove();</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p
114、><p> if (y0>y) {</p><p> for (n=y0;n>=y+1 ;n--) {</p><p> if (grid[i][n]!=0) {</p><p><b> k=0;</b></p><p><b> break;</b>&l
115、t;/p><p><b> }</b></p><p> if(grid[i][n]==0 && n==y+1) {</p><p><b> remove();</b></p><p><b> }</b></p><p><
116、b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b>
117、 }</b></p><p> public void linePassOne(){</p><p> if (y0>j){ </p><p> for (i=y0-1;i>=j ;i-- ){ </p><p> if (grid[x0][i]!=0) {</p><p><b
118、> k=0;</b></p><p><b> break;</b></p><p><b> }</b></p><p> else { k=2; } </p><p><b> }</b></p><p><b>
119、; }</b></p><p> if (y0<j){ </p><p> for (i=y0+1;i<=j ;i++){</p><p> if (grid[x0][i]!=0) {</p><p><b> k=0;</b></p><p><b>
120、 break;</b></p><p><b> }</b></p><p> else{ k=2; }</p><p><b> }</b></p><p><b> }</b></p><p><b> }</
121、b></p><p> public void rowPassOne(){</p><p> if (x0>i) {</p><p> for (j=x0-1;j>=i ;j-- ) {</p><p> if (grid[j][y0]!=0) {</p><p><b> k=0
122、;</b></p><p><b> break;</b></p><p><b> }</b></p><p> else { k=2; }</p><p><b> }</b></p><p><b> }</b
123、></p><p> if (x0<i) {</p><p> for (j=x0+1;j<=i ;j++ ) {</p><p> if (grid[j][y0]!=0) {</p><p><b> k=0;</b></p><p><b> break;
124、</b></p><p><b> }</b></p><p> else { k=2; }</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b>&l
125、t;/p><p> public void remove(){</p><p> firstButton.setVisible(false);</p><p> secondButton.setVisible(false);</p><p> fraction();</p><p> pressInformati
126、on=false;</p><p><b> k=0;</b></p><p> grid[x0][y0]=0;</p><p> grid[x][y]=0;</p><p><b> }</b></p><p> public void actionPerform
127、ed(ActionEvent e) {</p><p> if(e.getSource()==newlyButton){</p><p> int grid[][] = new int[8][7];</p><p> this.grid = grid;</p><p> randomBuild();</p><p&
128、gt; mainFrame.setVisible(false);</p><p> pressInformation=false;</p><p><b> init();</b></p><p><b> }</b></p><p> if(e.getSource()==exitButt
129、on)</p><p> System.exit(0);</p><p> if(e.getSource()==resetButton)</p><p><b> reload();</b></p><p> for(int cols = 0;cols < 6;cols++){</p><
130、;p> for(int rows = 0;rows < 5;rows++ ){</p><p> if(e.getSource()==diamondsButton[cols][rows])</p><p> estimateEven(cols+1,rows+1,diamondsButton[cols][rows]);</p><p><b&g
131、t; }</b></p><p><b> }</b></p><p><b> }</b></p><p> public static void main(String[] args) {</p><p> lianliankan llk = new lianliankan
132、();</p><p> llk.randomBuild();</p><p> llk.init();</p><p><b> }</b></p><p><b> }</b></p><p><b> 附錄二: </b></p>
溫馨提示
- 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. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 連連看課程設(shè)計(jì)報(bào)告
- java連連看課程設(shè)計(jì)報(bào)告
- labview連連看課程設(shè)計(jì)報(bào)告
- java連連看課程設(shè)計(jì)報(bào)告
- 連連看課程設(shè)計(jì)
- 連連看課程設(shè)計(jì)
- java連連看課程設(shè)計(jì)
- java連連看課程設(shè)計(jì)
- java課程設(shè)計(jì)—連連看
- 連連看c語(yǔ)言課程設(shè)計(jì)報(bào)告
- 課程設(shè)計(jì)報(bào)告----java實(shí)現(xiàn)游戲連連看
- java課程設(shè)計(jì)--連連看游戲設(shè)計(jì)
- java課程設(shè)計(jì)說(shuō)明書(shū)---連連看
- android課程設(shè)計(jì)連連看小游戲
- java課程設(shè)計(jì)--連連看游戲的開(kāi)發(fā)
- 連連看游戲開(kāi)題報(bào)告
- 連連看
- 連連看.docx
- 連連看項(xiàng)目
- 連連看解釋
評(píng)論
0/150
提交評(píng)論