[main.c] Moved the drill logic out of the draw chunk
This commit is contained in:
parent
6bc8cffa7c
commit
b81c529278
54
src/main.c
54
src/main.c
|
@ -65,6 +65,8 @@ int main(void)
|
|||
char selected_direction = RIGHT;
|
||||
char drill_buffer = 0;
|
||||
char drill_toggle = 0;
|
||||
int drill_x = 0;
|
||||
int drill_y = 0;
|
||||
set_level(level_id, level);
|
||||
DRAW_LEVEL();
|
||||
player_x = start_x;
|
||||
|
@ -84,31 +86,7 @@ int main(void)
|
|||
//drill
|
||||
if (drill_toggle)
|
||||
{
|
||||
int drill_x = player_x;
|
||||
int drill_y = player_y;
|
||||
switch (selected_direction)
|
||||
{
|
||||
case UP:
|
||||
drill_y -= 12;
|
||||
break;
|
||||
case DOWN:
|
||||
drill_y += 12;
|
||||
break;
|
||||
case LEFT:
|
||||
drill_x -= 12;
|
||||
break;
|
||||
case RIGHT:
|
||||
drill_x += 12;
|
||||
break;
|
||||
}
|
||||
draw_player(drill_x, drill_y);
|
||||
collide_and_erase(drill_x, drill_y, level, 'd');
|
||||
if ((selected_direction == UP || selected_direction == DOWN) &&
|
||||
(collide_spike(drill_x, drill_y, level) || collide_solid(drill_x, drill_y, level, polarity, 0)))
|
||||
{
|
||||
vspd = -vspd;
|
||||
drill_toggle = 0;
|
||||
}
|
||||
}
|
||||
draw_timer(step/2);
|
||||
dupdate();
|
||||
|
@ -296,6 +274,34 @@ int main(void)
|
|||
tp_buffer = 1;
|
||||
}
|
||||
else tp_buffer = 0;
|
||||
//drill logic
|
||||
if (drill_toggle)
|
||||
{
|
||||
drill_x = player_x;
|
||||
drill_y = player_y;
|
||||
switch (selected_direction)
|
||||
{
|
||||
case UP:
|
||||
drill_y -= 12;
|
||||
break;
|
||||
case DOWN:
|
||||
drill_y += 12;
|
||||
break;
|
||||
case LEFT:
|
||||
drill_x -= 12;
|
||||
break;
|
||||
case RIGHT:
|
||||
drill_x += 12;
|
||||
break;
|
||||
}
|
||||
collide_and_erase(drill_x, drill_y, level, 'd');
|
||||
if ((selected_direction == UP || selected_direction == DOWN) &&
|
||||
(collide_spike(drill_x, drill_y, level) || collide_solid(drill_x, drill_y, level, polarity, 0)))
|
||||
{
|
||||
vspd = -vspd;
|
||||
drill_toggle = 0;
|
||||
}
|
||||
}
|
||||
//spike collision and death
|
||||
if (collide_spike(player_x, player_y, level))
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue