Only select from if piece there
This commit is contained in:
parent
7a574f73f9
commit
841ea41dae
@ -198,13 +198,29 @@ defmodule Chessh.SSH.Client.Game do
|
|||||||
_ -> cursor
|
_ -> cursor
|
||||||
end
|
end
|
||||||
|
|
||||||
|
maybe_flipped_cursor_tup =
|
||||||
|
if flipped, do: flip({new_cursor.y, new_cursor.x}), else: {new_cursor.y, new_cursor.x}
|
||||||
|
|
||||||
|
piece_type =
|
||||||
|
:binbo_position.get_piece(
|
||||||
|
:binbo_board.notation_to_index(Renderer.to_chess_coord(maybe_flipped_cursor_tup)),
|
||||||
|
:binbo.game_state(binbo_pid)
|
||||||
|
)
|
||||||
|
|
||||||
{new_move_from, move_to} =
|
{new_move_from, move_to} =
|
||||||
if action == :return do
|
if action == :return do
|
||||||
coords = {new_cursor.y, new_cursor.x}
|
coords = {new_cursor.y, new_cursor.x}
|
||||||
|
|
||||||
case move_from do
|
case move_from do
|
||||||
nil -> {coords, nil}
|
nil ->
|
||||||
_ -> {nil, coords}
|
if piece_type != 0 do
|
||||||
|
{coords, nil}
|
||||||
|
else
|
||||||
|
{move_from, nil}
|
||||||
|
end
|
||||||
|
|
||||||
|
_ ->
|
||||||
|
{nil, coords}
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
{move_from, nil}
|
{move_from, nil}
|
||||||
@ -224,15 +240,8 @@ defmodule Chessh.SSH.Client.Game do
|
|||||||
}
|
}
|
||||||
|
|
||||||
if move_from && move_to do
|
if move_from && move_to do
|
||||||
maybe_flipped_from = if flipped, do: flip(move_from), else: move_from
|
|
||||||
maybe_flipped_to = if flipped, do: flip(move_to), else: move_to
|
maybe_flipped_to = if flipped, do: flip(move_to), else: move_to
|
||||||
|
|
||||||
piece_type =
|
|
||||||
:binbo_position.get_piece(
|
|
||||||
:binbo_board.notation_to_index(Renderer.to_chess_coord(maybe_flipped_from)),
|
|
||||||
:binbo.game_state(binbo_pid)
|
|
||||||
)
|
|
||||||
|
|
||||||
promotion_possible =
|
promotion_possible =
|
||||||
case piece_type do
|
case piece_type do
|
||||||
1 ->
|
1 ->
|
||||||
|
Loading…
Reference in New Issue
Block a user