package org.artisanlogiciel.games.maze.model; import org.artisanlogiciel.games.maze.MovesProvider; import org.artisanlogiciel.games.maze.WallsProvider; public interface LabyModelProvider extends WallsProvider, MovesProvider { /** * add a new direction(s) exiting ones are kept */ void addDirection(int x, int y, short path); /* set direction(s) existing ones are lost */ void setDirection(int x, int y, short path); /** * is there no wall in that direction ? **/ boolean canMoveInDirection(int x, int y, short direction); /** like getMoves but include resolved information */ short getPath(int x, int y); }