coupiterator.java

来自「利用JAVA编译的国际象棋中各棋子的步法。」· Java 代码 · 共 71 行

JAVA
71
字号
/* * (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;/** * @brief class CoupIterator * @date 18 janv. 2008, 14:31:12 * @author max *  * TODO *  */public class CoupIterator implements java.util.Iterator{    public CoupIterator(Chessboard c){        chessboard=c;        pi=new PositionIterator();        nextCFI();    }    private void nextCFI(){        if (pi.hasNext()){            cfi=new CoupFromIterator(start=pi.next(), chessboard);            while (pi.hasNext() && !cfi.hasNext()){                cfi=new CoupFromIterator(start=pi.next(), chessboard);            }            if (cfi.hasNext())                end=cfi.next();        }    }    public void remove(){}    public Coup next(){        Coup e=new Coup(start, end);        if (cfi.hasNext()){            end=cfi.next();        }else{            nextCFI();        }        return e;    }    public boolean hasNext(){        return cfi.hasNext() || pi.hasNext();    }    Position start, end;    CoupFromIterator cfi;    PositionIterator pi;    private Chessboard chessboard;}

⌨️ 快捷键说明

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