2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩26頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p><b>  摘 要</b></p><p>  作為一種語(yǔ)言,Java在過(guò)去十年中取得了其他任何語(yǔ)言都無(wú)法比擬的成績(jī)。不管你對(duì)Java是怎樣一個(gè)態(tài)度,有一點(diǎn)不可否認(rèn),Java是現(xiàn)在全球最時(shí)髦的開(kāi)發(fā)工具之一,它擁有一套龐大且完善的類(lèi)庫(kù),內(nèi)置了其他語(yǔ)言需要靠庫(kù)甚至是操作系統(tǒng)才能支持的功能,擁有一個(gè)虛擬機(jī),總之,Java的出現(xiàn),確實(shí)給整個(gè)程序界帶來(lái)了巨大的沖擊。</p&

2、gt;<p>  看看現(xiàn)在主流手機(jī)對(duì)Java的支持,由于手機(jī)的硬件種類(lèi)繁多,系統(tǒng)平臺(tái)也不統(tǒng)一,比較混亂,但他們之間都有同一個(gè)聲音,就是Java,Java 就是要在這樣的環(huán)境中才能大展身手,Java這一條紐帶把無(wú)數(shù)本來(lái)不可能是事情變得可能了,從中無(wú)數(shù)的手機(jī)開(kāi)發(fā)商獲得了利益,手機(jī)軟件也是因?yàn)镴ava而得到了很大的發(fā)展。</p><p>  這些年由于Java技術(shù)的不斷發(fā)展,Java程序的運(yùn)行速度有了顯著

3、提升,同時(shí)硬件技術(shù)也在不斷進(jìn)步,從而使得Java處理比較復(fù)雜的3D圖形 成為可能。Lwjgl,Jogl,Java3D等技術(shù)的出現(xiàn),使Java語(yǔ)言可以方便的利用現(xiàn)在的顯卡日益強(qiáng)大的硬件加速能力。實(shí)際上目前已經(jīng)有許多基于 Java的2D和3D游戲,其中不乏大型多人在線游戲。( Z+ W. V  l7 [</p><p>  / T1 r: }5 F,網(wǎng)絡(luò)游戲大行其道,手機(jī)游戲也開(kāi)始“浮出水面”?!?/p>

4、貪吃蛇”、“俄羅斯方塊” 、“連連看”這些簡(jiǎn)單的黑白游戲曾為一代手機(jī)用戶(hù)所熟悉。隨著移動(dòng)通信技術(shù)的迅速發(fā)展,彩屏手機(jī)的日益普及,更加有趣、更為生動(dòng)的手機(jī)游戲?qū)映霾桓F。手機(jī)游戲作為視頻游戲領(lǐng)域發(fā)展速度最快的部分,正成為業(yè)界的新寵,展示出廣闊的市場(chǎng)前景。一時(shí)間,電信運(yùn)營(yíng)商、服務(wù)提供商、游戲制作商、手機(jī)制造商……人人都在談?wù)撌謾C(jī)游戲的光明前景。</p><p>  關(guān)鍵詞: Java 硬件 游戲手機(jī) 前景</p&

5、gt;<p><b>  第一章 緒論</b></p><p><b>  1.1課程設(shè)計(jì)目的</b></p><p>  將理論教學(xué)中涉及到的知識(shí)點(diǎn)貫穿起來(lái),對(duì)不同的數(shù)據(jù)類(lèi)型、程序控制結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)作一比較和總結(jié),結(jié)合設(shè)計(jì)題目進(jìn)行綜合性應(yīng)用,對(duì)所學(xué)知識(shí)達(dá)到融會(huì)貫通的程度。</p><p>  通過(guò)課程設(shè)計(jì)

6、,學(xué)生在下述各方面的能力應(yīng)該得到鍛煉:</p><p>  1)進(jìn)一步鞏固、加深學(xué)生所學(xué)專(zhuān)業(yè)課程《面向?qū)ο蟪绦蛟O(shè)計(jì)-JAVA》的基本理論知識(shí),理論聯(lián)系實(shí)際,進(jìn)一步培養(yǎng)學(xué)生綜合分析問(wèn)題,解決問(wèn)題的能力;</p><p>  2)全面考核學(xué)生所掌握的基本理論知識(shí)及其實(shí)際業(yè)務(wù)能力,從而達(dá)到提高學(xué)生素質(zhì)的最終目的。</p><p>  3)利用所學(xué)知識(shí),開(kāi)發(fā)小型應(yīng)用系統(tǒng),掌

7、握運(yùn)用JAVA語(yǔ)言編寫(xiě)調(diào)試應(yīng)用系統(tǒng)程序,訓(xùn)練獨(dú)立開(kāi)發(fā)應(yīng)用系統(tǒng),進(jìn)行數(shù)據(jù)處理的綜合能力;</p><p>  4)對(duì)于給定的設(shè)計(jì)題目,如何進(jìn)行分析,理清思路,并給出相應(yīng)的數(shù)學(xué)模型; </p><p>  5)掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的方法。</p><p>  6)熟練掌握J(rèn)AVA的基本語(yǔ)法,靈活運(yùn)用各種數(shù)據(jù)類(lèi)型;</p><p>  7)進(jìn)一步掌

8、握在DOS環(huán)境下如何調(diào)試程序(單步調(diào)試,設(shè)置斷點(diǎn)、觀察表達(dá)式,分塊調(diào)試)和修改程序.</p><p>  1.2課程設(shè)計(jì)的預(yù)備知識(shí)</p><p>  熟悉JAVA程序設(shè)計(jì)的基本知識(shí):</p><p>  GUI圖形界面設(shè)計(jì);</p><p><b>  接口;</b></p><p><b

9、>  實(shí)現(xiàn)抽象方法;</b></p><p><b>  響應(yīng)事件.</b></p><p><b>  1.3課程設(shè)計(jì)要求</b></p><p>  仔細(xì)分析設(shè)計(jì)題目,編寫(xiě)程序源代碼;</p><p>  積極上機(jī)調(diào)試源程序,增強(qiáng)編程技巧與調(diào)程能力;</p>&l

10、t;p>  認(rèn)真書(shū)寫(xiě)課程設(shè)計(jì)預(yù)習(xí)報(bào)告,課程設(shè)計(jì)說(shuō)明書(shū);</p><p>  遵守課程設(shè)計(jì)要求和機(jī)房管理制度,服從指導(dǎo)教師的安排,確保課程設(shè)計(jì)的順利完成課程設(shè)計(jì)內(nèi)容.</p><p><b>  第二章 問(wèn)題定義</b></p><p>  2.1 游戲開(kāi)發(fā)需求分析</p><p>  一個(gè)相對(duì)比較完整的手機(jī)游戲,

11、通常包括了:新游戲、游戲設(shè)置、排行榜、游戲幫助和游戲說(shuō)明五個(gè)主要部分,本設(shè)計(jì)本著從學(xué)習(xí)娛樂(lè)的角度出發(fā)的角度,并沒(méi)有太過(guò)復(fù)雜的環(huán)節(jié),盡力展示出了一個(gè)完整游戲的的全部開(kāi)發(fā)構(gòu)成。</p><p>  進(jìn)入游戲主界面設(shè)有“退出”、“再來(lái)一局”、“重列”三個(gè)選擇項(xiàng)鍵。</p><p>  點(diǎn)擊新游戲進(jìn)入游戲界面,每次的數(shù)字排序不一樣,游戲圖塊為5×6共30塊,每塊上面的數(shù)字隨機(jī)排列。界面頂

12、部有分?jǐn)?shù)記錄器,每關(guān)分?jǐn)?shù)積累。界面下方有菜單按鈕,包括退出、再來(lái)一局、重列三個(gè)選項(xiàng)。游戲次數(shù)不限,只為智力開(kāi)發(fā)和休閑娛樂(lè),消遣時(shí)間。</p><p>  2.2 游戲功能分析</p><p>  通過(guò)JAVA編一個(gè)連連看程序,通過(guò)鼠標(biāo)點(diǎn)擊使相同兩個(gè)數(shù)字消掉。程序?qū)崿F(xiàn)以下幾個(gè)功能:</p><p>  判斷鼠標(biāo)點(diǎn)擊的兩張圖片是否相同;</p><p

