java課程設(shè)計(jì)報(bào)告五子棋_第1頁(yè)
java課程設(shè)計(jì)報(bào)告五子棋_第2頁(yè)
java課程設(shè)計(jì)報(bào)告五子棋_第3頁(yè)
java課程設(shè)計(jì)報(bào)告五子棋_第4頁(yè)
java課程設(shè)計(jì)報(bào)告五子棋_第5頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

九江職業(yè)技術(shù)學(xué)院JAVA課程設(shè)計(jì)計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)專業(yè)專業(yè)代碼:590102《動(dòng)態(tài)網(wǎng)站基礎(chǔ)程序設(shè)計(jì)》課程設(shè)計(jì)班級(jí):網(wǎng)站1101班學(xué)號(hào):201127492011317020110394201148392011264620112647201136192011214420112925姓名:蘭輝程進(jìn)呈向子劍萬(wàn)晨劉開鑫劉燕平周瑩黃雙鳳徐玉書課題:?jiǎn)螜C(jī)版五子棋指導(dǎo)教師:胡志鋒答辯日期:TIME\@"yyyy'年'M'月'd'日'"2013年1月11日目錄一、任務(wù)描述 1二、任務(wù)分析 11、OOA分析 12、OOD分析 13、java源文件及其功能 34、ChessBoard類使用的方法及功能 3三、任務(wù)解決過(guò)程與方法 41、主窗體設(shè)計(jì) 52、棋子設(shè)計(jì) 73、棋盤對(duì)弈算法設(shè)計(jì) 8四、運(yùn)行結(jié)果 161、圖4.1 162、圖4.2 16五、總結(jié) 17任務(wù)描述設(shè)計(jì)一個(gè)18╳18圍棋棋盤由兩玩家交替進(jìn)行對(duì)戰(zhàn)并可以實(shí)現(xiàn)以下功能1.選擇落子的先后順序。2.重置棋盤。3.刷新重新開始。4.退出提示并且規(guī)定退出者判為負(fù),但退出過(guò)程中要有提示。以防不小心點(diǎn)錯(cuò)了。最后判斷某一方是否為五子連珠。實(shí)現(xiàn)一個(gè)簡(jiǎn)單的多用戶五子棋的游戲程序,包括如下兩個(gè)界面:1.選擇對(duì)弈桌執(zhí)黑、執(zhí)白。2.在游戲界面,有開始,退出,悔棋。任務(wù)分析五子棋是一種深受大眾喜愛(ài)的棋牌類游戲,其規(guī)則簡(jiǎn)單,變化多端,非常富有趣味性。這里設(shè)計(jì)和實(shí)現(xiàn)了雙人對(duì)下的五子棋程序。根據(jù)當(dāng)前最后一個(gè)落子的情況來(lái)判斷來(lái)判斷勝負(fù),實(shí)際上需要從四個(gè)位置判斷,以該子為出發(fā)點(diǎn)的水平、豎直及兩條分別為45度角和135度角的線,目的是看在這四個(gè)方向是否最后落子的一個(gè)構(gòu)成連續(xù)五個(gè)的棋子,如果是的話,就表示該盤棋局已經(jīng)分出勝負(fù)。該游戲還提供悔棋的功能。OOA分析:?jiǎn)螜C(jī)版五子棋游戲的程序由chessboard.java、point.java和startchessjframe.java三個(gè)文件組成。Chessboard.java由蘭輝、向子劍、程進(jìn)呈完成。Chessboard.java包含名為ChessBoard的public類,其重要功能是繪制棋盤、棋子,并提供判斷輸贏的方法。Point.java由徐玉書完成。Point.java包含名為point的public類。其主要功能定義棋子的顏色,獲棋子的索引值。StartChessJFrame.java由萬(wàn)晨完成。StartChessJFrame.java包含名為StartChessJFrame的public類,主要用來(lái)顯示主窗體界面。包含工具臺(tái)面板,按鈕的菜單欄,“系統(tǒng)”菜單欄。“重新開始”“悔棋”“退出”菜單項(xiàng),設(shè)置界面關(guān)閉事件。劉燕平、黃雙鳳負(fù)責(zé)頁(yè)面的運(yùn)行及調(diào)試。周瑩、劉開鑫負(fù)責(zé)文件的整理和網(wǎng)上查找資料。OOD:Point類圖:圖1.1Chessboard類圖: StartchessJFrame類圖:StartchessJFrame類圖:圖1.2圖1.3Point類、Chessboard類和StartchessJFrame之間的類關(guān)系:圖1.4java源文件及其功能id文件名主要功能備注1ChessBoard本程序的主函數(shù)初始化棋盤2Point棋子設(shè)計(jì)函數(shù)棋子的定位以及顏色3StartChessJFrame五子棋主框架的構(gòu)造程序的框架圖1.5ChessBoard類的屬性及類型成員變量描述變量類型名稱對(duì)戰(zhàn)面板ChessBoardchessboard工具條面板JPaneltoolbar重新開始JButtonstartButton悔棋JButtonbackButton退出JButtoneximButton菜單欄JMenuBarmenuBar系統(tǒng)菜單JMeusysMenu圖1.6ChessBoard類使用的方法及功能方法名功能備注ChessBoard()初始化棋盤設(shè)置棋盤顏色,Voidpaint(Graphicsg)對(duì)棋子等圖像進(jìn)行初始化設(shè)置棋子大小,顏色等Publicvoid鼠標(biāo)的實(shí)踐監(jiān)聽單擊實(shí)踐mousePressed(MouseEvente)publicvoidpaint(Graphicsg)畫出圖像控制圖像大小范圍publicvoidmousePressed(MouseEvente)處理按下鼠標(biāo)的事件選中下棋的位置publicvoidmouseReleased(MouseEvente)處理鼠標(biāo)離開的事件本步下棋結(jié)束publicvoidmouseExited(MouseEvente)處理鼠標(biāo)離開棋盤時(shí)鼠標(biāo)離開組件不實(shí)現(xiàn)任何事件publicvoidmouseClicked(MouseEvente)處理發(fā)生單擊的事件實(shí)現(xiàn)下棋以及重新開始游戲表1.7三、任務(wù)解決過(guò)程及方法一個(gè)單機(jī)版五子棋的主要設(shè)計(jì)點(diǎn)由以下三個(gè):五子棋主窗體設(shè)計(jì)。五子棋棋子設(shè)計(jì)。對(duì)弈算法相關(guān)問(wèn)題的設(shè)計(jì)。編寫一個(gè)StartchessJFrame類主要用來(lái)顯示主窗體界面,StartChessJFrame.java包含名為StartChessJFrame的public類,主要用來(lái)顯示主窗體界面。包含工具臺(tái)面板,按鈕的菜單欄,“系統(tǒng)”菜單欄?!爸匦麻_始”“悔棋”“退出”菜單項(xiàng),設(shè)置界面關(guān)閉事件。并編寫一個(gè)內(nèi)部MyItemListener類來(lái)監(jiān)聽按鈕和菜單項(xiàng)單擊事件。編寫Point類,包含棋子的x/y索引,、顏色,構(gòu)造函數(shù)的相應(yīng)的get方法。編寫ChessBoard類,設(shè)置棋盤背景顏色為粉紅色,然后再主窗體中創(chuàng)建Chessboard對(duì)象,并添加到主框架中。編寫paintComponent方法中繪制棋子數(shù)組,需要將索引轉(zhuǎn)換為坐標(biāo)。在ChessBoar中創(chuàng)建point[],然后在paintComponnet方法中繪制棋子數(shù)組。為ChessBoard實(shí)現(xiàn)監(jiān)聽器MouseListener,覆蓋相應(yīng)的抽象方法,在構(gòu)造方法中增加監(jiān)聽器。編寫mousePressed方法的內(nèi)容,預(yù)先定義isBlack表示下的是黑棋還是白棋,pointCount表示當(dāng)前棋子的個(gè)數(shù)。將在mousePressed中獲得坐標(biāo),轉(zhuǎn)換成索引,在創(chuàng)建point對(duì)象。添加到pointlist中。在重新繪制。添加相應(yīng)的判斷。不能畫在棋盤外。下過(guò)的地方不能再下。需要輔助方法findpoint。在添加勝利的判斷iswin,添加標(biāo)記變量。Gameover。在mousepressd方法的最前面調(diào)用加入gameover的判斷。在mousepressed方法的最后調(diào)用iswin,返回true則給出消息提示。Gameover設(shè)置為true。iswin方法的具體編寫,判斷水平,豎直以及兩條分別為45度和135度是否有梁旭的同色棋子。五子棋主窗體設(shè)計(jì)packageChessBoard;importjavax.swing.*;importjava.awt.event.*;importjava.awt.*;/**五子棋-主框架,程序啟動(dòng)類*/publicclassStartChessJFrameextendsJFrame{privateChessBoardchessBoard;//對(duì)戰(zhàn)面板privateJPaneltoolbar;//工具條面板privateJButtonstartButton;privateJButtonbackButton;privateJButtonexitButton;//“重新開始”按鈕,“悔棋”按鈕和“退出”按鈕/**主要實(shí)現(xiàn)菜單*/privateJMenuBarmenuBar;//菜單欄privateJMenusysMenu;//系統(tǒng)菜單privateJMenuItemstartMenuItem;privateJMenuItemexitMenuItem;privateJMenuItembackMenuItem;//“重新開始”,“退出”和“悔棋”菜單項(xiàng)publicStartChessJFrame(){setTitle("單機(jī)版五子棋");//設(shè)置標(biāo)題chessBoard=newChessBoard();//初始化面板對(duì)象//創(chuàng)建和添加面板menuBar=newJMenuBar();//初始化菜單欄sysMenu=newJMenu("菜單");//初始化菜單startMenuItem=newJMenuItem("重新開始");exitMenuItem=newJMenuItem("退出");backMenuItem=newJMenuItem("悔棋");//初始化菜單項(xiàng)sysMenu.add(startMenuItem);//將三個(gè)菜單項(xiàng)添加到菜單上sysMenu.add(backMenuItem);sysMenu.add(exitMenuItem);MyItemListenerlis=newMyItemListener();//初始化按鈕事件監(jiān)聽器內(nèi)部類this.startMenuItem.addActionListener(lis);//將那三個(gè)菜單項(xiàng)注冊(cè)到事件監(jiān)聽器上backMenuItem.addActionListener(lis);exitMenuItem.addActionListener(lis);menuBar.add(sysMenu);//將“系統(tǒng)”菜單添加到菜單欄上setJMenuBar(menuBar);//將menuBar設(shè)置為菜單欄toolbar=newJPanel();//工具面板欄實(shí)例化startButton=newJButton("重新開始");//三個(gè)按鈕初始化backButton=newJButton("悔棋");exitButton=newJButton("退出");toolbar.setLayout(newFlowLayout(FlowLayout.LEFT));//將工具面板按鈕用FlowLayout布局toolbar.add(startButton);//將三個(gè)按鈕添加到工具面板上toolbar.add(backButton);toolbar.add(exitButton);startButton.addActionListener(lis);//將三個(gè)按鈕注冊(cè)監(jiān)聽事件backButton.addActionListener(lis);exitButton.addActionListener(lis);add(toolbar,BorderLayout.SOUTH);//將工具面板布局到界面“南”方也就是下面add(chessBoard);//將面板對(duì)象添加到窗體上setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//設(shè)置界面關(guān)閉事件setSize(620,695);setResizable(false);//pack();//自適應(yīng)大小}//事件監(jiān)聽器內(nèi)部類privateclassMyItemListenerimplementsActionListener{publicvoidactionPerformed(ActionEvente){Objectobj=e.getSource();//取得事件源if(obj==StartChessJFrame.this.startMenuItem||obj==StartChessJFrame.this.startButton){//重新開始//JFiveFrame.this內(nèi)部類應(yīng)用外部System.out.println("重新開始...");chessBoard.restartGame();}elseif(obj==StartChessJFrame.this.exitMenuItem||obj==StartChessJFrame.this.exitButton){System.exit(0);//結(jié)束應(yīng)用程序}elseif(obj==StartChessJFrame.this.backMenuItem||obj==StartChessJFrame.this.backButton){//悔棋System.out.println("悔棋...");chessBoard.goback();}}}publicstaticvoidmain(String[]args){StartChessJFramef=newStartChessJFrame();//創(chuàng)建主框架f.setVisible(true);//顯示主框架}}五子棋的棋子設(shè)計(jì)。packageChessBoard;importjava.awt.Color;publicclassPoint{privateintx;//棋盤中的x索引privateinty;//棋盤中的y索引privateColorcolor;//顏色publicstaticfinalintDIAMETER=15;//直徑publicPoint(intx,inty,Colorcolor){this.x=x;this.y=y;this.color=color;}//拿到棋盤中的x索引publicintgetX(){returnx;}//拿到棋盤中的y索引publicintgetY(){returny;}//得到顏色publicColorgetColor(){returncolor;}}棋盤對(duì)弈算法設(shè)計(jì)。/**Tochangethistemplate,chooseTools|Templates*andopenthetemplateintheeditor.*/packageChessBoard;/****@authorAdministrator*/importjavax.swing.*;importjava.awt.*;importjava.awt.event.MouseEvent;importjava.awt.event.MouseListener;importjava.awt.event.MouseMotionListener;importjavax.swing.JPanel;/**五子棋-棋盤類*/publicclassChessBoardextendsJPanelimplementsMouseListener{publicstaticfinalintMARGIN=18;//邊距publicstaticfinalintGRID_SPAN=18;//網(wǎng)格間距publicstaticfinalintROWS=32;//棋盤行數(shù)publicstaticfinalintCOLS=32;//棋盤列數(shù)Point[]chessList=newPoint[(ROWS+1)*(COLS+1)];//初始每個(gè)數(shù)組元素為nullbooleanisBlack=true;//默認(rèn)開始時(shí)黑棋先下booleangameOver=false;//游戲是否結(jié)束intchessCount;//當(dāng)前棋盤的棋子個(gè)數(shù)intxIndex,yIndex;//當(dāng)前剛下的棋子的索引publicChessBoard(){setBackground(Color.ORANGE);//設(shè)置背景顏色為橘黃色addMouseListener(this);//添加監(jiān)視器addMouseMotionListener(newMouseMotionListener(){//匿名內(nèi)部類publicvoidmouseDragged(MouseEvente){}@OverridepublicvoidmouseMoved(MouseEvente){intx1=(e.getX()-MARGIN+GRID_SPAN/2)/GRID_SPAN;//將鼠標(biāo)單擊的坐標(biāo)位置轉(zhuǎn)換成網(wǎng)格索引inty1=(e.getY()-MARGIN+GRID_SPAN/2)/GRID_SPAN;//游戲已經(jīng)結(jié)束,不能下//落在棋盤外,不能下//x、y位置已經(jīng)有棋子存在,不能下if(x1<0||x1>ROWS||y1<0||y1>COLS||gameOver||findChess(x1,y1)){setCursor(newCursor(Cursor.DEFAULT_CURSOR));//設(shè)置成默認(rèn)形狀}else{setCursor(newCursor(Cursor.HAND_CURSOR));//設(shè)置成手型}}privatebooleanfindChessint(intx1,inty1)throwsUnsupportedOperationException{thrownewUnsupportedOperationException("Notyetimplemented");}});}//繪制@OverridepublicvoidpaintComponent(Graphicsg){super.paintComponent(g);//畫棋盤for(inti=0;i<=ROWS;i++){//畫橫線g.drawLine(MARGIN,MARGIN+i*GRID_SPAN,MARGIN+COLS*GRID_SPAN,MARGIN+i*GRID_SPAN);}for(inti=0;i<=COLS;i++){//畫直線g.drawLine(MARGIN+i*GRID_SPAN,MARGIN,MARGIN+i*GRID_SPAN,MARGIN+ROWS*GRID_SPAN);}//畫棋子}for(inti=0;i<chessCount;i++){intxPos=chessList[i].getX()*GRID_SPAN+MARGIN;//網(wǎng)格交叉點(diǎn)的x坐標(biāo)intyPos=chessList[i].getY()*GRID_SPAN+MARGIN;//網(wǎng)格交叉點(diǎn)的y坐標(biāo)g.setColor(chessList[i].getColor());//設(shè)置顏色g.fillOval(xPos-Point.DIAMETER/2,yPos-Point.DIAMETER/2,Point.DIAMETER,Point.DIAMETER);//標(biāo)記最后一個(gè)棋子的紅矩形框if(i==chessCount-1){//最后一個(gè)棋子g.setColor(Color.red);g.drawRect(xPos-Point.DIAMETER/2,yPos-Point.DIAMETER/2,Point.DIAMETER,Point.DIAMETER);}}}publicvoidmousePressed(MouseEvente){//游戲已經(jīng)結(jié)束,不能下if(gameOver){return;}StringcolorName=isBlack?"黑棋":"白棋";xIndex=(e.getX()-MARGIN+GRID_SPAN/2)/GRID_SPAN;//將鼠標(biāo)單擊的坐標(biāo)位置yIndex=(e.getY()-MARGIN+GRID_SPAN/2)/GRID_SPAN;//落在棋盤外if(xIndex<0||xIndex>ROWS||yIndex<0||yIndex>COLS){return;}//xy已經(jīng)有棋子在存在,不能下if(findChess(xIndex,yIndex)){return;}Pointch=newPoint(xIndex,yIndex,isBlack?Color.black:Color.white);chessList[chessCount++]=ch;repaint();//通知系統(tǒng)從新繪制if(isWin()){//給出勝利信息,不能再繼續(xù)下棋。Stringmsg=String.format("恭喜,%s贏了!",colorName);JOptionPane.showMessageDialog(this,msg);gameOver=true;}isBlack=!isBlack;}publicvoidmouseClicked(MouseEvente){}//鼠標(biāo)按鍵在組件上單擊(按下并釋放)時(shí)調(diào)用publicvoidmouseEntered(MouseEvente){}//鼠標(biāo)進(jìn)入到組件上時(shí)調(diào)用publicvoidmouseExited(MouseEvente){}//鼠標(biāo)離開組件時(shí)調(diào)用publicvoidmouseReleased(MouseEvente){}//鼠標(biāo)按鈕在組件上釋放時(shí)調(diào)用。//在棋子數(shù)組中查找是否有索引為xy的棋子存在privatebooleanfindChess(intx,inty){for(Pointc:chessList){if(c!=null&&c.getX()==x&&c.getY()==y){returntrue;}}returnfalse;}//判斷哪方贏privatebooleanisWin(){intcontinueCount=1;//連續(xù)棋子的個(gè)數(shù)//橫向向西尋找for(intx=xIndex-1;x>=0;x--){Colorc=isBlack?Color.black:Color.white;if(getChess(x,yIndex,c)!=null){continueCount++;}else{break;}}//橫向向東尋找for(intx=xIndex+1;x<=ROWS;x++){Colorc=isBlack?Color.black:Color.white;if(getChess(x,yIndex,c)!=null){continueCount++;}else{break;}}//判斷記錄數(shù)大于等于5.即表示此方取勝if(continueCount>=5){returntrue;}else{continueCount=1;}//繼續(xù)另一種情況的搜索:縱向//縱向向上尋找for(inty=yIndex-1;y>=0;y--){Colorc=isBlack?Color.black:Color.white;if(getChess(xIndex,y,c)!=null){continueCount++;}else{break;}}//縱向向下for(inty=yIndex+1;y<=ROWS;y++){Colorc=isBlack?Color.black:Color.white;if(getChess(xIndex,y,c)!=null){continueCount++;}else{break;}}if(continueCount>=5){returntrue;}else{continueCount=1;}//繼續(xù)另一種情況的搜索:斜向//東北尋找for(intx=xIndex+1,y=yIndex-1;y>=0&&x<=COLS;x++,y--){ Colorc=isBlack?Color.black:Color.white; if(getChess(x,y,c)!=null) { continueCount++; }else break;}//西南尋找for(intx=xIndex-1,y=yIndex+1;y<=ROWS&&x>=0;x--,y++){ Colorc=isBlack?Color.black:Color.white; if(getChess(x,y,c)!=null) { continueCount++; }else break;}if(continueCount>=5){returntrue;}elsecontinueCount=1;//繼續(xù)另一種情況的搜索:斜向//西北尋找for(intx=xIndex-1,y=yIndex-1;y>=0&&x>=0;x--,y--){ Colorc=isBlack?Color.black:Color.white; if(getChess(x,y,c)!=null) { continueCount++; }else break;}//西南尋找for(intx=xIndex+1,y=yIndex+1;y<=ROWS&&x<=COLS;x++,y++){ Colorc=isBlack?Color.black:Color.white; if(getChess(x,y,c)!=null) { continueCount++; }else break;}if(continueCount>=5){ returntrue;}else continueCount=1;returnfalse;}privatePointgetChess(intxIndex,intyIndex,Colorcolor){for(Pointc:chessList){if(c!=null&&c.getX()==xIndex&&c.getY()==yIndex&&c.getColor()==color){returnc;}}returnnull;}publicvoidrestartGame(){//清除棋子for(inti=0;i<chessList.length;i++){chessList[i]=null;}//恢復(fù)游戲相關(guān)的變量值isBlack=true;gameOver=false;//游戲結(jié)束chessCount=0;//當(dāng)前棋盤的棋子個(gè)數(shù)repaint();}//悔棋publicvoidgoback(){if(chessCount==0){return;}chessList[chessCount-1]=null;chessCount--;if(chessCount>0){xIndex=chessList[chessCount-1].getX();yIndex=chessList[chessCount-1].getY();}isBlack=!isBlack;repaint();}//矩形publicDimensiongetpreferredSize(){returnnewDimension(MARGIN*2+GRID_SPAN*COLS,MARGIN*2+GRID_SPAN*ROWS);}}四、運(yùn)行結(jié)果:圖4.1圖4.2五、總結(jié)蘭輝:在這次課程設(shè)計(jì)中,我和程進(jìn)程、向子劍主要負(fù)責(zé)ChessBoard.java對(duì)弈棋盤算法的編寫。利用算法需要實(shí)現(xiàn)幾個(gè)重要的功能。1、編寫ChessBoardextendsJPane1,通過(guò)定義構(gòu)造函數(shù),來(lái)設(shè)置背景顏色,在主框架中創(chuàng)建ChessBoard對(duì)象。添加到主窗體。2、繪制棋盤,定義邊距、行數(shù)、列數(shù)、網(wǎng)格寬度等常量。繪制棋子數(shù)組。利用在ChessBoard類中覆寫painComponent方法來(lái)實(shí)現(xiàn)。3、設(shè)置監(jiān)聽。利用ChessBoard類實(shí)現(xiàn)MouseListener接口。4、處理棋子。先定義一個(gè)MousePressed方法,預(yù)先定義isBlack表示下是黑棋還是白棋。Pointcount表示當(dāng)前棋子個(gè)數(shù)。添加判斷,不能畫在棋盤外,下過(guò)的地方不能下。5、判斷勝負(fù)。分析是從橫向、縱向、斜向判斷是否有5個(gè)同色棋子。先寫一個(gè)iswin方法、標(biāo)記為gameover變量。在mousepressed方法中調(diào)用gameover判斷。在mousepressed方法的最后調(diào)用iswin,返回true則給出消息提示。以上方法通過(guò)上網(wǎng),看課本,以及組員一起討論完成。并且查閱了java幫助文檔。通過(guò)這次課程設(shè)計(jì),五子棋程序可以運(yùn)行。需要在代碼中我們進(jìn)行嚴(yán)謹(jǐn)?shù)臉?gòu)思。這次課程設(shè)計(jì)我獲益匪淺。程進(jìn)呈:以前總結(jié)覺(jué)得學(xué)java,代碼看看就懂了,其實(shí)不然。例如:這次的課程設(shè)計(jì)遇到了鼠標(biāo)在棋盤上移動(dòng)點(diǎn)擊出現(xiàn)了棋子的問(wèn)題,2判斷黑白棋輸贏3、清除棋子4、悔棋問(wèn)題解決辦法:1、在ChessBoard繼承JPane以及實(shí)現(xiàn)接口MouseListener中定義好了棋盤的邊距、網(wǎng)格間距、行數(shù)、列數(shù)畫好之后,采用publicvoidmousePessed(MouseEvent){};來(lái)解決棋子存在不下和使用MouseEvent調(diào)用鼠標(biāo)事件發(fā)生的方法2、在出現(xiàn)棋子后采用privateBooleaniswin(){}方法中采用for循環(huán)和if語(yǔ)句來(lái)實(shí)現(xiàn)黑白棋輸贏。3、清除棋子采用publicvoidrestarGame(){}方法來(lái)實(shí)現(xiàn)棋子清除。4、悔棋采用publicvoidgoback(){};中

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論