rough friction
This commit is contained in:
@@ -70,8 +70,8 @@ void key_down(char k)
|
||||
printf("%c pressed!\n", k);
|
||||
switch (k)
|
||||
{
|
||||
case 'a': player_ax = -1; break;
|
||||
case 'd': player_ax = 1; break;
|
||||
case 'a': player_ax = -2; break;
|
||||
case 'd': player_ax = 2; break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -160,6 +160,14 @@ void in_bounds(void)
|
||||
if (player_y > screen_height- 50) player_y = screen_height - 50;
|
||||
}
|
||||
|
||||
void apply_friction(void) /* FIXME */
|
||||
{
|
||||
if (player_vx > 0) player_vx -= 1;
|
||||
else if (player_vx < 0) player_vx += 1;
|
||||
if (player_vy > 0) player_vy -= 1;
|
||||
else if (player_vy < 0) player_vy += 1;
|
||||
}
|
||||
|
||||
void tick(void)
|
||||
{
|
||||
/* run every N milliseconds... nanoseconds? idk */
|
||||
@@ -179,6 +187,7 @@ void tick(void)
|
||||
else player_ay = 9.81;
|
||||
player_vx += player_ax;
|
||||
player_vy += player_ay;
|
||||
apply_friction(); /* FIXME */
|
||||
player_x += (int)player_vx;
|
||||
player_y += (int)player_vy;
|
||||
in_bounds();
|
||||
|
||||
Reference in New Issue
Block a user