13、>  判斷2張圖片是否可以相連;</p><p>  判斷兩張圖片是否可以相消;</p><p><b>  判斷時(shí)間;</b></p><p>  判斷剩余圖片,是否勝利。</p><p>  本游戲通過(guò)以上五個(gè)功能完成,雖然不是很復(fù)雜,但實(shí)現(xiàn)了JAVA程序設(shè)計(jì)的思想。</p><p> 

14、 第三章 總體與詳細(xì)設(shè)計(jì)</p><p><b>  3.1總體設(shè)計(jì)</b></p><p>  本程序是Application程序,共有十一個(gè)成員方法;</p><p><b>  一個(gè)是主方法;</b></p><p>  是一個(gè)數(shù)據(jù)成員,其中兩個(gè)二維數(shù)組。</p><p&

15、gt;<b>  3.2詳細(xì)設(shè)計(jì) </b></p><p><b>  設(shè)置主面板;</b></p><p><b>  定義子面板;</b></p><p>  設(shè)置退出、重列、重新開(kāi)始三個(gè)按鈕;</p><p><b>  設(shè)置分?jǐn)?shù)標(biāo)簽;</b><

16、;/p><p><b>  儲(chǔ)存游戲按鈕位置;</b></p><p>  判斷是否有按鈕被選中;</p><p><b>  編寫(xiě)消除方法。</b></p><p><b>  第四章 編碼實(shí)現(xiàn)</b></p><p><b>  1)程序主方

17、法:</b></p><p>  public static void main(String[] args)</p><p><b>  { </b></p><p>  lianliankan llk= new lianliankan(); </p><p>  ddp.randomBuild(); &l

18、t;/p><p>  ddp.init(); </p><p><b>  }</b></p><p>  2)判斷同一行的相同按鈕是否能夠相連:</p><p>  public void linePassOne(){ </p><p>  if (y0>j){ //第一按鈕同行空按鈕在左邊

19、</p><p>  for (i=y0-1;i>=j ;i-- ){ //判斷第一按鈕同左側(cè)空按鈕之間有沒(méi)按鈕 </p><p>  if (grid[x0][i]!=0) { </p><p><b>  k=0; </b></p><p><b>  break; </b></p&

20、gt;<p><b>  } </b></p><p>  else { k=2; } //K=2說(shuō)明通過(guò)了第二次驗(yàn)證 </p><p><b>  } </b></p><p><b>  } </b></p><p>  if (y0<j){ //第一按

21、鈕同行空按鈕在與第二按鈕之間 </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>  break; </b></p>&l

22、t;p><b>  } </b></p><p>  else{ k=2; } </p><p><b>  } </b></p><p><b>  } </b></p><p><b>  } </b></p><p> 

23、 3)定義面板上的數(shù)字按鈕:</p><p>  public void reload() { </p><p>  int save[] = new int[30]; </p><p>  int n=0,cols,rows; </p><p>  int grid[][]= new int[8][7]; </p><p

24、>  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><p><b>  n++; <

25、/b></p><p><b>  } </b></p><p><b>  } </b></p><p><b>  } </b></p><p><b>  n=n-1; </b></p><p>  this.grid=

26、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) { </p>&l

27、t;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><p><b&g

28、t;  n--; </b></p><p><b>  } </b></p><p>  mainFrame.setVisible(false); </p><p>  pressInformation=false; //這里一定要將按鈕點(diǎn)擊信息歸為初始 </p><p><b>  init();

