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

📄 interfaceplayer.java

📁 利用JAVA编译的国际象棋中各棋子的步法。
💻 JAVA
字号:
/* * (Copyleft) coucou747 * Code sous licence GPL, * pour toute degradation de votre honneur, * je ne saurais en aucun cas etre tennu responsable *  * Si l'une des proprietes suivante vennait a etre verifiee : *  -Si vous avez des idees d'ameliorations possibles, *  -Si vous avez developpe des ameliorations *  -Si mon projet vous plait *  -Si mon code vous plait *  -Si vous vous servez de mon code *  -Si vous aimez les chips *  -Si vous avez trouve des bugs *  -Si vous avez fixe des bugs (c'est gentil :) ) *  -Si vous avez fait un projet base sur celui-ci *  -Si vous voullez me faire des bisous * faites le moi savoir *  -par mail a l'adresse coucou747@wanadoo.fr *  -par irc sur uni-irc.net salon #programmation *  -par msn a l'adresse coucou747@hotmail.com *  * Remerciements a mon ex-petite amie, * c'est probablement grace a elle que j'ai trouve le temps de coder ca... */package echec;/** * * @author max */public class InterfacePlayer implements java.awt.event.MouseListener{    public InterfacePlayer(){        tour=0;        colorToPlay=Color.white;    }    /*    public String getString(){        String s="";        char c='\0';        try{            while ((c=(char) System.in.read()) !='\n'){                if (c != '\r')  s+=c;            }        }catch (Exception e){            System.out.println("Erreur de frappe");            System.exit(0);        }        return s;    }    public void get(){        String s;        try{            System.out.println("Entrez un coup.");            s=getString();            start=new Position(s.charAt(0)-'a', s.charAt(1)-'1');            end=new Position(s.charAt(2)-'a', s.charAt(3)-'1');        } catch (Exception e){            System.out.println(e);        }    }*/    public Position getStart(){        return start;    }    public Position getEnd(){        return end;    }    private boolean isPetitRoque(){        if (chessboard.isKing(start)){            if (start.equals(4, 0) && end.equals(6, 0)){                return true;            }            if (start.equals(4, 7) && end.equals(6, 7)){                return true;            }        }        return false;    }    private boolean isGrandRoque(){        if (chessboard.isKing(start)){            if (start.equals(4, 0) && end.equals(2, 0)){                return true;            }            if (start.equals(4, 7) && end.equals(2, 7)){                return true;            }        }        return false;    }    public void apply() throws CoupException{        if (isPetitRoque()){            chessboard.PetitRoque();        }else if (isGrandRoque()){            chessboard.GrandRoque();        }else if (chessboard.CanTakeInPass(start, end)){            chessboard.TakeInPass(start, end);        }else{            chessboard.move(start, end);        }        if (chessboard.canPromote()){            System.out.println("promotion");            chessboard.promote(new Dame());        }    }    public void drawFirstCoup(){        /*        int i, j;        Position p;        for (i=0;i<8;i++){            for (j=0;j<8;j++){                try{                    p=new Position(i, j);                    if (chessboard.CanPlay(start, p)){                        graph.setColor(new java.awt.Color(200, 200, 55));                        graph.drawOval(30+i*40+5, 30+40*7-j*40+5, 30, 30);                        graph.drawOval(30+i*40+6, 30+40*7-j*40+6, 28, 28);                    }                }catch (Exception e){                    System.out.println(e);                    e.printStackTrace();                    System.exit(0);                }            }        }         * */        graph.setColor(new java.awt.Color(200, 200, 55));                Position p;        CoupFromIterator cfi=new CoupFromIterator(start, chessboard);        while (cfi.hasNext()){            p=cfi.next();            graph.drawOval(30+p.x*40+5, 30+40*7-p.y*40+5, 30, 30);            graph.drawOval(30+p.x*40+6, 30+40*7-p.y*40+6, 28, 28);        }    }    public void mouseClicked(java.awt.event.MouseEvent e){        int x=e.getX(), y=e.getY();        x=(x-30)/40;        y=(30+40*8-y)/40;        graph.setColor(new java.awt.Color(0, 200, 255));        graph.drawOval(30+x*40, 30+40*7-y*40, 40, 40);        graph.drawOval(30+x*40+1, 30+40*7-y*40+1, 38, 38);        try{            if (tour%2==0){                start=new Position(x, y);                drawFirstCoup();            }else{                end=new Position(x, y);                apply();                chessboard.showOn(layer);                //chessboard.print();            }            tour++;        }catch (Exception ex){            System.out.println(ex);            //ex.printStackTrace();            layer.repaint();            tour=0;        }    }    public void mouseEntered(java.awt.event.MouseEvent e){    }    public void mouseExited(java.awt.event.MouseEvent e){    }    public void mousePressed(java.awt.event.MouseEvent e){    }    public void mouseReleased(java.awt.event.MouseEvent e){    }        public void relier( javax.swing.JLayeredPane layer){        this.layer=layer;    }    public void relier(Chessboard c){        chessboard=c;    }    public void relier(java.awt.Graphics graph){        this.graph=graph;    }    private java.awt.Graphics graph;    private Chessboard chessboard;    private javax.swing.JLayeredPane layer;    private Position start, end;    private int tour;    private Color colorToPlay;}

⌨️ 快捷键说明

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