版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
東華理工大學Java課程設計匯報題目:漢諾塔所在院系:理學院學生姓名:漆俊、朱學曼、顏瑤專業(yè):信息和計算科學班級:1223201-2指導老師:黃國輝12月29日目錄概述題目概述題目分析課程設計1.課程設計目標2.課程設計內容3.課程設計環(huán)境4.課程設計要求三.系統(tǒng)需求分析1.系統(tǒng)目標2.主體功效3.開發(fā)環(huán)境四.系統(tǒng)概要設計1.系統(tǒng)功效模塊劃分2.步驟圖3.自定義類說明五.系統(tǒng)具體設計六.測試測試方案測試結果七.小結八.參考文件程序代碼一.概述題目概述:Hannoi塔:
設計GUI界面Hannoi塔,用戶能夠經過拖動鼠標移動各個塔上盤子,程序也能夠自動演示盤子移動過程。
設計要求
1.有三個表示塔對象,分別命名為A、B和C。A塔上有若干個盤子,盤子大小不等,并按著大小次序依次擺放在A塔上,大盤在下,小盤在上。用戶能夠用鼠標拖動盤子,把A
塔上盤子全部移動到另外兩個塔中任何一個塔上。要求每次只能移動一個盤子,在任何時候不許可大盤壓在小盤上面。
2.用戶也能夠選擇讓程序自動演示。選擇自動演示后,程序將以動畫形式演示把A塔上盤子全部移到C塔過程,并將移動過程以文本形式顯示在一個文本區(qū)中。2.題目分析:(1)在窗口中畫出初始時塔和碟子狀態(tài)。(2)能夠以自動或手動兩種方法搬移碟子。(3)自動搬移能夠經過定時器或多線程方法,每一次移動時間間隔能夠自定,以人眼觀察比較舒適為宜,每一次移動過程如能實現(xiàn)動畫最好。(4)定義塔描述類和碟子描述類。(5)在程序中,碟子數(shù)目及每次移動時間間隔能夠經過對話框設置(也應該有默認值)。(6)支持暫停功和繼續(xù)功效(在自動搬移過程中能夠暫停,并繼續(xù))。(7)暫停后,能夠將目前狀態(tài)保留(碟子和塔組合關系)。(8)能夠從7中保留文件中讀出某個狀態(tài),并繼續(xù)移動。二.課程設計1.課程設計目標《JAVA程序設計》是計算機相關專業(yè)選修專業(yè)基礎課程,其實踐性、應用性很強。實踐教學步驟是必不可少一個關鍵步驟。本課程程序設計專題實際是計算機相關專業(yè)學生學習完《JAVA程序設計》課程后,進行一次全方面綜合訓練,JAVA程序設計設計目標是加深對理論教學內容了解和掌握,使學生較系統(tǒng)地掌握程序設計及其在網(wǎng)絡開發(fā)中廣泛應用,基礎方法及技巧,為學生綜合利用所學知識,利用軟件工程為基礎進行軟件開發(fā)、并在實踐應用方面打下一定基礎。課程設計內容我設計Hannoi塔,除了要編寫6個java文件所給出類外,還需要java系統(tǒng)提供部分關鍵類,如JButton,JCheckBox等。漢諾塔中有三個座,名字分別為A,B,C。剛開始時候A塔上有3個大小不等盤子,這些盤子從座底到座頂按著大小次序依次擺放在A座上。用戶能夠用鼠標選中盤子,然后經過拖動鼠標來移動盤子。釋放鼠標來放置該盤子。程序要求用戶在移動盤子過程中,不許可吧大盤子放置在小盤子上面,用戶最終要完成是把A座上全部盤子移動到B座或C座上。用戶能夠經過Hannoi塔界面提供改變盤子數(shù)目功效來改變盤子數(shù)目,同時能夠改變盤子大小和改變盤子和界面背景顏色,而且還能夠選擇控制背景音樂播放。用戶能夠經過單擊Hannoi塔界面上提供按鈕,讓程序自動完成把A座上盤子全部移動到C座上。用戶在移動盤子過程中,能夠隨時單擊Hannoi塔界面上提供按鈕,重新開始。課程設計環(huán)境硬件要求能運行Windows9.X操作系統(tǒng)微機系統(tǒng)。JAVA程序設計語言及對應集成開發(fā)環(huán)境,J2SDK和ECLIPSE開發(fā)工具。課程設計要求按課程設計指導書提供課題,要求學生在自行完成各個操作步驟,并能實現(xiàn)且達成舉一反三目標,完成一個項目處理一類問題。要求學生能夠全方面、深入了解和熟練掌握所學內容,并能夠用其分析、設計和解答類似問題;對此能夠很好地了解和掌握,能夠進行簡單分析和判定;能編寫出含有良好風格程序;掌握JAVA程序設計基礎技能和面向對象概念和方法;了解多線程、安全和網(wǎng)絡等編程技術。同時培養(yǎng)學生進行分析問題、處理問題能力;培養(yǎng)學生進行設計分析、設計方法、設計操作和測試、設計過程觀察、了解和歸納能力提升。三.系統(tǒng)需求分析系統(tǒng)目標所設計代碼能夠正常運行程序,而且根據(jù)設計目標預想完成具體功效。主體功效(1)設計GUI界面Hannoi塔。Hannoi塔中有三個座,名字分別是A、B和C。初始狀態(tài)是A座上有五個大小不等盤子,這些盤子從座底到座頂按著大小次序依次擺放在A座上。用戶能夠用鼠標選中盤子,然后經過拖動鼠標來移動該盤子、釋放鼠標來放置該盤子。(2)程序要求用戶在移動盤子過程中,不許可把大盤子放在小盤子上面,用戶最終要完成是把A座上全部盤子移動到B座或C座上。(3)用戶能夠經過單擊Hannoi塔界面上提供按鈕,讓程序自動完成把A座上盤子全部移動到B座或C座上。(4)用戶在移動盤子過程中,能夠隨時單擊Hannoi塔界面上提供按鈕,重新開始游戲。3.開發(fā)環(huán)境JAVA程序設計語言及對應集成開發(fā)環(huán)境,JDK1.6。四.系統(tǒng)概要設計關鍵要實現(xiàn)功效有:完成漢諾塔“手工移動演示”;完成漢諾塔“自動移動演示”;增加計時功效,即顯示用戶完成移動盤子所花費時間;用戶能夠設置最大和最小盤子大??;用戶能夠選擇播放和暫停背景音樂;用戶能夠設置盤子數(shù)目;用戶能夠設置盤子顏色和背景顏色;用戶能夠將自動移動盤子文本信息保留到文件。系統(tǒng)功效模塊劃分(1)Tower.java(主類)Tower類負責創(chuàng)建Hannoi塔主窗口,該類含有main方法,Hannoi塔從類開始實施。Tower類組員變量中有兩種關鍵類型對象:一個int基礎型數(shù)據(jù)和一個char型數(shù)組。兩種類型對象分別是:HannoiTower和Button對象。(2)HannoiTower.javaHannoiTower類是javax.swing包中JPanel容器子類,創(chuàng)建容器被添加到Tower窗口中心。HannoiTower類組員變量有兩種關鍵類型對象、一個int基類型數(shù)據(jù)和一個char型數(shù)組。兩種類型對象分別是:Disk、TowerPoint。(3)TowerPoint.javaTowerPoint類負責在HannoiTower中創(chuàng)建表示位置塔點對象。(4)Disk.javaDisk類是Button一個子類,創(chuàng)建對象是HannoiTower容器中一個按鈕,用來表示HannoiTower中盤子。步驟圖(圖4-1)自定義類說明(1)自定義類類名:JButton作用:自定義主類,實現(xiàn)圓盤類Disc繼承JButton類繼承父類:Disc類實現(xiàn)接口:沒有(2)組員變量JButton組員變量組員變量描述變量類型名稱控制盤子數(shù)目StringJLabel重新開始Stringrenew.setText開始游戲Stringrenew.setText背景顏色Stringbgcolor盤子顏色Stringpzcolor(3)方法表Chesspad方法方法名功效備注fillRect()繪制出矩形區(qū)域結構方法g.fillOval()繪制相同數(shù)目點結構方法drawString()繪制出A、B、C座
結構方法setBackground()設置背景顏色和盤子顏色結構方法Timer(inta,Objectb)創(chuàng)建一個計時器
結構方法stop()停止計時器計時
接口方法write保留文件
接口方法actionPerformed事件處理
evaluate評定
五.系統(tǒng)具體設計Tower類Tower類是javax.swing包中Frame一個子類,標明該類關鍵組員變量和方法:組員變量tower是HannoiTower創(chuàng)建對象。tower對象是一個容器,刻畫了Hannoi塔結構,該對象被添加到窗口中心。盤子數(shù)目是int型數(shù)據(jù),它默認值是5。盤子數(shù)目標值是用來確定tower對象中“盤子”數(shù)目。towerName是char型數(shù)組,長度為3,其三個單元默認取值依次是A、B和C。towerName數(shù)組單元值用來確定tower中三個塔名字。renew和auto是Button創(chuàng)建按鈕對象,名字依次為“重新開始”和“自動演示搬盤子”,renew和auto全部將目前窗口注冊為自己ActionEvent事件監(jiān)視器。方法取消起始塔定義,并將塔頂盤設為黃色取消起始塔定義,并將塔頂盤設為黃色是否自動搬移退出開始是否正在移動退出是否點中某個塔退出是否已定義起始塔塔上是否有盤退出定義目前塔為起始塔,并將塔頂盤設為藍色是否起始塔消息框報錯退出該塔頂盤是否比欲移動盤大消息框報錯退出定義為目標塔,調MovePlate函數(shù),將起始塔頂金盤移動到目標塔頂。退出是否是否否是是否退出否是是否否是圖4-1Tower()是結構方法,負責完成窗口初始化。main方法是Hannoi塔程序運行入口方法。actionPerformed(ActionEvent)方法是HannoiTower類實現(xiàn)ActionListener接口中方法。HannoiTower創(chuàng)建窗口是renew和auto兩個按鈕ActionEvent事件監(jiān)視器。當用戶單擊按鈕時,窗口將實施actionPerformed(ActionEvent)方法進行對應操作。當用戶單擊renew按鈕時,actionPerformed(ActionEvent)方法所進行操作是保持目前盤子數(shù)目標值,并讓tower對象依據(jù)盤子數(shù)目標值設置其初始狀態(tài)。當用戶單擊auto按鈕時,actionPerformed(ActionEvent)方法所進行操作是讓tower對象返回其中AutoMoveDisc對象,該對象是一個對話框,用戶能夠經過對話框讓程序自動地移動“盤子”。六.測試1.測試方案本程序初始狀態(tài)是A塔上有五個大小不等盤子,這些盤子從座底到座頂按著大小次序依次擺放在A塔上。用戶能夠用鼠標選中盤子,然后經過拖動鼠標來移動該盤子、釋放鼠標來放置該盤子。程序要求用戶在移動盤子過程中,不許可把大盤子放在小盤子上面,用戶最終要完成是把A塔上全部盤子移動到B塔或C塔上。用戶能夠經過單擊Hannoi塔界面上提供按鈕,讓程序自動完成把A塔上盤子全部移動到B塔或C塔上。用戶在移動盤子過程中,能夠隨時單擊Hannoi塔界面上提供按鈕,重新開始游戲。2.測試結果七.小結經過著為期兩天時間,我學到了很多,自然在這期間碰到困難數(shù)不勝數(shù),開始最讓我沒轍是題目不知道該訂什么好,想過很多個題目但往往跟其它同學反復了,為了避免做出來東西雷同了,只能繼續(xù)想其它方面,想過去做些復雜,但實在是能力有限,,最終我們小組最終決定做這個Hannoi塔游戲.這個Hannoi塔游戲就是在原有程序基礎上增加了改變盤子數(shù)目功效、改變盤子大小功效、改變背景顏色功效、改變盤子顏色功效、計時器功效和保留信息到文件功效,因為是在原有基礎上修改,即使理論上那個來講這應該很簡單,不會太難,但當我真正著手做起來得時候才發(fā)覺,原來自己還是太嫩,剛開始什么全部不懂,于是我們就去網(wǎng)上參閱了大量資料,也不停向同學們請教,最終逐步讓我從剛開始連怎樣運行程序,甚至類作用等部分罪基礎東西全部不清楚到最終經過努力最終把這個程序成功搞定.自然這期間除了辛勞也讓我明白了很多,有些小問題也是不容忽略,就如公共類只能有一個,而且必需要有.及類名必需要同公共類名相同.不然程序就無法運行.經過編寫這個Hannoi塔游戲,我們認識到應該注意細節(jié)問題,即使是很小問題,但能夠提升自己編程能力,而且還能夠培養(yǎng)自己編程嚴謹性,同時還能夠為以后編程積累經驗。除此之外讓我們對java變成語言又有了更深一步了解,曾經對于部分類名似是而非,現(xiàn)在經過編寫這個程序讓我逐步變得明朗部分了,最少能夠分清父類子類,和部分類和方法用途,當然這些全部離不開小組組員分工合作,總而言之經過這次課程設計,我們真學到了很多.八.參考文件[1]蘇仕民.數(shù)據(jù)結構課程設計北京:機械工業(yè)出版社.參考書:[2]SartajSahni.DataStructure,Algorithms,andApplicationinC++.TheMcGraw-HillCompanyInc.1998[M](第一版)(數(shù)據(jù)結構、算法和應用——C++語言描述.北京:機械工業(yè)出版社.1999[3]WillanFord,WillianTopp.DataStructureswithC++.NewJersey:PrenticeHallInc,AdivisionSimon&SchusterCompany,1996[M](第一版)(數(shù)據(jù)結構——C++語言描述.北京:清華大學出版社,1997[4]徐孝凱.數(shù)據(jù)結構實用教程(C/C++描述)[M].(第一版)北京:清華大學出版社.1999[5]陳慧南.數(shù)據(jù)結構(使用C++語言描述)[M].(第一版)南京:東南大學出版社.[6]殷人昆,陶永雷,謝若陽等.數(shù)據(jù)結構(用面向對象方法和C++描述)[M].(第一版)北京:清華大學出版社.1999九.程序代碼1.主類/***@(#)Tower.java***@author*@version1.00/12/29*/importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;publicclassTowerextendsFrameimplementsActionListener,Runnable{HannoiTowertower=null;Buttonrenew,auto=null;chartowerName[]={'A','B','C'};int盤子數(shù)目,盤寬,盤高;Threadthread;TextArea信息條=null;publicTower(){thread=newThread(this);盤子數(shù)目=5;盤寬=80;盤高=18;信息條=newTextArea(12,12);信息條.setText(null);tower=newHannoiTower(盤子數(shù)目,盤寬,盤高,towerName,信息條);renew=newButton("重新開始");auto=newButton("自動演示搬盤子");renew.addActionListener(this);auto.addActionListener(this);add(tower,BorderLayout.CENTER);add(renew,BorderLayout.SOUTH);add(auto,BorderLayout.NORTH);add(信息條,BorderLayout.EAST);addWindowListener(newWindowAdapter(){ publicvoidwindowClosing(WindowEvente){ System.exit(0);}});setVisible(true);setBounds(60,20,670,540);validate();}publicvoidactionPerformed(ActionEvente){if(e.getSource()==renew){if(!(thread.isAlive())){this.remove(tower);信息條.setText(null);tower=newHannoiTower(盤子數(shù)目,盤寬,盤高,towerName,信息條);add(tower,BorderLayout.CENTER);validate();}else{}}if(e.getSource()==auto){if(!(thread.isAlive())){thread=newThread(this);}try{thread.start();}catch(Exceptioneee){}}}publicvoidrun(){this.remove(tower);信息條.setText(null);tower=newHannoiTower(盤子數(shù)目,盤寬,盤高,towerName,信息條);add(tower,BorderLayout.CENTER);validate();tower.自動演示搬運盤子(盤子數(shù)目,towerName[0],towerName[1],towerName[2]);}publicstaticvoidmain(Stringargs[]){newTower();}}2./***@(#)HannoiTower.java***@author*@version1.00/12/29*/importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;publicclassHannoiTowerextendsJPanelimplementsMouseListener,MouseMotionListener{TowerPointpoint[];intx,y;booleanmove=false;Disk盤子[];intstartX,startY;intstartI;int盤子數(shù)目=0;intwidth,height;chartowerName[]={'A','B','C'};TextArea信息條=null;publicHannoiTower(intnumber,intw,inth,char[]name,TextAreatext){towerName=name;盤子數(shù)目=number;width=w;height=h;信息條=text;setLayout(null);addMouseListener(this);addMouseMotionListener(this);盤子=newDisk[盤子數(shù)目];point=newTowerPoint[3*盤子數(shù)目];intspace=20;for(inti=0;i<盤子數(shù)目;i++){point[i]=newTowerPoint(40+width,100+space,false);space=space+height;}space=20;for(inti=盤子數(shù)目;i<2*盤子數(shù)目;i++){point[i]=newTowerPoint(160+width,100+space,false);space=space+height;}space=20;for(inti=2*盤子數(shù)目;i<3*盤子數(shù)目;i++){point[i]=newTowerPoint(280+width,100+space,false);space=space+height;}inttempWidth=width;intsub=(int)(tempWidth*0.2);for(inti=盤子數(shù)目-1;i>=0;i--){盤子[i]=newDisk(i,this);盤子[i].setSize(tempWidth,height);tempWidth=tempWidth-sub;}for(inti=0;i<盤子數(shù)目;i++){point[i].放置盤子(盤子[i],this);if(i>=1)盤子[i].set上方有盤(true);}}publicvoidpaintComponent(Graphicsg){super.paintComponent(g);g.drawLine(point[0].getX(),point[0].getY(),point[盤子數(shù)目-1].getX(),point[盤子數(shù)目-1].getY());g.drawLine(point[盤子數(shù)目].getX(),point[盤子數(shù)目].getY(),point[2*盤子數(shù)目-1].getX(),point[2*盤子數(shù)目-1].getY());g.drawLine(point[2*盤子數(shù)目].getX(),point[2*盤子數(shù)目].getY(),point[3*盤子數(shù)目-1].getX(),point[3*盤子數(shù)目-1].getY());g.drawLine(point[盤子數(shù)目-1].getX()-width,point[盤子數(shù)目-1].getY(),point[3*盤子數(shù)目-1].getX()+width,point[3*盤子數(shù)目-1].getY());intleftx=point[盤子數(shù)目-1].getX()-width;intlefty=point[盤子數(shù)目-1].getY();intw=(point[3*盤子數(shù)目-1].getX()+width)-(point[盤子數(shù)目-1].getX()-width);inth=height/2;g.setColor(Color.orange);g.fillRect(leftx,lefty,w,h);g.setColor(Color.red);intsize=4;for(inti=0;i<3*盤子數(shù)目;i++){g.fillOval(point[i].getX()-size/2,point[i].getY()-size/2,size,size);}g.drawString(""+towerName[0]+"塔",point[盤子數(shù)目-1].getX(),point[盤子數(shù)目-1].getY()+30);g.drawString(""+towerName[1]+"塔",point[2*盤子數(shù)目-1].getX(),point[盤子數(shù)目-1].getY()+30);g.drawString(""+towerName[2]+"塔",point[3*盤子數(shù)目-1].getX(),point[盤子數(shù)目-1].getY()+30);g.drawString("將全部盤子從"+towerName[0]+"塔搬運到"+towerName[1]+"塔或"+towerName[2]+"塔",point[盤子數(shù)目-1].getX(),point[盤子數(shù)目-1].getY()+80);}publicvoidmousePressed(MouseEvente){Disk盤子=null;Rectanglerect=null;if(e.getSource()==this)move=false;if(move==false)if(e.getSource()instanceofDisk){盤子=(Disk)e.getSource();startX=盤子.getBounds().x;startY=盤子.getBounds().y;rect=盤子.getBounds();for(inti=0;i<3*盤子數(shù)目;i++){intx=point[i].getX();inty=point[i].getY();if(rect.contains(x,y)){startI=i;break;}}}}publicvoidmouseMoved(MouseEvente){}publicvoidmouseDragged(MouseEvente){Diskdisk=null;if(e.getSource()instanceofDisk){disk=(Disk)e.getSource();move=true;e=SwingUtilities.convertMouseEvent(disk,e,this);}if(e.getSource()==this){if(move&&disk!=null){x=e.getX();y=e.getY();if(disk.get上方有盤()==false)disk.setLocation(x-disk.getWidth()/2,y-disk.getHeight()/2);}}}publicvoidmouseReleased(MouseEvente){Diskdisk=null;move=false;Rectanglerect=null;if(e.getSource()instanceofDisk){disk=(Disk)e.getSource();rect=disk.getBounds();e=SwingUtilities.convertMouseEvent(disk,e,this);}if(e.getSource()==this){booleancontainTowerPoint=false;intx=0,y=0;intendI=0;if(disk!=null){for(inti=0;i<3*盤子數(shù)目;i++){x=point[i].getX();y=point[i].getY();if(rect.contains(x,y)){containTowerPoint=true;endI=i;break;}}}if(disk!=null&&containTowerPoint){if(point[endI].是否有盤子()==true){disk.setLocation(startX,startY);}else{if(endI==盤子數(shù)目-1||endI==2*盤子數(shù)目-1||endI==3*盤子數(shù)目-1){point[endI].放置盤子(disk,this);if(startI!=盤子數(shù)目-1&&startI!=2*盤子數(shù)目-1&&startI!=3*盤子數(shù)目-1){(point[startI+1].獲取盤子()).set上方有盤(false);point[startI].set有盤子(false);}else{point[startI].set有盤子(false);}}else{if(point[endI+1].是否有盤子()==true){DisktempDisk=point[endI+1].獲取盤子();if((tempDisk.getNumber()-disk.getNumber())>=1){point[endI].放置盤子(disk,this);if(startI!=盤子數(shù)目-1&&startI!=2*盤子數(shù)目-1&&startI!=3*盤子數(shù)目-1){(point[startI+1].獲取盤子()).set上方有盤(false);point[startI].set有盤子(false);tempDisk.set上方有盤(true);}else{point[startI].set有盤子(false);tempDisk.set上方有盤(true);}}else{disk.setLocation(startX,startY);}}else{disk.setLocation(startX,startY);}}}}if(disk!=null&&!containTowerPoint){disk.setLocation(startX,startY);}}}publicvoidmouseEntered(MouseEvente){}publicvoidmouseExited(MouseEvente){}publicvoidmouseClicked(MouseEvente){}publicvoid自動演示搬運盤子(int盤子數(shù),charone,chartwo,charthree){if(盤子數(shù)==1){信息條.append(""+one+"到:"+three+"塔\n");Diskdisk=在塔中獲取最上面盤子(one);intstartI=在塔中獲取最上面盤子位置(one);intendI=在塔中獲取最上面盤子上方位置(three);if(disk!=null){point[endI].放置盤子(disk,this);point[startI].set有盤子(false);try{Thread.sleep(1000);}catch(Exceptionee){}}}else{自動演示搬運盤子(盤子數(shù)-1,one,three,two); 信息條.append(""+one+"到:"+three+"塔\n");Diskdisk=在塔中獲取最上面盤子(one);intstartI=在塔中獲取最上面盤子位置(one);intendI=在塔中獲取最上面盤子上方位置(three);if(disk!=null){point[endI].放置盤子(disk,this);point[startI].set有盤子(false);try{Thread.sleep(1000);}catch(Exceptionee){}} 自動演示搬運盤子(盤子數(shù)-1,two,one,three);}}publicDisk在塔中獲取最上面盤子(char塔名){Diskdisk=null;if(塔名==towerName[0]){for(inti=0;i<盤子數(shù)目;i++){if(point[i].是否有盤子()==true){disk=point[i].獲取盤子();break;}}}if(塔名==towerName[1]){for(inti=盤子數(shù)目;i<2*盤子數(shù)目;i++){if(point[i].是否有盤子()==true){disk=point[i].獲取盤子();break;}}}if(塔名==towerName[2]){for(inti=2*盤子數(shù)目;i<3*盤子數(shù)目;i++){if(point[i].是否有盤子()==true){disk=point[i].獲取盤子();break;}}}returndisk;}publicint在塔中獲取最上面盤子上方位置(char塔名){intposition=0;if(塔名==towerName[0]){inti=0;for(i=0;i<盤子數(shù)目;i++){if(point[i].是否有盤子()==true){position=Math.max(i-1,0);break;}}if(i==盤子數(shù)目){position=盤子數(shù)目-1;}}if(塔名==towerName[1]){inti=0;for(i=盤子數(shù)目;i<2*盤子數(shù)目;i++){if(point[i].是否有盤子()==true){position=Math.max(i-1,0);break;}}if(i==2*盤子數(shù)目){position=2*盤子數(shù)目-1;}}if(塔名==towerName[2]){inti=0;for(i=2*盤子數(shù)目;i<3*盤子數(shù)目;i++){if(point[i].是否有盤子()==true){position=Math.max(i-1,0);break;}}if(i==3*盤子數(shù)目){position=3*盤子數(shù)目-1;}}returnposition;}publicint在塔中獲取最上面盤子位置(char塔名){intposition=0;if(塔名==towerName[0]){inti=0;for(i=0;i<盤子數(shù)目;i++){if(point[i].是否有盤子()==true){position=i;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年三明市老年大學關于公開招聘教師的備考題庫完整參考答案詳解
- 2026年天津市濱海新區(qū)國有資本投資運營有限公司所屬企業(yè)面向社會公開招聘10人備考題庫及完整答案詳解一套
- 2025年衢州市屬國有企業(yè)冬季公開招聘備考題庫及完整答案詳解1套
- 2026年臺州市椒江區(qū)國有資本運營集團有限公司公開招聘工作人員的備考題庫完整答案詳解
- 2026年佛山市順德區(qū)北滘鎮(zhèn)馬龍小學臨聘教師招聘備考題庫及參考答案詳解1套
- 2026年中國汽車工業(yè)進出口有限公司招聘備考題庫完整答案詳解
- 2026年佛山市禪城區(qū)佳悅幼兒園招聘備考題庫及完整答案詳解1套
- 2026年南京市溧水區(qū)教育局所屬高中公開招聘教師備考題庫有答案詳解
- 2026年北京市平谷區(qū)政務服務中心綜合工作人員招聘備考題庫及1套完整答案詳解
- 2026年內蒙古交通集團有限公司社會化公開招聘備考題庫及完整答案詳解一套
- HG∕T 4561-2013 不飽和聚酯膩子
- (正式版)QC∕T 625-2024 汽車用涂鍍層和化學處理層
- 冀人版五年級科學上冊期末測試卷4份(含答案)
- QBT 2358-1998 塑料薄膜包裝袋 熱合強度試驗方法
- 菜肴造型與盛裝工藝
- 村務監(jiān)督業(yè)務培訓課件
- 食品包裝材料及容器
- 滅菌包裝袋內部資料課件
- 城鎮(zhèn)道路工程施工與質量驗收規(guī)范cjj
- YY0778-2018《射頻消融導管》標準變化解讀
- GB/T 8350-2003輸送鏈、附件和鏈輪
評論
0/150
提交評論