29、 </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(fals

30、e); </p><p><b>  } </b></p><p><b>  } </b></p><p><b>  }</b></p><p>  4)數(shù)字相消的方法:</p><p>  public void xiao() { //相同的情況下

31、能不能消去 </p><p>  if((x0==x &&(y0==y+1||y0==y-1)) || ((x0==x+1||x0==x-1)&&(y0==y))){ //判斷是否相鄰 </p><p>  remove(); </p><p><b>  } </b></p><p>&

32、lt;b>  else{ </b></p><p>  for (j=0;j<7;j++ ) { </p><p>  if (grid[x0][j]==0){ //判斷第一個(gè)按鈕同行哪個(gè)按鈕為空 </p><p>  if (y>j) { //如果第二個(gè)按鈕的Y坐標(biāo)大于空按鈕的Y坐標(biāo)說(shuō)明第一按鈕在第二按鈕左邊 </p>

33、<p>  for (i=y-1;i>=j;i-- ){ //判斷第二按鈕左側(cè)直到第一按鈕中間有沒(méi)有按鈕 </p><p>  if (grid[x][i]!=0) { </p><p><b>  k=0; </b></p><p><b>  break; </b></p><p&g

34、t;<b>  } </b></p><p>  else{ k=1; } //K=1說(shuō)明通過(guò)了第一次驗(yàn)證 </p><p><b>  } </b></p><p>  if (k==1) { </p><p>  linePassOne(); </p><p><b

35、>  } </b></p><p><b>  } </b></p><p>  if (y<j){ //如果第二個(gè)按鈕的Y坐標(biāo)小于空按鈕的Y坐標(biāo)說(shuō)明第一按鈕在第二按鈕右邊 </p><p>  for (i=y+1;i<=j ;i++ ){ //判斷第二按鈕左側(cè)直到第一按鈕中間有沒(méi)有按鈕 </p>

36、<p>  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>

37、<p><b>  } </b></p><p>  if (k==1){ </p><p>  linePassOne(); } </p><p><b>  } </b></p><p>  第五章 調(diào)試與測(cè)試 </p><p>  1)寫(xiě)出批處理文件12.ba

38、t;</p><p>  2)編寫(xiě)java格式的文件lianliankan.java;</p><p>  3)開(kāi)始運(yùn)行,過(guò)程顯示如下:</p><p><b>  運(yùn)行結(jié)果如下:</b></p><p>  第六章 總結(jié)與心得</p><p><b>  總結(jié):</b>&

39、lt;/p><p>  通過(guò)這次的課程設(shè)計(jì)過(guò)程,我進(jìn)一步了解JAVA程序的設(shè)計(jì)懂得怎么樣去制定計(jì)劃,怎么樣去實(shí)現(xiàn)這個(gè)計(jì)劃,并掌握了在執(zhí)行過(guò)程中怎么樣去克服心理上的不良情緒,黑夜過(guò)去了,我們收獲的是黎明。在本次實(shí)踐中,給我印象最為深刻的是在文件刪除程序的編譯過(guò)程中,先有我的各個(gè)子程序都已經(jīng)編輯成功,那么這最后的程序就將是我成功的關(guān)鍵。最后的時(shí)刻設(shè)置的障礙,是要考驗(yàn)我的能力,在這個(gè)問(wèn)題的解決上,我打了退堂鼓,我不能忍受

40、長(zhǎng)時(shí)間的無(wú)功而反,時(shí)間正在消磨我的意志。謝謝老師的那句話,她說(shuō):人力有所不能及,然而,人的精神是不會(huì)敗倒的。我鼓起勇氣,到處問(wèn),到處查資料,黃天不負(fù)有心人,終于看到了我所特別要求的函數(shù),我實(shí)現(xiàn)了組合是關(guān)鍵的理論。不得不說(shuō)這是精神的勝利,是永不言敗的精神讓我的程序重見(jiàn)天日。心得:</p><p>  課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn),提出,分析和解決實(shí)際問(wèn)題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)學(xué)生實(shí)際工作能力的

