Загрузка данных


make_pattern() {
    local name="$1"
    shift
    local y x index row
    local -a field=()

    for ((y = 0; y < 25; y++)); do
        printf -v row '%080d' 0
        field[y]="$row"
    done

    for index in "$@"; do
        y=$((index / 80))
        x=$((index % 80))
        row="${field[y]}"
        field[y]="${row:0:x}1${row:x+1}"
    done

    printf '%s\n' "${field[@]}" > "patterns/$name.txt"
}

make_pattern block 919 920 999 1000
make_pattern toad 920 921 922 999 1000 1001
make_pattern glider 920 1001 1079 1080 1081
make_pattern r_pentomino 920 921 999 1000 1080
unset -f make_pattern