版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 第一章 緒論</b></p><p> Java語言的設計可以追溯到1991年,SUN MicorSystem 公司為了開發(fā)消費電子產品市場,成立了由Jame Gosling、Bill Joe等人組成的Green開發(fā)小組。他們發(fā)現(xiàn)現(xiàn)有的語言如C/C++等在安全性和對芯片與操作系統(tǒng)的依賴性方面并不適合家用消費電子產品,于是他們開發(fā)了一個名為 Oak的軟件,但當
2、時并沒有引起人們的注意 。后來Oak演變?yōu)楦鼘嵱玫南到y(tǒng)star5even(7),但這些技術上成功的產品并未獲得商業(yè)上的成功。</p><p> 直到1994年下半年,Internet 就的迅猛發(fā)展,環(huán)球信息網www的快速增長,使得 SUN 公司把 Oak 的技術應用于網絡,并正式命名為Java。1995年 ,SUN公司正式發(fā)布了Java語言,Java在網絡上的獨特優(yōu)勢使得它逐漸成為Internet上受歡迎的開發(fā)
3、與編程語言,一些著名的計算機公司紛紛購買了 Java 語言的使用權。1996年SUN公司成立了Javasoft分公司來維護和發(fā)展Java語言。</p><p> 在所有搭載了Java的終端中,手機是最為普及的一類設備。J2ME是SUN公司專門用于手機軟件開發(fā)的平臺,隨著MIDP2.0的發(fā)布,特別是新增加的GameAPI使得游戲開發(fā)者能更專注于游戲功能的增強,研發(fā)手機游戲具有一定的現(xiàn)實意義。反而是 J2SE ,似
4、乎只是被人們用來做一做程序界面的,就連 APPLET 也很少有人使用了(畢竟有了 FLASH )。用 JAVA 來開發(fā)桌面平臺的游戲,似乎很少有人這么做。前段日子我迷上的 QQ 游戲中的“連連看”,游戲之余,突發(fā)奇想,也想自己用做一個試試,經過一些天的奮戰(zhàn),終于完成了一個小型的java連連看游戲。</p><p> 該課程設計是基于J2SE環(huán)境編程開發(fā)的一個用數字來玩的連連看游戲 。在程序開始引用了awt ,
5、swing 等包來實現(xiàn)用布局管理器來開發(fā)游戲界面.期間用數組來實現(xiàn)數字相消的核心算法。</p><p> 在程序一開始引用了 awt 、swing 等包,運用里面是組件創(chuàng)建Frame,然后添加面板,再運用BorderLayout 把面板分為東、西、南、北、中 五個板塊,然后在中間板塊中運用GirdLayout分成6行5列的Button 。之后在6行5列的Button上面添加15對數字 。</p>
6、<p> 然后定義方法xiao ,分兩個數字相鄰、同行、不同行,運用數組的原理設計算法。戲中的地圖看作是一個二維數組,其中的所有數字(以下稱“點”)可以看作是數組中的一個具體的元素。那么,游戲中相同的數字可以看作是數組中不同位置兩個值相同的元素。至于直線,讓我們給組數中的每一個元素賦一個特殊的值如 0 ,以表示地圖上空白的位置。并且同時規(guī)定:當連續(xù)的具有該特殊值的點的橫向索引或縱向索引相同時,可以認為這是一條直線。當數組中兩
7、點的值相同并且兩點間只需要不超過 3 根直線能連接起來的時候,就讓這兩點的值變?yōu)?0 ,如果數組中全是 0 值的點,就認為游戲已經結束。</p><p><b> 第二章 問題定義</b></p><p><b> 2.1功能需求:</b></p><p> 該游戲界面為方格類型,由縱6橫7的直線平行垂直交叉組成,分
8、別是6行5列方塊拼接,共有30格小方塊。方塊上隨機分布一些數字,數字的要求是至少兩兩相同,位置隨機打亂。</p><p> 游戲規(guī)則是將相同數字的方塊連接,但要滿足只能至少單邊無阻礙呈直線趨勢連接,否則視為無效,若連接一對成功就消失于界面,繼續(xù)游戲,直到游戲結束。</p><p><b> 1. 消去功能:</b></p><p> a.
9、實現(xiàn)的相同數字在相鄰位置的相消</p><p> b.實現(xiàn)不相鄰位置相同數字的相消</p><p> 2. 退出:點擊左下方 “退出游戲”按鈕,結束游戲。</p><p> 3. 重列: 游戲過程中,遇到困難難以尋找下一符合要求的一對數字,可按下重列按扭重新排列方可繼續(xù)游戲。 4.再來一局:重新一局新游戲。</p><p>
10、2.2 性能需求:</p><p> 1.具有良好的可靠性和安全性。</p><p> 2.對于系統(tǒng)要求比較低。</p><p> 3.使用范圍比較廣。</p><p> 第三章 總體設計與詳細設計</p><p><b> 3.1.總體設計:</b></p><
11、p> 創(chuàng)建button( 數字 退出 重列 再來一局 )</p><p><b> Label(分數)</b></p><p><b> 3.2 詳細設計:</b></p><p> 類lianliankan:</p><p> 按下退出、重列、再來一局:</p>&l
12、t;p> 判斷兩個按鈕上的數字是否相等 </p><p><b> 面板:</b></p><p> 判斷兩個按鈕是否可消去:</p><p> 在30個按鈕上隨機添加數字:</p><p> 將游戲地圖轉化為數組來描述:</p><p> 判斷兩個按鈕是否可消去:</p&
13、gt;<p><b> 消去:</b></p><p><b> 第四章 編碼實現(xiàn)</b></p><p> 給每個button 上面添加數字:</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> 將游戲地圖轉換為數組來描述:</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> 第五章 調試與測試</b></p><p><b> 第六章 總結與心得</b></p><p> 通過此次課程設計,將我本學期所學的JAVA知識得到鞏固和應用,而且學到了很多在書本上所沒
60、有學到過的知識。通過這次課程設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。在設計的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固,尤其對函數調用的正確使用不夠熟悉,通過這次課
61、程設計之后,一定把以前所學過的知識重新溫故。而且在課程設計過程中,我也學到了很多人生的哲理,懂得怎么樣去制定計劃,怎么樣去實現(xiàn)這個計劃,并掌握了在執(zhí)行過程中怎么樣去克服心理上的不良情緒,編程看起來似乎是一件很枯燥、乏味的事情,但是經歷了這次大程序的編輯之后,發(fā)現(xiàn)其實里面還是充滿樂趣的,一旦真的專研下去什么事情都可以放下,來認真研究。</p><p> 這次課程設計還讓我懂得了寫程序不能閉門造車,要努力拓寬知識面
62、,開闊視野,拓展思維,很多設計的思想、理念在網上都是公布出來了的,不需要自己從頭到尾思考,可以直接沿用,這就需要提高我們的動手能力,在網上從無盡的資料中找到我們所需要的。</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("再來一局");</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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論