41、具體訓(xùn)練和考察過(guò)程.隨著科學(xué)技術(shù)發(fā)展的日新日異,當(dāng)今計(jì)算機(jī)應(yīng)用在生活中可以說(shuō)得是無(wú)處不在。因此作為二十一世紀(jì)的大學(xué)來(lái)說(shuō)掌握計(jì)算機(jī)開(kāi)發(fā)技術(shù)是十分重要的?;叵雽W(xué)習(xí)JAVA的過(guò)程中,既有快樂(lè)又有煩惱.</p><p>  從領(lǐng)到書(shū)的那一刻,我就很郁悶,《面向?qū)ο蟪绦蛟O(shè)計(jì)-JAVA》到底事學(xué)什么的,有什么用。剛開(kāi)始上課時(shí),還在迷茫這門(mén)課程是用來(lái)做什么的。不過(guò),這些感受都是在對(duì)這門(mén)課程不了解的情況下產(chǎn)生的。后來(lái)慢慢的接觸多

42、了,聽(tīng)老師講的多了,了解多了,漸漸的產(chǎn)生了興趣。尤其是學(xué)到類(lèi)與對(duì)象和多態(tài)機(jī)制時(shí),上機(jī)操作程序,經(jīng)過(guò)編譯,調(diào)試和運(yùn)行后,出現(xiàn)界面,當(dāng)時(shí)覺(jué)得很好奇,想真正的學(xué)好這門(mén)課程。通過(guò)半個(gè)學(xué)期的學(xué)習(xí),我掌握了基本知識(shí)。下學(xué)期開(kāi)始時(shí),被通知要進(jìn)行三周的課程設(shè)計(jì)。當(dāng)時(shí)有點(diǎn)懵,感覺(jué)學(xué)的東西很少,很零散,不知該怎么練到一起,就要課程設(shè)計(jì),是不是太難為我們了。</p><p>  第一天基本上都是在看書(shū),把基本知識(shí)再熟悉一邊。到了下午的

43、時(shí)候,老師發(fā)過(guò)來(lái)三道練習(xí)題,從這幾道練習(xí)題上我得到了不少啟發(fā),然后我們組把整個(gè)程序的思路理清了,開(kāi)始著手寫(xiě)程序。第一周結(jié)束的時(shí)候,我感覺(jué)自己收獲挺大的,從一開(kāi)始的迷茫,不知道從何下手到把程序中的幾個(gè)模塊編寫(xiě)出來(lái),心里挺開(kāi)心的。但是,到了第二周,我們由不得不再次陷入困境。在整個(gè)程序的編寫(xiě)過(guò)程中。最難的就是修改和刪除這兩個(gè)模塊,這也是我們第二周要解決的重點(diǎn)問(wèn)題。</p><p>  開(kāi)始編寫(xiě)修改和刪除時(shí),很頭疼,去向

44、其他人尋求幫助,在別人的幫助和提示下,我編完了修改程序,但編譯時(shí)老出錯(cuò),修改后的內(nèi)容將文本內(nèi)的信息全部覆蓋了。困難之時(shí),我們組的其他人,幫助了我,完成了修改和刪除。這樣的話,整個(gè)程序基本上全部完成了,就剩下完善工作了。</p><p>  回顧起此次課程設(shè)計(jì),至今我仍感慨頗多,的確,自從拿到題目到完成整個(gè)編程,從理論到實(shí)踐,在兩個(gè)星期的日子里,可以學(xué)到很多很多的的東西,同時(shí)不僅可以鞏固了以前所學(xué)過(guò)的知識(shí),而且學(xué)到

45、了很多在書(shū)本上所沒(méi)有學(xué)到過(guò)的知識(shí)。通過(guò)這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論</p><p>  知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過(guò)程中遇到問(wèn)題,這畢竟獨(dú)立做的,難免會(huì)遇到過(guò)各種各樣的問(wèn)題,同時(shí)在設(shè)計(jì)的過(guò)程中發(fā)現(xiàn)了自己的不足之處,對(duì)以前所學(xué)過(guò)的知識(shí)理解得不夠深刻,掌握得不夠牢固,通

46、過(guò)這次課程設(shè)計(jì)之后,一定把以前所學(xué)過(guò)的知識(shí)重新溫故。</p><p><b>  附錄1</b></p><p><b>  程序源代碼</b></p><p>  import javax.swing.*; </p><p>  import java.awt.*; </p><

