Terminal control/Positional read: Difference between revisions
Content added Content deleted
(Added Wren) |
No edit summary |
||
Line 224: | Line 224: | ||
The character at column 3, row 6 is 'A' |
The character at column 3, row 6 is 'A' |
||
</pre> |
</pre> |
||
=={{header|Ksh}}== |
|||
<lang ksh> |
|||
#!/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="�[0m" |
|||
red="�[31m" |
|||
whi="�[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</lang> |
|||
{{out}}<pre> |
|||
2466511215 |
|||
6743931696 |
|||
7546513188 |
|||
7233775996 |
|||
4748942123 |
|||
8893655153 |
|||
8341639139 |
|||
8772676987 |
|||
3772947552 |
|||
8454526539 |
|||
Digit at (6,3) = 9</pre> |
|||
=={{header|Nim}}== |
=={{header|Nim}}== |