|
Tech Coding Challenge
Create a drawing program that uses the console as the canvas and characters as colors. You
will take a list of commands and output the result in the console. The program should work as
follows:
-
Create a new canvas.
-
Start drawing on the canvas by issuing various commands.
-
Quit.
The following commands should be interpreted:
-
C w h: Should create a new canvas of width w and height
h.
-
L x1 y1 x2
y2: Should create a new line from
(x1,y1) to
(x2,y2). Currently only horizontal or vertical
lines are supported. Horizontal and vertical lines will be drawn using the
'x ' character.
-
R x1 y1 x2
y2: Should create a new rectangle, whose upper left corner is
(x1,y1) and lower right corner is
(x2,y2). Horizontal and vertical lines will be
drawn using the 'x ' character.
-
F x y c: Should fill the entire area connected to
(x,y) with “colour” c. The behavior of this is the
same as that of the “bucket fill” tool in paint programs.
The commands feed will be provided through the standard input, one command per line.
The result should be written to the standard output. Pay attention: the result must contain
also the canvas borders.
Sample Input 1
C 20 4
download as text file
Output for Sample Input 1
---------------------- | | | | | | | | ----------------------
download as text file
Sample Input 2
C 20 4 L 1 2 6 2
download as text file
Output for Sample Input 2
---------------------- | | |xxxxxx | | | | | ----------------------
download as text file
Sample Input 3
C 20 4 L 1 2 6 2 L 6 3 6 4
download as text file
Output for Sample Input 3
---------------------- | | |xxxxxx | | x | | x | ----------------------
download as text file
Sample Input 4
C 20 4 L 1 2 6 2 L 6 3 6 4 R 14 1 18 3
download as text file
Output for Sample Input 4
---------------------- | xxxxx | |xxxxxx x x | | x xxxxx | | x | ----------------------
download as text file
Sample Input 5
C 20 4 L 1 2 6 2 L 6 3 6 4 R 14 1 18 3 F 10 3 o
download as text file
Output for Sample Input 5
---------------------- |oooooooooooooxxxxxoo| |xxxxxxooooooox xoo| | xoooooooxxxxxoo| | xoooooooooooooo| ----------------------
download as text file
|
|