@Override
    public Command planNextMove(Info info) {
        // you can NONE, MOVE_FORWARD, MOVE_BACK, TURN_LEFT, TURN_RIGHT, SHOOT
        InfoDetail myInfo = new InfoDetail(info.getX(), info.getY(), info.getDirection());
        
        if(info.getEnemies().isEmpty() && info.getGrenades().isEmpty()){
            return new Command(CommandType.NONE, CommandType.NONE, 0, CommandType.NONE);
        }
        
        if(info.getGrenades().isEmpty()){
            return new Command(CommandType.NONE, CommandType.TURN_RIGHT, aimRight(firstEnemy(info.getEnemies(), myInfo), myInfo), CommandType.SHOOT);
        }
        
        InfoDetail granat=firstGranateForMe(myInfo, info.getGrenades());
        if(granat!=null){
            return new Command(CommandType.MOVE_FORWARD, CommandType.TURN_RIGHT, 90+granat.getDirection()-myInfo.getDirection(), CommandType.NONE);
        }
        
        if(!info.getEnemies().isEmpty()){
            return new Command(CommandType.NONE, CommandType.TURN_RIGHT, aimRight(firstEnemy(info.getEnemies(), myInfo), myInfo), CommandType.SHOOT);
        }
        
        return new Command(CommandType.NONE, CommandType.NONE, 0, CommandType.NONE);
    }