#!/usr/bin/env bash FUNCNEST=99999 FILE=test-input-1 # Load map read -r -a MAP_ARRAY <<< "$( < "$FILE" paste -s -d "" | sed -E 's/(.)(.)/\1 \2 /g' )" #read -r -a CHECKPOINT_ARRAY <<< "$( < "$FILE" paste -s -d "" | sed -E 's/(.)(.)/\1 \2 /g' )" MAP_WIDTH=$(( $( head -1 "$FILE" | wc -c ) -1 )) MAP_LEN=${#MAP_ARRAY[@]} MAP_HEIGHT=$( < "$FILE" wc -l ) printf "Map len: %s Map width: %s Map height: %s\n" "$MAP_LEN" "$MAP_WIDTH" "$MAP_HEIGHT" DIR_UP=$(( - MAP_WIDTH )) DIR_DOWN=$MAP_WIDTH DIR_LEFT=-1 DIR_RIGHT=1 print_map () { printf "%s " "${MAP_ARRAY[@]}" | fold -w $(( MAP_WIDTH * 2 )) printf "\n" } # Get starting position for (( i=0; i