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

Exploring the board. #7

Open
GabrieleBattaglia opened this issue Apr 16, 2024 · 2 comments
Open

Exploring the board. #7

GabrieleBattaglia opened this issue Apr 16, 2024 · 2 comments

Comments

@GabrieleBattaglia
Copy link

It would be very helpful to help blind gamers, a set of commands to explore the board.
Everything that follow a "." fullstop, should be considered an exploration command:
.a reads column a ...
.6 reads row 6 ...
.f7 reads the state of f7 square...
.@b8 Resume all the attack / defence / night's jump / pawn's captures on that suare
.xc3 reads diagonals that include c3 square and their contained pieces eventually
.P list the squares that contains white pawns
.p list the squares that contains black pawns
.r ...the same for black's rooks and so forth
.mt resume the materials still on the board, comparing pieces per type

@tage64
Copy link
Owner

tage64 commented Apr 17, 2024

This is interesting. It is similar to the commands used on Lichess where:

  • s a / scan a -- Speaks the content on the a-line.
  • s 2 -- Speaks the content on the second rank.
  • p r or p R -- Speaks the positions of the black or white rooks respectively.

On one hand it would be good to be consistent with the Lichess notation. On the other hand, your notation is a bit shorter. Your notation however leads to an ambiguity: .b may both mean the b-line or black bishops.

I think that we should stick to a mix of the two:

  • .s a/.scan aor.s 4` -- Scans the a-line or forth rank respectively.
  • .a or .5 -- Are shorthands for the above.
  • .p b or .p Q -- Tells the positions of the black bishops or white queens respectively.
  • .@b8 or .attacks b8 -- Tells the attacks on the b8 square by both players.
  • s c3 or .scan c3 -- Scans the a1-h8 diagonal.
  • .m or .material -- Lists all pieces on the board.

@GabrieleBattaglia
Copy link
Author

you already know I really like a very very short command because typing is time consuming and when you get familiar with a set of command, you could be super fast by having 1-char commands. And, if you still have aliases which are self explaining, there will be no problem for those users that like to have extended command.

Other my answers is here below, among lines.

...

This is interesting. It is similar to the commands used on Lichess where:

s a / scan a -- Speaks the content on the a-line.
s 2 -- Speaks the content on the second rank.

Yep, but we could do a better job replacing the s and the following space with a more smart comand like .a or .2

p r or p R -- Speaks the positions of the black or white rooks respectively.

Again, to me it would be much better .r and .R

On one hand it would be good to be consistent with the Lichess notation. On the other hand, your notation is a bit shorter. Your notation however leads to an ambiguity: .b may both mean the b-line or black bishops.

I think that we should stick to a mix of the two:

.s a/.scan aor.s 4` -- Scans the a-line or forth rank respectively.
.a or .5 -- Are shorthands for the above.
.p b or .p Q -- Tells the positions of the black bishops or white queens respectively.

yes, of course you're right and I'm sorry for my mistake.

So, I would keep the simple fullstop followed by rank or column, for the board, and another character like , (comma) to locate pieces per type like ,b for black bishops and ,B for white bishops.

.@b8 or .attacks b8 -- Tells the attacks on the b8 square by both players.

It's ok but I would rather choose a singol char as the prefix like @square (@F2) to keep it as short as possible. the long alias could be obviously attack f2. And yes, we could generate a smal report for both players that summarizes attacks and difences at that square.

s c3 or .scan c3 -- Scans the a1-h8 diagonal.

For the same reason to keep it short, also here I would choose a character that reminds diagonals like the xchar, or, maybe better a diagonal itself () or (/). So, xg5 will report the X diags: c1-h6 and h4-d8.

At a first glance you my find it a bit tricky but with some practice they will become a super familiar commands, fast and intuitive.

So we would have (,), (.) and () to scan various things over the board.

.m or .material -- Lists all pieces on the board.

More than this I would have thought to a report that summarizes the captured (or missing) materials.

Something like:

Material on the board 39/36)

White all, black 1 Bishop.

In this case white has all of its pieces and the black have lost a Bishop.

This would be super useful when you load a FEN position in order to study an exercise and you want to have a super fast report of the general situation on the board.

If you list all the material present, you may have a long list of pieces which are useless most of the cases, for instance when nobody has lost pieces yet.

I really hope you can find interesting my ideas to improve your beautiful piece of software.

Thanks for the implementation you've done.

Gabe.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants