Files
Cody Boone Ferguson 5c31c7ce42 Fixes in 1994/horton
The fixes include a manifest update wrt the alternate code.
2024-07-24 11:13:44 -07:00

147 lines
3.3 KiB
Markdown

## To build:
``` <!---sh-->
make all
```
There is an unobfuscated and enhanced version provided by the author. See [Alternate
code](#alternate-code) below.
## To use:
``` <!---sh-->
./horton A B C D
```
`A`, `B`, `C` and `D` are numeric arguments.
## Try:
``` <!---sh-->
./try.sh
```
## Alternate code:
This confuses cb greatly. See
[horton.alt.c](%%REPO_URL%%/1994/horton/horton.alt.c) for an
unobfuscated and enhanced version.
### Alternate build:
``` <!---sh-->
make alt
```
### Alternate use:
``` <!---sh-->
./horton.alt A B C D
```
Where `A`, `B`, `C` and `D` are numbers, just like with `horton`.
### Alternate try:
``` <!---sh-->
./try.alt.sh
```
## Judges' remarks:
Try to figure out how this program prints, for a given slope, the
right character. And for extra credit, try to figure out which
character is at the bottom of this hint file. :-)
You might be interested in the author's article that they cite towards the end
of their remarks, included as a PDF file for your convenience.
## Author's remarks:
Run it with any 4 numeric arguments, e.g. `./horton 3 2 1 0`. Play with the
numbers to get a pleasing result, or use it for your high school algebra
class.
### NOTICE to those who wish for a greater challenge:
**If you want a greater challenge, don't read any further**:
just try to understand the program via the source.
If you get stuck, come back and read below for additional hints and information.
### What this entry does:
As should be obvious from 20 feet away, the program is a cubic plotter.
It plots against certain arguments, splattering their cubes with graphs
of their cubic equations. Those dastardly arguments are mere coefficients,
cogs in the wheels of the grand plot to overthrow the cubics!
Oh, by the way, it uses a self-contained graphtab and frame buffer.
It's easily modified to graph *any* 96x160 bitmap on a dumb terminal.
See the [gtface](%%REPO_URL%%/1994/horton/gtface.c) program for another example. Try:
``` <!---sh-->
make gtface
./gtface < gtface.data
```
### How this entry works:
For more information, see my article
[Using GraphTab; USENIX ;login: Sept/Oct 1992, pages 28-31](login_sept92-pp28-31.pdf).
```
MMMM,M,MM"MM,,,
,,MMMMMMMMM"""""""",
,MMMMM""" ",
,MMM" "
MMM M
MM
MM" " M
M " , ,,,,, ,,,,,,,,,MM
"MMMM"M,MMMMM MMMM M M"MMM,
,M"MMMM"MM"MMM""M""MMMM""M"M
, MM M M,M M" "M",, M "M "
M ,M," ,M "M, ,,,", M
M , M"MMM",,M,M,,""" , ,
",," , " "MMMMMMMM " , "
,M , ""M,MMMMMMMM,M " ,,
,MM, MMMMMMMMMMMMMM,", M,
M,M,MM"M"M" """M"MM,M M
,MMMMMM M,MMMMM"M MM""M
M MMMMMM,M M"M"" M MMMM", ,
"M"MMMMMMMMMM"M ,MMMMM M ,,
"" MMMMMMM,M,MM,M,,,MMM"M ,
," , "MMMMMMM"MM"M,,,,MMMMM , ,,
M ," MMMMMM"MM""M ,MMMMM,M, M
, MMMM,MMMM"M"M"M,MM,M,", "
```
<!--
Copyright © 1984-2024 by Landon Curt Noll. All Rights Reserved.
You are free to share and adapt this file under the terms of this license:
Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)
For more information, see:
https://creativecommons.org/licenses/by-sa/4.0/
-->