Skip to content

flying-binh/Drawing

 
 

Repository files navigation

Drawing

Flow

App --> Runner --> Drawing

How to start

  ./Drawing.sh // run app
  ./gradlew test // run testcase

The Problem

Description

You're given the task of writing a simple console version of a drawing program. At this time, the functionality of the program is quire limited but this might change in the future. In a nutshell, the program should work as follows:

  1. Create a new canvas
  2. Start drawing on the canvas by issuing various commands
  3. Quit

Command Description

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.

B x y c Should fill the entire area connected to (x,y) with "colour" c. The behaviour of this is the same as that of the "bucket fill" tool in paint programs.

Q Should quit the program.

Sample I/O

Below is a sample run of the program. User input is prefixed with enter command:

enter command: C 20 4
enter command: L 1 2 6 2
enter command: L 6 3 6 4
enter command: R 16 1 20 3
enter command: B 10 3 o
enter command: Q

About

CSHK Homework

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 99.5%
  • Shell 0.5%