亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? demon.java

?? 中國象棋打譜軟件提供給用戶的一個能將對弈過程保存成文件 并可以重新演示對弈過 程 即復盤
?? JAVA
字號:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;

public class Demon extends JPanel  implements ActionListener,Runnable
{
   public JButton replay=null,next=null,auto=null,stop=null;
   LinkedList 棋譜=null;
   Thread 自動演示=null;
   int index=-1;
   ChessBoard board=null;
   JTextArea text;
   JTextField 時間間隔=null;
   int time=1000;
   String 演示過程="";
   JSplitPane splitH=null,splitV=null;
   public  Demon(ChessBoard board)
   {    
        this.board=board;
        replay=new JButton("重新演示");
        next=new JButton("下一步");
        auto=new JButton("自動演示");
        stop=new JButton("暫停演示");
        自動演示=new Thread(this);
        replay.addActionListener(this);
        next.addActionListener(this);
        auto.addActionListener(this);
        stop.addActionListener(this); 
        text=new JTextArea(); 
        時間間隔=new JTextField("1");
        setLayout(new BorderLayout());
        JScrollPane pane=new JScrollPane(text);
        JPanel p=new JPanel(new GridLayout(3,2));
        p.add(next);
        p.add(replay);
        p.add(auto);
        p.add(stop);
        p.add(new JLabel("時間間隔(秒)",SwingConstants.CENTER)) ;
        p.add(時間間隔);
        splitV=new JSplitPane(JSplitPane.VERTICAL_SPLIT,pane,p);
        splitH=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,board,splitV);
        splitV.setDividerSize(5);
        splitV.setDividerLocation(400);
        splitH.setDividerSize(5);
        splitH.setDividerLocation(460);
        add(splitH,BorderLayout.CENTER); 
        validate();
    }   
 public void set棋譜(LinkedList 棋譜)
   { 
    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 actionPerformed(ActionEvent e)
  {
    if(e.getSource()==next)
      {
         index++;
         if(index<棋譜.size())
           { 
              演示一步(index);
           }
         else
           {
             演示結束("棋譜演示完畢");
           } 
       }
     if(e.getSource()==replay)
       {
          board=new ChessBoard(45,45,9,10);
          splitH.remove(board);
          splitH.setDividerSize(5);
          splitH.setDividerLocation(460);
          splitH.setLeftComponent(board);
          splitH.validate();
          index=-1;
          text.setText(null);
       }
     if(e.getSource()==auto)
       {
           next.setEnabled(false);
           replay.setEnabled(false); 
           try
              {
                time=1000*Integer.parseInt(時間間隔.getText().trim());
              }
           catch(NumberFormatException ee)
              {
                time=1000;
              } 
 
           if(!(自動演示.isAlive()))          
             {
                自動演示=new Thread(this);
                board=new ChessBoard(45,45,9,10);
                splitH.remove(board);
                splitH.setDividerSize(5);
                splitH.setDividerLocation(460);
                splitH.setLeftComponent(board);
                splitH.validate();
                text.setText(null);
                自動演示.start();
             }
   
       }
     if(e.getSource()==stop)
       {
          if(e.getActionCommand().equals("暫停演示"))
               {
                 演示過程="暫停演示";
                 stop.setText("繼續演示");
                 stop.repaint();
               }
          if(e.getActionCommand().equals("繼續演示"))
               {
                 演示過程="繼續演示";
                 自動演示.interrupt();   
                 stop.setText("暫停演示");
                 stop.repaint();
               }
       }
  }
  public synchronized void run()
  {
    for(index=0;index<棋譜.size();index++)
       {
         try{
              Thread.sleep(time);
            }
         catch(InterruptedException e)
            {
            }  
         while(演示過程.equals("暫停演示"))
            {  
                 try{
                      wait();  
                    }
                  catch(InterruptedException e)
                    {
                      notifyAll();  
                    }  
            }
         演示一步(index);
       }
     if(index>=棋譜.size())
       {
         演示結束("棋譜演示完畢");
         next.setEnabled(true);
         replay.setEnabled(true);  
       } 
  }
  public void 演示一步(int index)
  {
     MoveStep step=(MoveStep)棋譜.get(index);
          Point pStart=step.pStart;
          Point pEnd  =step.pEnd;
          int startI  =pStart.x;
          int startJ  =pStart.y;
          int endI    =pEnd.x;
          int endJ    =pEnd.y;
          ChessPiece piece=(board.point)[startI][startJ].getPiece();
      if((board.point)[endI][endJ].isPiece()==true)
          {
            ChessPiece pieceRemoved=(board.point)[endI][endJ].getPiece();
            (board.point)[endI][endJ].reMovePiece(pieceRemoved,board);
            board.repaint();
            (board.point)[endI][endJ].setPiece(piece,board);
            (board.point)[startI][startJ].set有棋子(false);
            board.repaint();
          }
      else
          {
            (board.point)[endI][endJ].setPiece(piece,board);
            (board.point)[startI][startJ].set有棋子(false);
                  
          }
      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 演示結束(String message)
  {
    splitH.remove(board);
    splitH.setDividerSize(5);
    splitH.setDividerLocation(460);
    JLabel label=new JLabel(message);
    label.setFont(new Font("隸書",Font.BOLD,40));
    label.setForeground(Color.blue); 
    label.setHorizontalAlignment(SwingConstants.CENTER);
    splitH.setLeftComponent(label);
    splitH.validate();
  }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区在线视频| 亚洲在线视频一区| 91视频你懂的| 久久久亚洲精品石原莉奈| 欧美大胆一级视频| 丁香啪啪综合成人亚洲小说 | 亚洲女与黑人做爰| 亚洲国产高清aⅴ视频| 国产欧美日韩中文久久| 成人免费视频一区| 成人中文字幕电影| 午夜久久久久久久久久一区二区| 亚洲婷婷综合久久一本伊一区| 91成人免费电影| 韩国女主播成人在线| 国产一区二区三区日韩 | 精品久久久久久久一区二区蜜臀| 欧美日韩国产不卡| 国产精品一区在线| 有码一区二区三区| 午夜日韩在线电影| 中文字幕 久热精品 视频在线| 在线观看日韩毛片| 成人午夜伦理影院| 在线视频国内一区二区| 国产乱码一区二区三区| 国产成人日日夜夜| 在线一区二区视频| 欧美一区2区视频在线观看| 久久嫩草精品久久久久| 成人欧美一区二区三区视频网页| 亚洲一区二区三区自拍| 中文在线免费一区三区高中清不卡| 国产精品对白交换视频 | 免费在线视频一区| 激情丁香综合五月| 色噜噜久久综合| 日韩精品影音先锋| 欧美在线一二三| 26uuu色噜噜精品一区二区| 欧美二区三区的天堂| 国产日韩欧美高清在线| 亚洲不卡在线观看| 亚洲bt欧美bt精品| 不卡的av在线播放| 成人涩涩免费视频| 日韩一级高清毛片| 这里只有精品电影| 99久久国产综合色|国产精品| 国产综合色产在线精品| 色综合咪咪久久| 精品精品国产高清一毛片一天堂| 日韩精品一区二区三区中文精品| 91精品国产综合久久久久| 国产精品久久久久精k8| 韩国av一区二区三区四区| 欧美日韩在线综合| 欧美一区国产二区| 日韩免费观看高清完整版| 亚洲欧美日韩中文字幕一区二区三区 | 激情欧美日韩一区二区| 麻豆一区二区三| 欧美三级欧美一级| 亚洲婷婷综合久久一本伊一区| 亚洲另类在线视频| 高潮精品一区videoshd| 亚洲精品在线一区二区| 欧美激情综合五月色丁香小说| 日韩av一级电影| 久久99精品网久久| 日韩一级黄色片| 久久久亚洲欧洲日产国码αv| 午夜电影一区二区三区| 色久优优欧美色久优优| 欧美在线不卡视频| 亚洲欧美成aⅴ人在线观看| www.亚洲色图| 欧美老肥妇做.爰bbww| 亚洲欧美日韩一区二区 | 欧美成人a∨高清免费观看| 日韩中文字幕一区二区三区| 欧美午夜精品免费| 欧美肥妇bbw| 日本亚洲视频在线| 国产99精品视频| 色综合久久久久综合99| 亚洲人成精品久久久久久| 一区av在线播放| 欧美色网一区二区| 五月天一区二区| 日韩欧美国产一二三区| 国产精品九色蝌蚪自拍| 亚洲成人777| 91精品免费在线观看| 精品国产不卡一区二区三区| 久久亚洲私人国产精品va媚药| 日韩视频在线观看一区二区| 久久综合久久综合久久综合| 国产一区二区在线免费观看| 精品国产一区二区三区忘忧草 | 日韩激情中文字幕| 国产乱对白刺激视频不卡| 国产欧美日韩在线观看| 97精品久久久午夜一区二区三区| 亚洲综合色丁香婷婷六月图片| 国产一区中文字幕| 精品视频一区二区不卡| 爽爽淫人综合网网站| 日韩亚洲欧美高清| 成人免费视频网站在线观看| 欧美在线观看一区二区| 毛片av一区二区三区| 国产精品日韩精品欧美在线| 视频在线观看91| 国产亚洲精品7777| 美女视频黄免费的久久| 亚洲欧美在线aaa| 国产一区二区三区av电影 | 欧美日韩一级大片网址| 国产综合色视频| 日韩欧美一二三四区| 亚洲国产精品嫩草影院| 国产亚洲精久久久久久| 国内欧美视频一区二区| 欧美一级片在线观看| 亚洲一区二区三区四区在线| 精品国产乱码久久久久久浪潮| 午夜精品一区在线观看| 91免费国产在线观看| 老司机精品视频导航| 一区二区三区在线观看国产| 精品99久久久久久| 精品一区二区免费看| 日韩一级大片在线| 欧美性色黄大片| av在线一区二区三区| 国产精品视频免费| 精品免费国产一区二区三区四区| 色婷婷激情一区二区三区| 亚洲图片另类小说| 久久久精品国产免大香伊| 国产精品亚洲一区二区三区在线 | 欧美日韩五月天| 亚洲高清免费观看| 欧美精品亚洲二区| 免费视频最近日韩| 亚洲va欧美va人人爽午夜| 亚洲欧洲制服丝袜| 欧美日韩激情一区二区三区| av欧美精品.com| 亚洲色图一区二区| 色婷婷亚洲综合| a在线欧美一区| 亚洲人成人一区二区在线观看| 国产欧美日韩激情| 国产欧美一区二区精品性| 26uuu国产在线精品一区二区| 欧美一区永久视频免费观看| 欧美日韩精品欧美日韩精品一综合| 欧美在线一区二区| 欧美三级在线视频| 亚洲摸摸操操av| 亚洲日本在线视频观看| 亚洲另类春色校园小说| 91精品国产综合久久精品图片| 免费欧美在线视频| 久久成人久久爱| 国产露脸91国语对白| 成人理论电影网| 色综合久久中文字幕综合网| 色狠狠色噜噜噜综合网| 日韩成人一区二区三区在线观看| 26uuu色噜噜精品一区二区| 国产欧美日韩综合| 亚洲美女偷拍久久| 午夜精品久久久久久久99水蜜桃| 精品国产精品网麻豆系列| 国产三级久久久| 欧美日韩精品福利| 欧美精品一区视频| 国产精品剧情在线亚洲| 一区二区三区在线观看国产| 人人超碰91尤物精品国产| 国产精品久久久久久久久免费桃花 | 久久精品久久综合| 国产91精品一区二区麻豆网站| 亚洲一区在线免费观看| 久久精品亚洲精品国产欧美 | 欧美老年两性高潮| 久久久久99精品一区| 亚洲欧美区自拍先锋| 久久久99久久| 亚洲一区在线电影| 国产精品伊人色| 欧美日韩久久久久久| 91在线看国产| 精品国产自在久精品国产| 日韩理论片在线| 国产主播一区二区| 欧美三级电影在线看|