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

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

?? demon.java

?? 一個中國象棋程序的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一区二区三区免费野_久草精品视频
国产精品久久久久三级| 欧美一级黄色片| 国产精品18久久久久久久久久久久| 日本不卡在线视频| 亚洲视频 欧洲视频| 国产免费观看久久| 国产婷婷色一区二区三区| www国产成人| 国产日韩欧美精品综合| 国产欧美日韩精品在线| www激情久久| 国产精品美女久久久久久2018 | 亚洲欧美韩国综合色| 国产精品免费久久| 最近中文字幕一区二区三区| 亚洲精品老司机| 婷婷丁香久久五月婷婷| 日韩精品电影一区亚洲| 狠狠色丁香久久婷婷综| 丁香激情综合国产| 欧美在线不卡视频| 欧美电影免费观看高清完整版| 2020国产精品| 一区二区三区在线视频播放| 日韩高清国产一区在线| 精一区二区三区| 丁香亚洲综合激情啪啪综合| 国产精品自在欧美一区| 一本久道久久综合中文字幕| 色综合久久久网| 欧美日韩一级大片网址| 3atv一区二区三区| 精品国产亚洲在线| 亚洲午夜一区二区三区| 日本特黄久久久高潮| 久草热8精品视频在线观看| 国产一区在线观看麻豆| 国产成人精品免费网站| 91免费在线看| 5566中文字幕一区二区电影| 26uuu成人网一区二区三区| 欧美国产视频在线| 亚洲女同ⅹxx女同tv| 天天亚洲美女在线视频| 日日夜夜精品视频免费| av一二三不卡影片| 欧美色精品天天在线观看视频| 在线播放一区二区三区| 久久综合久久鬼色中文字| 国产精品白丝在线| 蜜桃精品视频在线观看| heyzo一本久久综合| 欧美日韩五月天| 国产欧美日韩激情| 天天操天天干天天综合网| 国产一区二区免费看| 日本道精品一区二区三区 | 精品一二三四在线| 成人av高清在线| 3atv在线一区二区三区| 中文字幕一区三区| 精品一区二区三区欧美| 在线日韩一区二区| 欧美tickling挠脚心丨vk| 日韩精品高清不卡| 91一区二区在线观看| 欧美大片在线观看| 亚洲成人精品一区| 暴力调教一区二区三区| 欧美videofree性高清杂交| 一区二区三区欧美日| 国产精品一区三区| 日韩欧美中文一区| 午夜精品成人在线| 色综合久久88色综合天天| 国产性色一区二区| 国内外成人在线| 7777精品伊人久久久大香线蕉经典版下载| 国产精品久久免费看| 国产一区二区三区综合| 日韩精品一区二| 最新不卡av在线| 国产成人鲁色资源国产91色综| 久久久国产精品午夜一区ai换脸| 蜜桃视频在线观看一区| 在线播放/欧美激情| 偷拍与自拍一区| 欧美无砖砖区免费| **网站欧美大片在线观看| 欧美精品一二三| 亚洲成人午夜影院| 91精彩视频在线观看| 亚洲麻豆国产自偷在线| 91视视频在线观看入口直接观看www| 国产日韩综合av| 成人精品在线视频观看| 国产精品情趣视频| 国产精品一区免费在线观看| 日韩免费性生活视频播放| 乱中年女人伦av一区二区| 日韩一区二区在线观看视频| 日本女人一区二区三区| 91精品国产综合久久精品性色| 午夜av一区二区| 欧美体内she精视频| 日韩精品一二区| 欧美成人性福生活免费看| 日韩国产一二三区| 日韩欧美亚洲国产另类| 精品亚洲aⅴ乱码一区二区三区| 欧美www视频| 成人av中文字幕| 亚洲美女视频在线| 欧美日韩高清一区二区三区| 免费在线看成人av| 久久女同性恋中文字幕| 91在线国产福利| 亚洲乱码一区二区三区在线观看| 欧美性大战久久| 麻豆久久久久久久| 国产精品久久二区二区| 91久久精品一区二区三区| 午夜精品福利一区二区三区av | 久久久精品黄色| 国产一区二区三区免费| 亚洲欧美在线观看| 欧美另类变人与禽xxxxx| 国产最新精品精品你懂的| 1区2区3区国产精品| 欧美美女网站色| 国产盗摄一区二区| 亚洲6080在线| 国产欧美日韩不卡免费| 欧美日韩一本到| 成人午夜av电影| 免费三级欧美电影| 中文一区二区完整视频在线观看| 欧美日韩一级二级| 豆国产96在线|亚洲| 夜夜嗨av一区二区三区中文字幕| 日韩欧美成人一区| 欧美少妇一区二区| 成人午夜又粗又硬又大| 日韩精品一二三四| 一区二区三区资源| 2020日本不卡一区二区视频| 欧美日韩专区在线| 不卡欧美aaaaa| 极品瑜伽女神91| 亚洲va天堂va国产va久| 国产精品久久综合| 亚洲精品一区二区三区福利 | 成人国产精品免费观看| 青娱乐精品视频| 亚洲国产精品久久人人爱蜜臀| 日本一区二区在线不卡| 日韩一区二区三区在线观看| 91成人看片片| 国产一区视频在线看| 日韩精品成人一区二区三区| 亚洲综合色婷婷| 亚洲美女精品一区| 亚洲视频一区二区免费在线观看 | 亚洲综合视频网| 日本一区二区三区免费乱视频| 高清不卡在线观看| 久久99国产精品久久| 日韩中文字幕1| 天堂成人国产精品一区| 亚洲一区在线观看视频| 亚洲欧洲日产国码二区| 国产日韩欧美精品电影三级在线| 欧美成人欧美edvon| 欧洲精品中文字幕| 99久久精品国产毛片| 91啪在线观看| 色婷婷久久一区二区三区麻豆| 色综合一区二区| 91搞黄在线观看| 欧美三级视频在线播放| 欧美综合亚洲图片综合区| 91蜜桃免费观看视频| 99国产精品国产精品毛片| 色综合av在线| 91精品视频网| 日韩欧美视频一区| 久久综合久久综合亚洲| 国产丝袜在线精品| 久久亚洲综合色| 成人欧美一区二区三区黑人麻豆 | 精品国产露脸精彩对白| 久久众筹精品私拍模特| 中文在线资源观看网站视频免费不卡| 国产精品丝袜久久久久久app| 精品sm捆绑视频| 国产精品国产a| 日日夜夜精品视频免费| 国产精品99久久久久久久女警| www.性欧美| 欧美巨大另类极品videosbest|