let speed = 100 let setup = fn() { return { .color: { .r: random_u8(), .g: random_u8(), .b: random_u8(), }, .rect: { .dimensions: { .x: 100, .y: 100, .w: 100, .h: 100, }, .color: { .r: random_u8(), .g: random_u8(), .b: random_u8(), }, }, }; } let update = fn(state, input) { let delta = get_frame_time(); let movement = { .x: input.gamepad1.sticks.left.x, .y: input.gamepad1.sticks.left.y, }; state.rect.dimensions.x = state.rect.dimensions.x + (delta * speed * movement.x); state.rect.dimensions.y = state.rect.dimensions.y + (delta * speed * movement.y); return state; } let draw = fn(state) { frame_clear(state.color.r, state.color.g, state.color.b); draw_rectangle(state.rect.dimensions, state.rect.color); }