reflect off walls

This commit is contained in:
mehbark 2025-05-05 00:30:41 -04:00
parent 787210847b
commit 739df1227c

View file

@ -17,7 +17,7 @@ enum Type {
## squares per second ## squares per second
@export_range(0.1, 50) var anim_speed := 10.0 @export_range(0.1, 50) var anim_speed := 10.0
@export_range(0.1, 50) var anim_speed_slow := 2.0 @export_range(0.1, 50) var anim_speed_slow := 1.0
#TODO: {un,}do_bump animation method (good visual clarity) #TODO: {un,}do_bump animation method (good visual clarity)
@ -42,7 +42,8 @@ var lpos: Vector2i:
@onready var anim_progress := 1.0 @onready var anim_progress := 1.0
var speedometer: Label3D var speedometer: Label3D
# TODO: this is *complex*, transfer momentum and stuff # TODO: much, *much* better animation is needed. ESPECIALLY if we're doing slowmo
# (we're doing slowmo because it is SICK)
func do_step(board: Board): func do_step(board: Board):
if lvel == Vector2i.ZERO: if lvel == Vector2i.ZERO:
return return
@ -58,7 +59,7 @@ func do_step(board: Board):
ball_here.do_push(lvel/2 + rem).call() ball_here.do_push(lvel/2 + rem).call()
lvel = -lvel/2 lvel = -lvel/2
else: else:
lvel -= move lvel *= -1
return return
lpos = new_pos lpos = new_pos
var on_ice := !!board.type_at(lpos, Piece.Type.FloorIce) var on_ice := !!board.type_at(lpos, Piece.Type.FloorIce)