Move cursor down when moving cards to maneuvre stacks.
This commit is contained in:
parent
36bc8e7d8e
commit
7c28c40ec3
@ -44,7 +44,6 @@ void move_cursor(struct cursor *cursor, enum movement movement) {
|
|||||||
switch (movement) {
|
switch (movement) {
|
||||||
case LEFT:
|
case LEFT:
|
||||||
if (cursor->x > CURSOR_BEGIN_X) {
|
if (cursor->x > CURSOR_BEGIN_X) {
|
||||||
erase_cursor(cursor);
|
|
||||||
cursor->x = cursor->x - 8;
|
cursor->x = cursor->x - 8;
|
||||||
if (cursor->y > CURSOR_BEGIN_Y) {
|
if (cursor->y > CURSOR_BEGIN_Y) {
|
||||||
move_cursor(cursor, UP);
|
move_cursor(cursor, UP);
|
||||||
@ -54,7 +53,6 @@ void move_cursor(struct cursor *cursor, enum movement movement) {
|
|||||||
break;
|
break;
|
||||||
case DOWN:
|
case DOWN:
|
||||||
if (cursor->y == CURSOR_BEGIN_Y) {
|
if (cursor->y == CURSOR_BEGIN_Y) {
|
||||||
erase_cursor(cursor);
|
|
||||||
switch (cursor->x - 3) {
|
switch (cursor->x - 3) {
|
||||||
case MANEUVRE_0_BEGIN_X:
|
case MANEUVRE_0_BEGIN_X:
|
||||||
cursor->y = cursor->y + 7 + length(deck->maneuvre[0]);
|
cursor->y = cursor->y + 7 + length(deck->maneuvre[0]);
|
||||||
@ -82,7 +80,6 @@ void move_cursor(struct cursor *cursor, enum movement movement) {
|
|||||||
break;
|
break;
|
||||||
case RIGHT:
|
case RIGHT:
|
||||||
if (cursor->x < 49) {
|
if (cursor->x < 49) {
|
||||||
erase_cursor(cursor);
|
|
||||||
cursor->x = cursor->x + 8;
|
cursor->x = cursor->x + 8;
|
||||||
if (cursor->y > CURSOR_BEGIN_Y) {
|
if (cursor->y > CURSOR_BEGIN_Y) {
|
||||||
move_cursor(cursor, UP);
|
move_cursor(cursor, UP);
|
||||||
@ -92,7 +89,6 @@ void move_cursor(struct cursor *cursor, enum movement movement) {
|
|||||||
break;
|
break;
|
||||||
case UP:
|
case UP:
|
||||||
if (cursor->y > 1) {
|
if (cursor->y > 1) {
|
||||||
erase_cursor(cursor);
|
|
||||||
cursor->y = CURSOR_BEGIN_Y;
|
cursor->y = CURSOR_BEGIN_Y;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -72,21 +72,25 @@ static void handle_card_movement(struct cursor *cursor) {
|
|||||||
return;
|
return;
|
||||||
case 'h':
|
case 'h':
|
||||||
case KEY_LEFT:
|
case KEY_LEFT:
|
||||||
|
erase_cursor(cursor);
|
||||||
move_cursor(cursor, LEFT);
|
move_cursor(cursor, LEFT);
|
||||||
draw_cursor(cursor);
|
draw_cursor(cursor);
|
||||||
break;
|
break;
|
||||||
case 'j':
|
case 'j':
|
||||||
case KEY_DOWN:
|
case KEY_DOWN:
|
||||||
|
erase_cursor(cursor);
|
||||||
move_cursor(cursor, DOWN);
|
move_cursor(cursor, DOWN);
|
||||||
draw_cursor(cursor);
|
draw_cursor(cursor);
|
||||||
break;
|
break;
|
||||||
case 'k':
|
case 'k':
|
||||||
case KEY_UP:
|
case KEY_UP:
|
||||||
|
erase_cursor(cursor);
|
||||||
move_cursor(cursor, UP);
|
move_cursor(cursor, UP);
|
||||||
draw_cursor(cursor);
|
draw_cursor(cursor);
|
||||||
break;
|
break;
|
||||||
case 'l':
|
case 'l':
|
||||||
case KEY_RIGHT:
|
case KEY_RIGHT:
|
||||||
|
erase_cursor(cursor);
|
||||||
move_cursor(cursor, RIGHT);
|
move_cursor(cursor, RIGHT);
|
||||||
draw_cursor(cursor);
|
draw_cursor(cursor);
|
||||||
break;
|
break;
|
||||||
@ -97,6 +101,11 @@ static void handle_card_movement(struct cursor *cursor) {
|
|||||||
move_card(origin, destination);
|
move_card(origin, destination);
|
||||||
draw_stack(*origin);
|
draw_stack(*origin);
|
||||||
draw_stack(*destination);
|
draw_stack(*destination);
|
||||||
|
if (maneuvre_stack(*destination) && length(*destination) > 1) {
|
||||||
|
erase_cursor(cursor);
|
||||||
|
cursor->y++;
|
||||||
|
draw_cursor(cursor);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
unmark_cursor(cursor);
|
unmark_cursor(cursor);
|
||||||
draw_cursor(cursor);
|
draw_cursor(cursor);
|
||||||
@ -114,21 +123,25 @@ void handle_keyboard_event(int key) {
|
|||||||
switch (key) {
|
switch (key) {
|
||||||
case 'h':
|
case 'h':
|
||||||
case KEY_LEFT:
|
case KEY_LEFT:
|
||||||
|
erase_cursor(cursor);
|
||||||
move_cursor(cursor, LEFT);
|
move_cursor(cursor, LEFT);
|
||||||
draw_cursor(cursor);
|
draw_cursor(cursor);
|
||||||
break;
|
break;
|
||||||
case 'j':
|
case 'j':
|
||||||
case KEY_DOWN:
|
case KEY_DOWN:
|
||||||
|
erase_cursor(cursor);
|
||||||
move_cursor(cursor, DOWN);
|
move_cursor(cursor, DOWN);
|
||||||
draw_cursor(cursor);
|
draw_cursor(cursor);
|
||||||
break;
|
break;
|
||||||
case 'k':
|
case 'k':
|
||||||
case KEY_UP:
|
case KEY_UP:
|
||||||
|
erase_cursor(cursor);
|
||||||
move_cursor(cursor, UP);
|
move_cursor(cursor, UP);
|
||||||
draw_cursor(cursor);
|
draw_cursor(cursor);
|
||||||
break;
|
break;
|
||||||
case 'l':
|
case 'l':
|
||||||
case KEY_RIGHT:
|
case KEY_RIGHT:
|
||||||
|
erase_cursor(cursor);
|
||||||
move_cursor(cursor, RIGHT);
|
move_cursor(cursor, RIGHT);
|
||||||
draw_cursor(cursor);
|
draw_cursor(cursor);
|
||||||
break;
|
break;
|
||||||
|
Loading…
Reference in New Issue
Block a user