This project will give you practice
* working with external data files,
* manipulating character data,
* using command line arguments,
* working with two-dimensional arrays, and
* writing recursive functions.
Background - ASCII ArtManipulating character data is a common task performed by computer programs. So, it makes sense that there should be a standard format in which to store characters, just as there are standard formats for storing numeric data. ASCII (American Standard Code for Information Interchange), developed by the American National Standards Institute (ANSI), is one such format. It is also currently the most common character storage format. According to the ASCII standard, each character (number, letter, symbol, control character) is represented as a unique one-byte bit pattern. (See Appendix D of your textbook.) Text files, such as your program source code and data files, are simply sequences of ASCII characters.
Back in the "old days" (when I was your age?), computer monitors could not display graphics as we know them today. Pictures were simply displayed as lines of text. Well, people soon got creative, and ASCII art was born. Here is a sample of some ASCII artwork (a Cessna 150):
\ | | /
O' O `O
Pretty cool, huh? (OK, so it's not Soul Calibur II.) There are thousands of interesting, and quite impressive, pieces of ASCII art on the web. Just do a Google search on "ascii art" and you'll see.
The TaskYou are to write a program that will read an ASCII art pattern from a file, display the pattern on the screen within a border, and allow the user to move the pattern up, down, left, and right within the border. If the user moves the pattern partially or totally out of the border, the pattern will be partially or totally lost, respectively. More Details
* The name of the file containing the ASCII art pattern must be read from the command line. That is, the program is invoked as follows:
[url removed, login to view] filename
`filename`" is the name of the pattern file (e.g., `[url removed, login to view]`).
* A pattern will always have exactly 20 rows and 50 columns (use #define's).
* The pattern must be moved up, down, left, or right within the same array. That is, do not copy the pattern back and forth between two arrays.
* Surround the pattern by a border as shown below in Sample Output.
* The user may move the pattern by any positive integer amount in any of the four directions (watch out for seg faults!).
* The user's choice from the pattern movement menu can only be one of the letters L, l, R, r, U, u, D, d, Q, and q; i.e., you cannot use numbers for the choices.
* The function(s) you write to display the pattern and the border must be written recursively; i.e., _no loops allowed_.
The Data File
PLS DO THIS Project by THursday 11/20/03 and be able to RUN it in UNIX
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Installation package that will install the software (in ready-to-run condition) on the platform(s) specified in this bid request.
3) Exclusive and complete copyrights to all work purchased. (No GPL, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site).