001    package rules;
002    
003    import java.util.*;
004    
005    import core.*;
006    
007    /**
008     * A powerup or empty
009     * 
010     */
011    public abstract class NoneSquare extends Piece
012    {
013            /**
014             * Constructs a new Empty instance
015             */
016            public NoneSquare()
017            {
018                    super(Color.NONE, 0);
019            }
020    
021            /**
022             * Empty instances cannot move
023             */
024            public Collection<Move> moveCandidates(GameState g, Position here)
025            {
026                    throw new RuntimeException("moveCandidates on empty square");
027            }
028    
029            /**
030             * Empty instances cannot threaten
031             */
032            public boolean threatens(GameState g, Position from, Position to)
033            {
034                    throw new RuntimeException("canMove on empty square");
035            }
036        
037    }