public void setHeightWidthStartPosition(String height,String width,String startPosDescriptor) {
        
        this.height=Integer.parseInt(height);
        this.width=Integer.parseInt(width);
        
        int p1=startPosDescriptor.indexOf(',');
        int p2=startPosDescriptor.indexOf(',',p1+1);
        
        VehicleState p=new VehicleState(Integer.parseInt(startPosDescriptor.substring(0,p1)),
                                              Integer.parseInt(startPosDescriptor.substring(p1+1,p2)));
        switch(startPosDescriptor.charAt(p2+1)) {
            case 'l': case 'L': p.setAngle(270); break;
            case 'r': case 'R': p.setAngle(90); break;
            case 'u': case 'U': p.setAngle(0); break;
            case 'd': case 'D': p.setAngle(180); break;
            default: throw new IllegalArgumentException("Landscape start position, incorrect value:"+startPosDescriptor.charAt(p2));
        }
        
        this.startPos=p;
    }