freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)論文-基于vc的智能中國象棋系統(tǒng)的設計與實現(xiàn)-資料下載頁

2025-06-06 11:11本頁面
  

【正文】 return height。 } public String getName() { return name。 } public Color 獲取棋子顏色 () { return foreColor。 } public void set棋子類別 (String 類別 ) { 顏色類別 = 類別 。 } public String 棋子類別 () { return 顏色類別 。 } } 然后在棋盤類( ChessBoard)里定義棋盤的表示、棋子的類別、顏色以及棋子在棋盤上的位置表示: /*棋盤的表示 */ public void paintComponent(Graphics g) { (g)。 for(int j=1。j=y 軸長 。j++) { (point[1][j].x,point[1][j].y,point[x 軸長 ][j].x,point[x 軸長 ][j].y)。 } for(int i=1。i=x 軸長 。i++) { if(i!=1amp。amp。i!=x 軸長 ) { (point[i][1].x,point[i][1].y,point[i][y 軸長 5].x,point[i][y 軸長5].y)。 (point[i][y 軸長 4].x,point[i][y 軸長 4].y,point[i][y 軸長 ].x,point[i][y 軸長 ].y)。 } else { (point[i][1].x,point[i][1].y,point[i][y 軸長 ].x,point[i][y 軸長 ].y)。 } } (point[4][1].x,point[4][1].y,point[6][3].x,point[6][3].y)。 (point[6][1].x,point[6][1].y,point[4][3].x,point[4][3].y)。 (point[4][8].x,point[4][8].y,point[6][y 軸長 ].x,point[6][y 軸長 ].y)。 (point[4][y 軸長 ].x,point[4][y 軸長 ].y,point[6][8].x,point[6][8].y)。 for(int i=1。i=x 軸長 。i++) { (+i,i*unitWidth,unitHeight/2)。 } int j=1。 for(char c=39。A39。c=39。J39。c++) { (+c,unitWidth/4,j*unitHeight)。 j++。 } } /*棋子的類別 */ public String 紅方顏色 =紅色 ,黑方顏色 =黑色 。 ChessPiece 紅車 1,紅車 2,紅馬 1,紅馬 2,紅相 1,紅相 2,紅帥 ,紅士 1,紅士 2, 紅兵 1,紅兵 2,紅兵 3,紅兵 4,紅兵 5,紅炮 1,紅炮 2。 ChessPiece 黑車 1,黑車 2,黑馬 1,黑馬 2,黑將 ,黑士 1,黑士 2, 黑卒 1,黑卒 2,黑卒 3,黑卒 4,黑卒 5,黑象 1,黑象 2,黑炮 1,黑炮 2。 通過以上兩段本系統(tǒng)就實現(xiàn)了棋盤和棋子的定義,然后通過下面的方法實現(xiàn)棋子在棋盤上的表示: public ChessBoard(int w,int h,int r,int c) { setLayout(null)。 addMouseListener(this)。 addMouseMotionListener(this)。 Color bc=getBackground()。 unitWidth=w。 unitHeight=h。 x 軸長 =r。 y 軸長 =c。 ...... 紅車 1=new ChessPiece(車 ,bc,w4,h4,this)。 紅車 棋子類別 (紅方顏色 )。 紅車 2=new ChessPiece(車 ,bc,w4,h4,this)。 紅車 棋子類別 (紅方顏色 )。 ...... point[1][10].setPiece(紅車 1,this)。 point[2][10].setPiece(紅馬 1,this)。 ...... } 實現(xiàn)界面后,就 可以在此基礎上實現(xiàn)象棋系統(tǒng)的其它功能。 對弈功能的實現(xiàn) 對弈是用戶對象棋游戲最基本的需求,本系統(tǒng)的對弈功能包括人人對戰(zhàn)和人機對戰(zhàn)。人人對戰(zhàn)功能的實現(xiàn)其實就是一系列象棋規(guī)則的集中體現(xiàn),譬如“馬走日”、“相走田”、“炮打隔山”等。本系統(tǒng)通過對象棋規(guī)則的定義以及圖形化的棋子如何在棋盤中消失來實現(xiàn)人人對戰(zhàn)這一功能: public boolean movePieceRule(ChessPiece piece,int startI,int startJ,int endI,int endJ) { =piece。 ...... int minI=(startI,endI)。 int maxI=(startI,endI)。 ...... boolean 可否走棋 =false。 if(().equals(車 ))//車的走棋規(guī)則 { if(startI==endI) { int j=0。 for(j=minJ+1。j=maxJ1。j++) { if(point[startI][j].isPiece()) { 可否走棋 =false。 break。 } } if(j==maxJ) { 可否走棋 =true。 } } else if(startJ==endJ) { int i=0。 for(i=minI+1。i=maxI1。i++) { if(point[i][startJ].isPiece()) { 可否走棋 =false。 break。 } } if(i==maxI) { 可否走棋 =true。 } } else { 可否走棋 =false。 } } ...... } 如何監(jiān)視棋子在棋盤中移動和消失的實現(xiàn): public void mousePressed(MouseEvent e)//按下鼠標時發(fā)生事件的情況 {...... } public void mouseDragged(MouseEvent e)//拖動棋子移動時發(fā)生的事件 { ...... } public void mouseReleased(MouseEvent e)//釋放鼠標時發(fā)生的事件 { { (pieceRemoved) 。 if( ().equals(紅方顏色 )) { } if( ().equals(黑方顏色 )) { } (piece,startI,startJ,m,n) 。 (沒吃棋子 )。 } 系統(tǒng)的最終目的是要實現(xiàn)人機對戰(zhàn),人機對戰(zhàn)的核心是使電腦具有人工智能。本文通過 αβ剪枝算法使電腦生成有效的著法來實現(xiàn)人機對戰(zhàn)功能: public ListMotion generatePossibleMoves()//有效著法的生成 { ListMotion ret = new ArrayListMotion()。 for (int x = 0。 x 9。 x++) { for (int y = 0。 y 10。 y++) { int ChessMan = ChessBoard[x][y]。 if (ChessMan != 0) { if (!isRedGo amp。amp。 isRed(ChessMan)) { continue。 } if (isRedGo amp。amp。 !isRed(ChessMan)) { continue。 } switch (ChessMan) { case 7: if (isValidMove(x, y, x, y + 1)) { (new Motion(ChessMan, x, y, x, y + 1, 0))。 } if (isValidMove(x, y, x, y 1)) { } if (isValidMove(x, y,
點擊復制文檔內(nèi)容
畢業(yè)設計相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1