47、;p>  import java.awt.event.*; </p><p>  public class lianliankan implements ActionListener </p><p><b>  { </b></p><p>  JFrame mainFrame; </p><p>  Conta

48、iner thisContainer; </p><p>  JPanel centerPanel,southPanel,northPanel; </p><p>  JButton diamondsButton[][] = new JButton[6][5];</p><p>  JButton exitButton,resetButton,newlyButton

49、;</p><p>  JLabel fractionLable=new JLabel("0"); </p><p>  JButton firstButton,secondButton; </p><p>  int grid[][] = new int[8][7]; </p><p>  static boolean

50、pressInformation=false;</p><p>  int x0=0,y0=0,x=0,y=0,fristMsg=0,secondMsg=0,validateLV; </p><p>  int i,j,k,n; </p><p>  public void init(){ </p><p>  mainFrame=new J

51、Frame; </p><p>  thisContainer = mainFrame.getContentPane(); </p><p>  thisContainer.setLayout(new BorderLayout()); </p><p>  centerPanel=new JPanel(); </p><p>  southP

52、anel=new JPanel(); </p><p>  northPanel=new JPanel(); </p><p>  thisContainer.add(centerPanel,"Center"); </p><p>  thisContainer.add(southPanel,"South"); </p&

53、gt;<p>  thisContainer.add(northPanel,"North"); </p><p>  centerPanel.setLayout(new GridLayout(6,5)); </p><p>  for(int cols = 0;cols < 6;cols++){ </p><p>  for(

54、int rows = 0;rows < 5;rows++ ){ </p><p>  diamondsButton[cols][rows]=new JButton(String.valueOf(grid[cols+1][rows+1])); </p><p>  diamondsButton[cols][rows].addActionListener(this); </p>

55、;<p>  centerPanel.add(diamondsButton[cols][rows]); </p><p><b>  } </b></p><p><b>  } </b></p><p>  exitButton=new JButton; </p><p>  exi

56、tButton.addActionListener(this); </p><p>  resetButton=new JButton; </p><p>  resetButton.addActionListener; </p><p>  newlyButton=new JButton; </p><p>  newlyButton.ad

57、dActionListener(this); </p><p>  southPanel.add(exitButton); </p><p>  southPanel.add(resetButton); </p><p>  southPanel.add(newlyButton); </p><p>  fractionLable.setTe

58、xt(String.valueOf(Integer.parseInt(fractionLable.getText()))); </p><p>  northPanel.add(fractionLable); </p><p>  mainFrame.setBounds(280,100,500,450); </p><p>  mainFrame.setVisibl

59、e(true); </p><p><b>  } </b></p><p>  public void randomBuild() { </p><p>  int randoms,cols,rows; </p><p>  for(int twins=1;twins<=15;twins++) { </p&

60、gt;<p>  randoms=(int)(Math.random()*25+1); </p><p>  for(int alike=1;alike<=2;alike++) { </p><p>  cols=(int)(Math.random()*6+1); </p><p>  rows=(int)(Math.random()*5+1);

61、 </p><p>  while(grid[cols][rows]!=0) { </p><p>  cols=(int)(Math.random()*6+1); </p><p>  rows=(int)(Math.random()*5+1); </p><p><b>  } </b></p><

62、;p>  this.grid[cols][rows]=randoms; </p><p><b>  } </b></p><p><b>  } </b></p><p><b>  } </b></p><p>  public void fraction()<

63、/p><p><b>  { </b></p><p>  fractionLable.setText(String.valueOf(Integer.parseInt(fractionLable.getText())+100)); </p><p><b>  } </b></p><p>  publ

64、ic void reload() { </p><p>  int save[] = new int[30]; </p><p>  int n=0,cols,rows; </p><p>  int grid[][]= new int[8][7]; </p><p>  for(int i=0;i<=6;i++) { </p&g

65、t;<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><p><b>  n++; </b></p><p><b>  } &

66、lt;/b></p><p><b>  } </b></p><p><b>  } </b></p><p><b>  n=n-1; </b></p><p>  this.grid=grid; </p><p>  while(n>=

67、0) { </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)(Math.random()*6+1); &

