⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 makechessmanual.java

📁 本文件包中包含了15个java课程设计。对java学习是很不错的。
💻 JAVA
字号:
/* * To change this template, choose Tools | Templates * and open the template in the editor. */package 中国象棋打谱系统;/** * * @author Administrator */import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.util.LinkedList;public class MakeChessManual extends JPanel implements ActionListener{  JTextArea text=null;  JScrollPane scroll=null;  ChessBoard board=null;  ChessPoint[][] point;  LinkedList 棋谱=null;  LinkedList 吃掉的棋子=null;      JButton buttonUndo;  int i=0;  public MakeChessManual(ChessBoard board,ChessPoint[][] point)     {   this.board=board;   this.point=point;   text=new JTextArea();   scroll=new JScrollPane(text);   棋谱=new LinkedList();   吃掉的棋子=new LinkedList();   buttonUndo=new JButton("悔棋");   buttonUndo.setFont(new Font("隶书",Font.PLAIN,18));   setLayout(new BorderLayout());   add(scroll,BorderLayout.CENTER);   add(buttonUndo,BorderLayout.SOUTH);   buttonUndo.addActionListener(this);  }  public char numberToLetter(int n)     {     char c='\0';    switch(n)     {       case 1 : c='A'; break;       case 2 : c='B'; break;       case 3 : c='C'; break;       case 4 : c='D'; break;       case 5 : c='E'; break;       case 6 : c='F'; break;       case 7 : c='G'; break;       case 8 : c='H'; break;       case 9 : c='I'; break;       case 10 : c='J'; break;     }     return c;  }  public void 记录棋谱(ChessPiece piece,int startI,int startJ,int endI,int endJ)  {      Point pStart=new Point(startI,startJ);     Point pEnd=new Point(endI,endJ);     MoveStep step=new MoveStep(pStart, pEnd);     棋谱.add(step);          String 棋子类别=piece.棋子类别();     String name=piece.getName();     String m="#"+棋子类别+name+": "+              startI+numberToLetter(startJ)+" 到 "+endI+numberToLetter(endJ);     text.append(m);     if(piece.棋子类别().equals(board.黑方颜色))        text.append("\n");  } public void 记录吃掉的棋子(Object object)  {     吃掉的棋子.add(object);  }   public LinkedList 获取棋谱()  {     return 棋谱;  } public void actionPerformed(ActionEvent e)  {    int position=text.getText().lastIndexOf("#");   if(position!=-1)     text.replaceRange("",position,text.getText().length());   if(棋谱.size()>0)     {      MoveStep lastStep=(MoveStep)棋谱.getLast();      棋谱.removeLast();      Object qizi=吃掉的棋子.getLast();      吃掉的棋子.removeLast();      String temp=qizi.toString();     if(temp.equals("没吃棋子"))      {        int startI=lastStep.pStart.x;        int startJ=lastStep.pStart.y;         int endI=lastStep.pEnd.x;        int endJ=lastStep.pEnd.y;         ChessPiece piece=point[endI][endJ].getPiece();                point[startI][startJ].setPiece(piece,board);        (point[endI][endJ]).set有棋子(false);         if(piece.棋子类别().equals(board.红方颜色))         {           board.红方走棋=true;           board. 黑方走棋=false;         }        if(piece.棋子类别().equals(board.黑方颜色))         {           board.黑方走棋=true;           board.红方走棋=false;         }       }     else       {         ChessPiece removedPiece=(ChessPiece)qizi;         int startI=lastStep.pStart.x;         int startJ=lastStep.pStart.y;          int endI=lastStep.pEnd.x;         int endJ=lastStep.pEnd.y;          ChessPiece piece=point[endI][endJ].getPiece();         point[startI][startJ].setPiece(piece,board);              point[endI][endJ].setPiece(removedPiece,board);           (point[endI][endJ]).set有棋子(true);         if(piece.棋子类别().equals(board.红方颜色))         {           board.红方走棋=true;           board. 黑方走棋=false;         }        if(piece.棋子类别().equals(board.黑方颜色))         {           board.黑方走棋=true;           board.红方走棋=false;         }      }    }  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -