Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Diamond #2506

Open
wants to merge 9 commits into
base: main
Choose a base branch
from
Open
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 33 additions & 32 deletions exercises/diamond/description.md
Original file line number Diff line number Diff line change
@@ -1,25 +1,10 @@
# Description

The diamond kata takes as its input a letter, and outputs it in a diamond shape.
Given a letter, it prints a diamond starting with 'A', with the supplied letter at the widest point.
Your goal is to create a diamond shape using letters and spaces.

## Requirements

- The first row contains one 'A'.
- The last row contains one 'A'.
- All rows, except the first and last, have exactly two identical letters.
- All rows have as many trailing spaces as leading spaces. (This might be 0).
- The diamond is horizontally symmetric.
- The diamond is vertically symmetric.
- The diamond has a square shape (width equals height).
- The letters form a diamond shape.
- The top half has the letters in ascending order.
- The bottom half has the letters in descending order.
- The four corners (containing the spaces) are triangles.

## Examples
You're given a letter, which represents the widest point of the diamond.

In the following examples, spaces are indicated by `·` characters.
Let's look at some examples.

Diamond for letter 'A':

Expand All @@ -30,23 +15,39 @@
Diamond for letter 'C':

```text
··A··
·B·B·
C···C
·B·B·
··A··
A
B B
C C
B B
A
```

Diamond for letter 'E':

```text
····A····
···B·B···
··C···C··
·D·····D·
E·······E
·D·····D·
··C···C··
···B·B···
····A····
A
B B
C C
D D
E E
D D
C C
B B
A
```

iHiD marked this conversation as resolved.
Show resolved Hide resolved
## Requirements

These are the full requirements:
- The diamond has a square shape (width equals height).

Check failure on line 42 in exercises/diamond/description.md

View workflow job for this annotation

GitHub Actions / Lint markdown files

Lists should be surrounded by blank lines

exercises/diamond/description.md:42 MD032/blanks-around-lists Lists should be surrounded by blank lines [Context: "- The diamond has a square sha..."] https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md032.md
- The letters form a diamond shape.
Comment on lines +41 to +42
Copy link
Member

@tasxatzial tasxatzial Dec 3, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The letters form a diamond shape, and the diamond has a square shape? This is unclear. The square shape refers to what?

Copy link
Member

@tasxatzial tasxatzial Dec 4, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see where my confusion came from. The diamond is introduced before explaining what it refers to. Might be better to simply reverse the order of the first two requirements

Edit: Removing the unneeded repetition of the word 'shape' may also be preferable since the requirements seem to suggest that we have both a diamond shape and a square shape

Suggested change
- The diamond has a square shape (width equals height).
- The letters form a diamond shape.
- The letters form a diamond shape.
- The width of the diamond is equal to its height.

- The top half has the letters in ascending order.
- The bottom half has the letters in descending order.
- All rows, except the first and last, have exactly two identical letters.
- The first row contains one 'A'.
- The last row contains one 'A'.
- All rows have as many trailing spaces as leading spaces (this might be 0 spaces).
- The diamond is horizontally symmetric.
- The diamond is vertically symmetric.
- The four corners (containing the spaces) are triangles.
iHiD marked this conversation as resolved.
Show resolved Hide resolved

Loading