68、lt;/p><p>  rows=(int)(Math.random()*5+1); </p><p><b>  } </b></p><p>  this.grid[cols][rows]=save[n]; </p><p><b>  n--; </b></p><p>&

69、lt;b>  } </b></p><p>  mainFrame.setVisible(false); </p><p>  pressInformation=false;</p><p><b>  init(); </b></p><p>  for(int i = 0;i < 6;i++)

70、{ </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><p><b>  } </b></p>&

71、lt;p><b>  } </b></p><p><b>  }</b></p><p>  public void estimateEven(int placeX,int placeY,JButton bz) { </p><p>  if(pressInformation==false) { </p>

72、;<p>  x=placeX; </p><p>  y=placeY; </p><p>  secondMsg=grid[x][y]; </p><p>  secondButton=bz; </p><p>  pressInformation=true; </p><p><b>  

73、} </b></p><p><b>  else { </b></p><p><b>  x0=x; </b></p><p><b>  y0=y; </b></p><p>  fristMsg=secondMsg; </p><p>

74、;  firstButton=secondButton; </p><p>  x=placeX; </p><p>  y=placeY; </p><p>  secondMsg=grid[x][y]; </p><p>  secondButton=bz; </p><p>  if(fristMsg==seco

75、ndMsg && secondButton!=firstButton){ </p><p><b>  xiao(); </b></p><p><b>  } </b></p><p><b>  } </b></p><p><b>  }<

76、/b></p><p>  public void xiao() {</p><p>  if((x0==x &&(y0==y+1||y0==y-1)) || ((x0==x+1||x0==x-1)&&(y0==y))){ </p><p>  remove(); </p><p><b>  

77、} </b></p><p><b>  else{ </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

78、;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><p>

79、  else{ k=1; } </p><p><b>  } </b></p><p>  if (k==1) { </p><p>  linePassOne(); </p><p><b>  } </b></p><p><b>  } </b>

80、</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; </b></p><p><b>  break; </

81、b></p><p><b>  } </b></p><p>  else { k=1; } </p><p><b>  } </b></p><p>  if (k==1){ </p><p>  linePassOne(); </p><p&

82、gt;<b>  } </b></p><p><b>  } </b></p><p>  if (y==j ) { </p><p>  linePassOne(); </p><p><b>  } </b></p><p><b>  

83、} </b></p><p>  if (k==2) { </p><p>  if (x0==x) { </p><p>  remove(); </p><p><b>  } </b></p><p>  if (x0<x) { </p><p> 

84、 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></p&

85、gt;<p>  if(grid[n][j]==0 && n==x-1) { </p><p>  remove(); </p><p><b>  } </b></p><p><b>  } </b></p><p><b>  } </b>&

86、lt;/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; </b></p><p><b>  break; &

87、lt;/b></p><p><b>  } </b></p><p>  if(grid[n][j]==0 && n==x+1) { </p><p>  remove(); </p><p><b>  } </b></p><p><b>

88、;  } </b></p><p><b>  } </b></p><p><b>  } </b></p><p><b>  } </b></p><p>  for (i=0;i<8;i++ ) { </p><p>  if

89、(grid[i][y0]==0) { </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><p>&

90、lt;b>  break; </b></p><p><b>  } </b></p><p>  else { k=1; } </p><p><b>  } </b></p><p>  if (k==1) { </p><p>  rowPassOne

91、(); </p><p><b>  } </b></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)

92、 { </p><p><b>  k=0; </b></p><p><b>  break; </b></p><p><b>  } </b></p><p>  else { k=1; } </p><p><b>  } </b

93、></p><p>  if (k==1) { </p><p>  rowPassOne(); </p><p><b>  } </b></p><p><b>  } </b></p><p>  if (x==i) { </p><p>

94、  rowPassOne(); </p><p><b>  } </b></p><p><b>  } </b></p><p>  if (k==2){ </p><p>  if (y0==y) { </p><p>  remove(); </p>&

95、lt;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></p&g

96、t;<p><b>  break; </b></p><p><b>  } </b></p><p>  if(grid[i][n]==0 && n==y-1) { </p><p>  remove(); </p><p><b>  } </b&

97、gt;</p><p><b>  } </b></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

