> For the complete documentation index, see [llms.txt](https://fundamentals.rocketacademy.co/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://fundamentals.rocketacademy.co/past-projects/drawing-with-emojis.md).

# Drawing With Emojis

Use loops to create an app that draws emojis into the grey box.

Begin the app by **forking** this repo: <https://github.com/rocketacademy/basics-drawing>

## Number of Characters

The user will enter a number of characters to display on the screen.

For example, if the user enters 4 they will see this:

![](https://4160909611-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MBhJa4xpezxI4J9lolG%2Fuploads%2Fgit-blob-5fba43ccdbb21e206f246e7bff9d95b3cdf98395%2FScreen%20Shot%202020-08-26%20at%2012.35.32%20AM.png?alt=media)

## Square

The user will enter the dimensions of a square to display on the screen.

Use a loop within a loop and the `<br>` newline HTML tag in your output to create the square.

For example, if the user enters 4 they will see this:

![](https://4160909611-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MBhJa4xpezxI4J9lolG%2Fuploads%2Fgit-blob-6015abc489128ec90172c12e8a69aaa9fe9ca2ac%2FScreen%20Shot%202020-08-26%20at%2012.35.12%20AM.png?alt=media)

## Triangle

The user will enter the dimensions of a triangle to display on the screen.‌

Use a loop within a loop, a conditional and the `<br>` newline HTML tag in your output to create the triangle.

For example, if the user enters 4 they will see this:

![](https://4160909611-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MBhJa4xpezxI4J9lolG%2Fuploads%2Fgit-blob-f834068129e0f8f1e760b2d129841a2a55b76187%2FScreen%20Shot%202020-08-26%20at%2012.37.35%20AM.png?alt=media)

## Modes

Add modes to the program so that the user can create any shape- first the user will enter the shape they want, (this is a shape entering mode), e.g., square, triangle, etc. Then the user will enter the dimensions they want.

## More Comfortable

### Upside down Triangle

The user will enter the dimensions of a triangle to display on the screen.

For example, if the user enters 4 they will see this:

![](https://4160909611-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MBhJa4xpezxI4J9lolG%2Fuploads%2Fgit-blob-f2932e13b863317f1e1ee46db24ff198bd416b2a%2FScreen%20Shot%202020-08-26%20at%2012.36.09%20AM.png?alt=media)

### Outline Square

The user will enter the dimensions of a square to display on the screen. The square is outlined by a different character.

For example, if the user enters 4 they will see this:

![](https://4160909611-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MBhJa4xpezxI4J9lolG%2Fuploads%2Fgit-blob-1e52f2a671b5ceb68032aee8f21142f5032a9abe%2FScreen%20Shot%202020-08-26%20at%2012.54.56%20AM.png?alt=media)

### Center Square

The user will enter the dimensions of a square to display on the screen. The square is outlined by a different character and there is another different character in the center. The app doesn't allow dimensions that will not allow the center character.

For example, if the user enters 5 they will see this:

![](https://4160909611-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MBhJa4xpezxI4J9lolG%2Fuploads%2Fgit-blob-8d4ec2a2854c69a1da36c4f14adbd730b592436b%2FScreen%20Shot%202020-08-26%20at%2012.58.34%20AM.png?alt=media)

### Rings

The user will enter the dimensions of a square to display on the screen. The characters in the square alternate, creating concentric rings.

## Submit

[Push](/8-github/8.2-github-fork-and-clone.md#git-push) the commits in your local repo to GitHub. [Create a pull request](/8-github/8.2-github-fork-and-clone.md#github-pull-request) to submit your assignment. Please fill in the questionnaire in the pull request comments when you submit.

## Reference Solution

Please find a reference solution [here](https://github.com/rocketacademy/basics-drawing/pull/9/files). Note that there are many ways to code solutions to these problems and the reference solution is only 1 way.
