55 lines
1.0 KiB
Bash
55 lines
1.0 KiB
Bash
#!/bin/ksh
|
||
|
||
# Determine the character displayed on the screen at column 3, row 6 and
|
||
# store that character in a variable.
|
||
#
|
||
# Use a group of functions "shellcurses"
|
||
|
||
# # Variables:
|
||
#
|
||
FPATH="/usr/local/functions/shellcurses/"
|
||
|
||
rst="<22>[0m"
|
||
red="<22>[31m"
|
||
whi="<22>[37m"
|
||
|
||
integer row=${1:-6} col=${2:-3} # Allow command line row col input
|
||
|
||
# # 10x10 grid of random digits
|
||
#
|
||
typeset -A grid
|
||
for ((i=0; i<10; i++)); do
|
||
for ((j=0; j<10; j++)); do
|
||
(( grid[${i}][${j}] = (RANDOM % 9) + 1 ))
|
||
done
|
||
done
|
||
|
||
# # Functions:
|
||
#
|
||
|
||
|
||
######
|
||
# main #
|
||
######
|
||
# # Initialize the curses screen
|
||
#
|
||
initscr ; export MAX_LINES MAX_COLS
|
||
|
||
# # Display the random number grid with target in red
|
||
#
|
||
clear
|
||
for ((i=1; i<=10; i++)); do
|
||
for ((j=1; j<=10; j++)); do
|
||
colr=${whi}
|
||
(( i == row )) && (( j == col )) && colr=${red}
|
||
mvaddstr ${i} ${j} "${colr}${grid[$((i-1))][$((j-1))]}${rst}"
|
||
done
|
||
done
|
||
|
||
str=$(rtnch ${row} ${col}) # return char at (row, col) location
|
||
|
||
mvaddstr 12 1 "Digit at (${row},${col}) = ${str}" # Display result
|
||
move 14 1
|
||
refresh
|
||
endwin
|