98、) { </p><p><b>  k=0; </b></p><p><b>  break; </b></p><p><b>  } </b></p><p>  if(grid[i][n]==0 && n==y+1) { </p><

99、;p>  remove(); </p><p><b>  } </b></p><p><b>  } </b></p><p><b>  } </b></p><p><b>  } </b></p><p><b

100、>  } </b></p><p><b>  } </b></p><p><b>  } </b></p><p>  public void linePassOne(){ </p><p><b>  if (y0>j)</b></p>

101、<p><b>  { </b></p><p>  for (i=y0-1;i>=j ;i-- )</p><p><b>  { </b></p><p>  if (grid[x0][i]!=0) { </p><p><b>  k=0; </b>&

102、lt;/p><p><b>  break; </b></p><p><b>  } </b></p><p>  else { k=2; } </p><p><b>  } </b></p><p><b>  } </b><

103、;/p><p><b>  if (y0<j)</b></p><p><b>  { </b></p><p>  for (i=y0+1;i<=j ;i++){ </p><p>  if (grid[x0][i]!=0) { </p><p><b>

104、  k=0; </b></p><p><b>  break; </b></p><p><b>  } </b></p><p>  else{ k=2; } </p><p><b>  } </b></p><p><b>

105、  } </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>  

106、if (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>

107、<b>  } </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&

108、gt;<b>  k=0; </b></p><p><b>  break; </b></p><p><b>  } </b></p><p>  else { k=2; } </p><p><b>  } </b></p><p

109、><b>  } </b></p><p><b>  } </b></p><p>  public void remove(){ </p><p>  firstButton.setVisible(false); </p><p>  secondButton.setVisible(fal

110、se); </p><p>  fraction(); </p><p>  pressInformation=false; </p><p><b>  k=0; </b></p><p>  grid[x0][y0]=0; </p><p>  grid[x][y]=0; </p>

111、<p><b>  }</b></p><p>  public void actionPerformed(ActionEvent e) { </p><p>  if(e.getSource()==newlyButton){ </p><p>  int grid[][] = new int[8][7]; </p>

112、<p>  this.grid = grid; </p><p>  randomBuild(); </p><p>  mainFrame.setVisible(false); </p><p>  pressInformation=false; </p><p><b>  init(); </b><

113、;/p><p><b>  } </b></p><p>  if(e.getSource()==exitButton) </p><p>  System.exit(0); </p><p>  if(e.getSource()==resetButton) </p><p>  reload();

114、</p><p>  for(int cols = 0;cols < 6;cols++){ </p><p>  for(int rows = 0;rows < 5;rows++ ){ </p><p>  if(e.getSource()==diamondsButton[cols][rows]) </p><p>  estim

115、ateEven(cols+1,rows+1,diamondsButton[cols][rows]); </p><p><b>  } </b></p><p><b>  } </b></p><p><b>  }</b></p><p>  public static v

116、oid main(String[] args) { </p><p>  duiduipeng llk = new lianliankan(); </p><p>  ddp.randomBuild(); </p><p>  ddp.init(); </p><p><b>  } </b></p>&l

117、t;p><b>  } </b></p><p><b>  附錄2</b></p><p><b>  參考文獻(xiàn)</b></p><p>  陳軼.姚曉昆編著.Java程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo).北京:清華大學(xué)出版社,2006</p><p>  鄭莉.王行言.馬素霞編著.Jav

118、a語(yǔ)言程序設(shè)計(jì).北京:清華大學(xué)出版社,2006</p><p>  王路群.Java高級(jí)程序設(shè)計(jì).北京:中國(guó)水利水電出版社,2006</p><p>  朱喜福等編.Java程序設(shè)計(jì).北京:人民郵電出版社,2005</p><p>  趙文靖編著.Java程序設(shè)計(jì)基礎(chǔ)與上機(jī)指導(dǎo).北京:清華大學(xué)出版社,2006</p><p>  宛延闿等編著

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論