X-Git-Url: http://git.purplebirdman.com/catris.git/blobdiff_plain/35c13ea7b3cdfe2da392fbd9c5b0c7aac97f5d6f..a626f4d0c215bd5f18ad3073ef9bda8e48ab8138:/script/board.gd diff --git a/script/board.gd b/script/board.gd index f820e00..6109ed3 100644 --- a/script/board.gd +++ b/script/board.gd @@ -39,8 +39,9 @@ func _input(event: InputEvent) -> void: _move(Vector2i(1, 0)) if event.is_action_pressed("player_up"): - # TODO: rotate - pass + if _player_piece: + _player_piece.rotate_left() + print(_player_piece.to_string()) if event.is_action("player_down"): _move(Vector2i(0, 1)) @@ -68,7 +69,7 @@ func _move(v: Vector2i): var new_player_position: Vector2i = _player_position + v # for each cell in the block, offset it by new position and check for collision - for pos: Vector2i in _player_piece.cell_grid: + for pos: Vector2i in _player_piece.get_cell_grid(): pos += new_player_position if pos.x < 0 or pos.x >= _grid_final_x_row: # ignore input that moves beyond lateral boundaries @@ -86,14 +87,15 @@ func _move(v: Vector2i): _player_piece.position = _player_position * block_size # if any cell's at the bottom of the grid, we're done - for pos: Vector2i in _player_piece.cell_grid: + for pos: Vector2i in _player_piece.get_cell_grid(): pos += _player_position if (pos.y >= _grid_final_y_row - 1): end_round.emit() + func _on_end_round(): # fill in collision grid with piece cells - for pos: Vector2i in _player_piece.cell_grid: + for pos: Vector2i in _player_piece.get_cell_grid(): pos += _player_position _set_grid_position(pos, true)