版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
拼圖游戲課程設(shè)計(jì)的目的本次課程設(shè)計(jì)的主要目的是設(shè)計(jì)一個(gè)拼圖游戲。在這個(gè)拼圖游戲中有自由選擇圖片的功能,可以根據(jù)自己的興趣選擇喜歡的圖片進(jìn)行游戲,為了減小難度,在游戲中參加了數(shù)字提示功能,在游戲界面中,左半局部是游戲區(qū)域,右半局部那么是原圖預(yù)覽局部,游戲開(kāi)始時(shí),系統(tǒng)會(huì)隨機(jī)分配一塊缺失,并將圖片順序打亂,用戶可以根據(jù)原始圖片進(jìn)行移動(dòng)復(fù)原過(guò)程。在游戲中會(huì)進(jìn)行步數(shù)和時(shí)間的統(tǒng)計(jì),以供玩家進(jìn)行比照,本游戲完全通過(guò)鼠標(biāo)來(lái)操作,簡(jiǎn)單上手。2.設(shè)計(jì)方案論證2.1設(shè)計(jì)思路2.1.1功能本次課程設(shè)計(jì)主要是用Java語(yǔ)言編寫程序?qū)崿F(xiàn)一個(gè)拼圖游戲。該拼圖游戲系統(tǒng)共包括3個(gè)java源文件和一個(gè)圖片文件夾。這是個(gè)功能比擬齊全的拼圖游戲,實(shí)現(xiàn)的是將圖片分解,取出最右下角的圖片,然后將剩余圖片隨即打亂,最關(guān)鍵的不用自己手動(dòng)切割圖片,再進(jìn)行加載。而是應(yīng)用類方法自動(dòng)進(jìn)行圖片的加載,方便了用戶的使用。該拼圖游戲結(jié)合了許多元素,可以圖片切割,同時(shí)還有游戲時(shí)間和步數(shù)的記錄。在拼圖時(shí)首先把圖片添加到文件夾“java編程〞的目錄下,程序會(huì)自動(dòng)獲取該目錄下的所有圖片文件,并加載到游戲中,進(jìn)行切割后,顯示在拼圖按鈕上。拼圖結(jié)束時(shí)可以顯示游戲成績(jī)和記錄的存檔。開(kāi)發(fā)環(huán)境本次設(shè)計(jì)的開(kāi)發(fā)運(yùn)行環(huán)境是:JCreater2.2設(shè)計(jì)方法在設(shè)計(jì)拼圖游戲時(shí),需要編寫3個(gè)Java源文件:MyMainFrame.java、MyCanvas.java、Cell.java。MyMainFrame.java主類該類創(chuàng)立拼圖游戲的主窗口,該類含有main方法,是程序的入口,該類是JFrame類的子類,定義了各個(gè)組件的動(dòng)作并為窗口設(shè)置圖標(biāo),MyMainFrame類的成員變量中有8種重要的變量及方法,choicePicL、picName、jcbo1、name、stepInfor、timeInfor、situation、panel1。MyCanvas.java該類是JPanel類的子類,實(shí)現(xiàn)了初始化游戲界面,創(chuàng)立并添加組件,盛放游戲信息的面板內(nèi)容,聲明6個(gè)靜態(tài)方法,serialVersionUID、hasAddActionListener、Cell、cellNull、pictureID、stepNum。Cell.java 該類是JButton類的子類,加載打亂的圖塊進(jìn)行初始化游戲,負(fù)責(zé)圖快的移動(dòng)。在本程序中各個(gè)類的關(guān)系如圖1所示。MyMainFrameMyMainFrameCellMyCanvas圖1功能模塊圖2.3程序流程圖開(kāi)始開(kāi)始初始化游戲界面選擇圖片加載圖片移動(dòng)圖片拼圖正確?結(jié)束YN圖2程序流程圖2.4類、方法、屬性說(shuō)明2.4.1成員變量表1MyMainFrame成員變量表序號(hào)名稱變量類型功能1choicePicLJLabel確定選擇的圖片2picNameString確定選擇的圖片3jcbo1JComboBox確定選擇的圖片4nameJTextField圖片名稱5stepInforJTextField玩家已走步數(shù)6timeInforJTextField時(shí)間7situationJTextField圖片載入8startJRadioButton開(kāi)始按鈕9addPicNumJRadioButton數(shù)字提示10clearPicNumJRadioButton去除提示方法表2MyMainFrame方法表序號(hào)名稱功能備注1MyMainFrame()完成窗口的初始化構(gòu)造方法2actionPerformed(ActionEvente)游戲完成圖接口方法3itemStateChanged(ItemEventarg0)下拉列表項(xiàng)接口方法4paintComponent(Graphicsg)重繪容器組件里的所有組件接口方法5mouseClicked(MouseEventarg0)單擊鼠標(biāo)發(fā)生事件接口方法6mouseEntered(MouseEventarg0)鼠標(biāo)進(jìn)入指定區(qū)域發(fā)生事件接口方法7ouseExited(MouseEventarg0)鼠標(biāo)離開(kāi)指定區(qū)域發(fā)生事件接口方法8mousePressed(MouseEventarg0)按下鼠標(biāo)時(shí)發(fā)生事件接口方法9mouseReleased(MouseEventarg0)松開(kāi)鼠標(biāo)時(shí)發(fā)生事件接口方法10Main()程序運(yùn)行的人口方法入口方法MyCanvas.java類〔1〕成員變量表3MyCanvas成員變量表序號(hào)名稱變量類型備注1pictureIDint當(dāng)前選擇圖片代號(hào)2stepNumInt游戲已走步數(shù)方法表4MyCanvas方法表序號(hào)名稱功能備注1reLoadPictrue1()重新加載圖片除去數(shù)字提示2reLoadPictrue2()重新加載圖片除去數(shù)字提示3isFinish()檢查拼圖判斷是否拼成4Start()重新排列對(duì)方格且將順序打亂5mouseClicked(MouseEventarg0)單擊鼠標(biāo)發(fā)生事件接口方法6mouseEntered(MouseEventarg0)鼠標(biāo)進(jìn)入指定區(qū)域發(fā)生事件接口方法7mouseExited(MouseEventarg0)鼠標(biāo)離開(kāi)指定區(qū)域發(fā)生事件接口方法8mousePressed(MouseEventarg0)按下鼠標(biāo)時(shí)發(fā)生事件接口方法9mouseReleased(MouseEventarg0松開(kāi)鼠標(biāo)時(shí)發(fā)生事件接口方法Cell.java類〔1〕成員變量表5Cell方法表序號(hào)名稱變量類型備注1serialVersionUIDfinal值是1L〔2〕方法表6Cell方法表序號(hào)名稱功能1Cell(Iconicon)規(guī)定拼圖小塊大小2Cell(Stringn,Iconicon)實(shí)際為ICON3move(Stringdirection,intsleep)實(shí)現(xiàn)拼圖小塊的移動(dòng)3設(shè)計(jì)結(jié)果與分析將3個(gè)Java源文件:MyMainFrame.java、MyCanvas.java、Cell.java,以及所需要的名為imaage的文件夾的圖像文件保存到E盤下的同一目錄“java編程〞文件夾中。分別編譯這3個(gè)Java源文件,或運(yùn)行“javac*.java〞命令,編譯全部的源文件,然后運(yùn)行主類,即運(yùn)行MyMainFrame.java類。通過(guò)運(yùn)行結(jié)果圖可以看到在界面上方有一個(gè)按鈕區(qū),其中有數(shù)字提示,對(duì)于初玩者可以單擊一下列圖塊上就會(huì)出現(xiàn)數(shù)字提示,想去掉提示單擊去除提示即可,image是個(gè)下拉框,根據(jù)自己的興趣愛(ài)好選擇自己喜歡的拼圖進(jìn)行游戲,單擊start開(kāi)始游戲。在界面下方有一行游戲狀態(tài)欄,顯示了圖片名稱,步數(shù),時(shí)間,以及狀態(tài),運(yùn)行結(jié)果圖3所示。圖3游戲初始界面單擊start按鈕開(kāi)始游戲,界面自動(dòng)加載并切割圖片,玩家此時(shí)就可以通過(guò)鼠標(biāo)來(lái)完成游戲了,單擊空白區(qū)域旁邊的圖快就會(huì)移動(dòng),移動(dòng)方向是向著空缺塊移動(dòng),也就是說(shuō)孔雀塊四周都是可移動(dòng)的塊,而不是緊鄰空缺塊的圖快那么不能移動(dòng),結(jié)果如圖4所示。圖4開(kāi)始后的界面當(dāng)玩家想有提示信息時(shí)可單擊數(shù)字提示,單擊后會(huì)在圖塊上出現(xiàn)帶有順序的數(shù)字,玩家可以通過(guò)數(shù)字更加容易的完成拼圖游戲,如圖5所示。如果不想顯示數(shù)字提示那么可單擊去除提示,結(jié)果那么如同上圖4所示。圖5數(shù)字提示界面圖在游戲中,玩家每移動(dòng)一塊圖快,狀態(tài)欄中的步數(shù)就會(huì)自動(dòng)加1,并在游戲狀態(tài)中顯示出來(lái),游戲完成時(shí)會(huì)彈出一個(gè)對(duì)話框,提示玩家完成拼圖游戲并顯示所用步數(shù),完成游戲結(jié)果圖如圖6所示。圖6完成游戲?qū)υ捒蛲婕壹僭O(shè)想換一個(gè)圖片進(jìn)行游戲,那么可通過(guò)image下拉框?qū)崿F(xiàn),玩家可以根據(jù)自己的興趣愛(ài)好進(jìn)行選擇,如圖7所示圖7image下拉框例如可以選擇下拉框中的唯美,運(yùn)行界面那么如圖8所示圖8唯美拼圖界面4.設(shè)計(jì)體會(huì)通過(guò)一周的JAVA課程設(shè)計(jì),是我對(duì)JAVA語(yǔ)言有個(gè)更深的一層理解,這一學(xué)期的學(xué)習(xí)只是為我們引導(dǎo)了一個(gè)學(xué)習(xí)的方向,更深入的知識(shí)還需要我們自己去學(xué)習(xí),而本次課程設(shè)計(jì)才讓我體會(huì)到學(xué)習(xí)JAVA語(yǔ)言的困難和解決困難后的樂(lè)趣,開(kāi)始對(duì)課程設(shè)計(jì)毫無(wú)頭緒,題目不知道定什么,本人對(duì)游戲比擬感興趣,最后在坦克大戰(zhàn)、俄羅斯方塊、象棋和拼圖游戲中選擇了拼圖游戲,個(gè)人覺(jué)得拼圖游戲比擬新穎,而且可以上傳好看的圖片,在枯燥的編程過(guò)程中增加了趣味性,使編程不再那么乏味,在本次拼圖游戲中,我設(shè)計(jì)了數(shù)字提示功能,提高了游戲的友好性。在程序運(yùn)行時(shí)我遇到了相當(dāng)大的困難,由于是三個(gè)源文件,還有一個(gè)image的文件夾,最初忘記應(yīng)該把文件夾放在E盤下而費(fèi)了好大周折,改正后,又忘記image文件夾應(yīng)該放到源文件上級(jí)目錄中,又折騰很久,最后在詢問(wèn)同學(xué)后終于解決了這個(gè)問(wèn)題,成功運(yùn)行出來(lái)了,當(dāng)時(shí)心中的喜悅沒(méi)人能夠理解,總之課程設(shè)計(jì)在設(shè)計(jì)完成以后才會(huì)體驗(yàn)到快樂(lè),并且鍛煉了自己的動(dòng)手和自學(xué)能力。5.參考文獻(xiàn)[1]陳國(guó)君,陳磊,劉洋.Java2程序設(shè)計(jì)根底[M].北京:清華大學(xué)出版社,2007.11:221-286[2]朱站立,沈偉.Java程序設(shè)計(jì)實(shí)用教程[M].北京:電子工業(yè)出版社,2006.10:134-187[3]朱福喜,尹為民,余振坤等.Java語(yǔ)言與面向?qū)ο蟪绦蛟O(shè)計(jì)[M].武漢:武漢大學(xué)出版社,2006.1:97-128[4]張思民,梁維娜.Java程序設(shè)計(jì)實(shí)踐教程[M].北京:清華大學(xué)出版社,2006.8:24-686.附錄〔1〕//MyMainFrame類importjava.awt.BorderLayout;importjava.awt.Color;importjava.awt.FlowLayout;importjava.awt.Graphics;importjava.awt.GridLayout;importjava.awt.Image;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.awt.event.ItemEvent;importjava.awt.event.ItemListener;importjava.awt.event.MouseEvent;importjava.awt.event.MouseListener;importjavax.swing.ButtonGroup;importjavax.swing.ImageIcon;importjavax.swing.JButton;importjavax.swing.JComboBox;importjavax.swing.JFrame;importjavax.swing.JLabel;importjavax.swing.JPanel;importjavax.swing.JRadioButton;importjavax.swing.JTextField;importjavax.swing.border.TitledBorder;publicclassMyMainFrameextendsJFrameimplementsMouseListener{ /** * */ privatestaticfinallongserialVersionUID=1L; publicstaticMyCanvasmyCanvas; //選擇圖片復(fù)選框 privateJLabelchoicePicL=newJLabel("Image:"); privateString[]picName={"鮮橙","小企鵝","小貓","天使","SARAEVANS","唯一","唯美","小女孩兒","海報(bào)","雪人兒","傾聽(tīng)","范冰冰"};; privateJComboBoxjcbo1=newJComboBox(picName); JButtonstart; //盛放游戲信息的面板內(nèi)容,〔Framesouth〕 privateJTextFieldname=newJTextField("圖片名稱:picture1"); publicstaticJTextFieldstepInfor=newJTextField("步數(shù):0"); privateJTextFieldtimeInfor=newJTextField("時(shí)間:00:00:00"); privateJTextFieldsituation=newJTextField("狀態(tài):圖片已載入"); //數(shù)字提示單項(xiàng)選擇按鈕 publicJRadioButtonaddPicNum; publicJRadioButtonclearPicNum; publicMyMainFrame(){ myCanvas=newMyCanvas(); this.setTitle("大拼圖1"); this.setLocation(300,200); this.setSize(1000,770); this.setResizable(false); this.setDefaultCloseOperation(3); //放置按鈕面板〔Framenorth〕 JPanelpanel1=newJPanel(); FlowLayoutflowLayout=newFlowLayout(); flowLayout.setAlignment(FlowLayout.LEFT); panel1.setLayout(flowLayout); start=newJButton("start"); addPicNum=newJRadioButton("數(shù)字提示",false); clearPicNum=newJRadioButton("去除提示",true); ButtonGroupaddNumGroup=newButtonGroup(); addNumGroup.add(addPicNum); addNumGroup.add(clearPicNum); panel1.setBackground(Color.pink); start.setBackground(Color.pink); addPicNum.setBackground(Color.pink); clearPicNum.setBackground(Color.pink); panel1.add(addPicNum); panel1.add(clearPicNum); panel1.add(choicePicL); panel1.add(jcbo1); panel1.add(start); panel1.setBorder(newTitledBorder("按鈕區(qū)")); this.setLayout(newBorderLayout()); this.add(panel1,BorderLayout.NORTH); //盛放游戲信息的面板(Framesouth) JPanelpanel2=newJPanel(); name.setEditable(false); stepInfor.setEditable(false); timeInfor.setEditable(false); situation.setEditable(false); panel2.setLayout(newGridLayout(1,4)); panel2.add(name); panel2.add(stepInfor); panel2.add(timeInfor); panel2.add(situation); //盛放原尺寸預(yù)覽圖面板 finalpreviewPanel2panel4=newpreviewPanel2(); panel2.setBorder(newTitledBorder("游戲狀態(tài)")); myCanvas.setBorder(newTitledBorder("拼圖區(qū)")); panel4.setBorder(newTitledBorder("原圖預(yù)覽")); //盛放拼圖和panel6的面板 JPanelpanel7=newJPanel(); panel7.setLayout(newGridLayout(1,2)); panel7.add(myCanvas,BorderLayout.WEST); panel7.add(panel4,BorderLayout.EAST); this.setLayout(newBorderLayout()); this.add(panel1,BorderLayout.NORTH); this.add(panel7,BorderLayout.CENTER); this.add(panel2,BorderLayout.SOUTH); this.setVisible(true); start.addActionListener(newActionListener(){ publicvoidactionPerformed(ActionEvente){ //TODOAuto-generatedmethodstub myCanvas.Start(); MyCanvas.stepNum=0; situation.setText("狀態(tài):游戲進(jìn)行中。"); stepInfor.setText("步數(shù):"+MyCanvas.stepNum); } }); addPicNum.addActionListener(newActionListener(){ publicvoidactionPerformed(ActionEvente){ myCanvas.reLoadPictrue2(); } }); clearPicNum.addActionListener(newActionListener(){ publicvoidactionPerformed(ActionEvente){ myCanvas.reLoadPictrue1(); } }); jcbo1.addItemListener(newItemListener(){ publicvoiditemStateChanged(ItemEventarg0){ //TODOAuto-generatedmethodstub MyCanvas.pictureID=jcbo1.getSelectedIndex()+1; myCanvas.reLoadPictrue1(); MyCanvas.stepNum=0; stepInfor.setText("步數(shù):"+MyCanvas.stepNum); panel4.repaint(); situation.setText("狀態(tài):圖片已載入。"); name.setText("圖片名稱:"+jcbo1.getSelectedItem()); } }); }publicstaticvoidmain(String[]args){ //TODO自動(dòng)生成方法存根 MyMainFramepintu=newMyMainFrame(); pintu.setVisible(true); }classpreviewPanel1extendsJPanel{ /** * */ privatestaticfinallongserialVersionUID=1L; publicpreviewPanel1(){ } protectedvoidpaintComponent(Graphicsg){ super.paintComponents(g); ImageIconpreview=newImageIcon("E:/java編程/image/"+MyCanvas.pictureID+".jpg"); Imageviewer=preview.getImage(); g.drawImage(viewer,0,0,200,100,this); }}classpreviewPanel2extendsJPanel{ /** * */ privatestaticfinallongserialVersionUID=1L; publicpreviewPanel2(){ } protectedvoidpaintComponent(Graphicsg){ super.paintComponents(g); ImageIconpreview=newImageIcon("E:/java編程/imaage/"+MyCanvas.pictureID+".jpg"); Imageviewer=preview.getImage(); g.drawImage(viewer,20,20,450,600,this); }}publicvoidmouseClicked(MouseEventarg0){ //TODOAuto-generatedmethodstub}publicvoidmouseEntered(MouseEventarg0){ //TODOAuto-generatedmethodstub}publicvoidmouseExited(MouseEventarg0){ //TODOAuto-generatedmethodstub}publicvoidmousePressed(MouseEventarg0){ //TODOAuto-generatedmethodstub}publicvoidmouseReleased(MouseEventarg0){ //TODOAuto-generatedmethodstub}}〔2〕//MyCanvas類importjava.awt.Graphics;importjava.awt.Image;importjava.awt.Rectangle;importjava.awt.event.MouseEvent;importjava.awt.event.MouseListener;importjavax.swing.Icon;importjavax.swing.ImageIcon;importjavax.swing.JOptionPane;importjavax.swing.JPanel;publicclassMyCanvasextendsJPanelimplementsMouseListener{ /** * */ privatestaticfinallongserialVersionUID=1L; publicstaticbooleanhasAddActionListener=false;//設(shè)置方格的動(dòng)作監(jiān)聽(tīng)器的標(biāo)志位,TRUE為已經(jīng)添加上動(dòng)作事件,F(xiàn)ALSE是尚未添加動(dòng)作事件 publicstaticCellcell[];//定義方格 publicstaticRectanglecellNull;//定義空方格區(qū)域 publicstaticintpictureID=1;//當(dāng)前選擇的圖片代號(hào) publicstaticintstepNum=0; publicMyCanvas(){ this.setVisible(true); this.setLayout(null); cellNull=newRectangle(320,470,150,150);//空方格區(qū)域在第三行每三列 cell=newCell[12]; Iconicon; //為9個(gè)方格加載圖片,并初使化坐標(biāo),形成三行三列 for(inti=0;i<4;i++){ for(intj=0;j<3;j++){ icon=newImageIcon("E:/java編程/imaage/"+pictureID+"_"+(i*3+j+1)+".jpg"); cell[i*3+j]=newCell(icon); cell[i*3+j].setLocation(j*150+20,i*150+20); this.add(cell[i*3+j]); } } //移除最后一個(gè)多余的方格 this.remove(cell[11]); } //中選擇其它圖形進(jìn)行拼圖時(shí),需重新加載新圖片,除去數(shù)字提示 publicvoidreLoadPictrue1(){ Iconicon; for(inti=0;i<4;i++){ for(intj=0;j<3;j++){ icon=newImageIcon("E:/java編程/imaage/"+pictureID+"_"+(i*3+j+1)+".jpg"); cell[i*3+j].setText(""); cell[i*3+j].setIcon(icon); } } } //中選擇其它圖形進(jìn)行拼圖時(shí),需重新加載新圖片,添加數(shù)字提示 publicvoidreLoadPictrue2(){ Iconicon; for(inti=0;i<4;i++){ for(intj=0;j<3;j++){ icon=newImageIcon("E:/java編程/imaage/"+pictureID+"_"+(i*3+j+1)+".jpg"); cell[i*3+j].setText(""+(i*3+j+1)); cell[i*3+j].setHorizontalTextPosition(getX()/2); cell[i*3+j].setVerticalTextPosition(getY()/2); cell[i*3+j].setIcon(icon); } } } //根據(jù)坐標(biāo)判斷是否拼合成功 publicbooleanisFinish(){ for(inti=0;i<11;i++){ intx=cell[i].getBounds().x; inty=cell[i].getBounds().y; if((y-20)/150*3+(x-20)/150!=i) returnfalse; } returntrue; } //對(duì)方格進(jìn)行重新排列,打亂順序 publicvoidStart(){ while(cell[0].getBounds().x<=170&&cell[0].getBounds().y<=170){//當(dāng)?shù)谝粋€(gè)方格距左上角較近時(shí) intx=cellNull.getBounds().x; inty=cellNull.getBounds().y; intdirection=(int)(Math.random()*4);//產(chǎn)生0-4,對(duì)應(yīng)空方格的上下左右移動(dòng) if(direction==0){//空方格左移動(dòng),與左側(cè)方格互換位置,左側(cè)方格右移動(dòng) x-=150; if(test(x,y)){ for(intj=0;j<11;j++){ if((cell[j].getBounds().x==x)&&(cell[j].getBounds().y==y)){//依次尋找左側(cè)的按鈕 cell[j].move("RIGHT",150); cellNull.setLocation(x,y); break;//找到后跳出for循環(huán) } } } }elseif(direction==1){//RIGHT x+=150; if(test(x,y)){ for(intj=0;j<11;j++){ if((cell[j].getBounds().x==x)&&(cell[j].getBounds().y==y)){ cell[j].move("LEFT",150); cellNull.setLocation(x,y); break; } } } }elseif(direction==2){//UP y-=150; if(test(x,y)){ for(intj=0;j<11;j++){ if((cell[j].getBounds().x==x)&&(cell[j].getBounds().y==y)){ cell[j].move("DOWN",150); cellNull.setLocation(x,y); break; } } } }else{//DOWN y+=150; if(test(x,y)){ for(intj=0;j<11;j++){ if((cell[j].getBounds().x==x)&&(cell[j].getBounds().y==y)){ cell[j].move("UP",150); cellNull.setLocation(x,y); break; } } } } } if(!hasAddActionListener)//如果尚未添加動(dòng)作事件,那么添加 for(inti=0;i<11;i++)//為第個(gè)方格添加動(dòng)作事件,這樣單擊按鈕就能移動(dòng)了 cell[i].addMouseListener(this); hasAddActionListener=true; } privatebooleantest(intx,inty){ if((x>=20&&x<=320)||(y>=20&&y<=470)) returntrue; else returnfalse; } publicvoidmouseClicked(MouseEventarg0){ } publicvoidmouseEntered(MouseEventarg0){ } publicvoidmouseExited(MouseEventarg0) { } publicvoidmouseReleased(MouseEventarg0){ } //方格的鼠標(biāo)事件,因?yàn)橛玫搅薓yCanvas中的一些方法,因此沒(méi)有在Cell類中處理鼠標(biāo)事件 publicvoidmousePressed(MouseEventarg0){ Cellbutton=(Cell)arg0.getSource(); intx1=button.getBounds().x;//得到所單擊方格的坐標(biāo) inty1=button.getBounds().y; intx2=cellNull.getBounds().x;//得到空方格的坐標(biāo) inty2=cellNull.getBounds().y; if(x1==x2&&y1-y2==150)//進(jìn)行比擬,如果滿足條件那么進(jìn)行交換 { button.move("UP",150); stepNum++; MyMainFrame.st
溫馨提示
- 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ù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣告招標(biāo)合同三篇
- 公交車投放廣告合同
- 工業(yè)裝修合同支付條款
- 集體合同起草報(bào)告
- 影樓公司入股合同范例
- 施工封層合同范例
- 閣樓房合同范例
- 加盟競(jìng)業(yè)禁止合同范例
- 貸款購(gòu)買家具合同范例
- 承購(gòu)合同范例
- 山東省濟(jì)南市2023-2024學(xué)年高二上學(xué)期期末考試化學(xué)試題 附答案
- 中建群塔作業(yè)防碰撞專項(xiàng)施工方案
- 【MOOC】統(tǒng)計(jì)學(xué)-南京審計(jì)大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- DB22T 5133-2022 物業(yè)服務(wù)標(biāo)準(zhǔn)
- 2023年北京語(yǔ)言大學(xué)新編長(zhǎng)聘人員招聘筆試真題
- IEC 62368-1標(biāo)準(zhǔn)解讀-中文
- 2025全國(guó)注冊(cè)監(jiān)理工程師繼續(xù)教育題庫(kù)附答案
- 化工設(shè)施設(shè)備維護(hù)保養(yǎng)方案
- GB/T 31961-2024載貨汽車和客車輪輞規(guī)格系列
- 2024年全國(guó)甲卷《霜降夜》解讀
- AIAGVDAFMEA第五版詳解IATF16949-APQP-PPAP-質(zhì)量管理
評(píng)論
0/150
提交評(píng)論