From 9373054ebe4c101800ab03ccbc19d6d918a4e296 Mon Sep 17 00:00:00 2001 From: fnicon Date: Sun, 22 Mar 2026 14:59:16 +0900 Subject: [PATCH] add auto control --- game/love_src/src/new/components/actor.lua | 30 ++++++++++++++++++++++ game/love_src/src/new/world/race.lua | 4 +-- 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/game/love_src/src/new/components/actor.lua b/game/love_src/src/new/components/actor.lua index a91db69..bded46c 100644 --- a/game/love_src/src/new/components/actor.lua +++ b/game/love_src/src/new/components/actor.lua @@ -1,4 +1,5 @@ local main_wrapper = require "love_src.wrapper.lappy.world" +local vm = require "lib.vornmath" ---@class wrappers.Concord.world : lappy.world local world = main_wrapper:extend() @@ -19,4 +20,33 @@ function world:load(entity, data) self.data = data or default end +local function handle_input(v2, accel, brake, steer) + local desire_forward = 0 + local desire_steer = 0 + if (v2[1] > 0) then + desire_forward = accel + elseif (v2[1] < 0) then + desire_forward = - brake + end + if (v2[2] < 0) then + desire_steer = steer + elseif (v2[2] > 0) then + desire_steer = - steer + end + return desire_forward, desire_steer +end + +local function plan() + return vm.vec2(1.0, 1.0) +end + +function world:update(dt) + local accel, brake, steer = self.e.components.racer.data.accel, self.e.components.racer.data.brake, self.e.components.racer.data.steer + local plan_v = plan() + local desire_forward, desire_steer = handle_input(plan_v, accel, brake, steer) + + self.data.forward = desire_forward + self.data.steer = desire_steer +end + return world diff --git a/game/love_src/src/new/world/race.lua b/game/love_src/src/new/world/race.lua index f036307..8a53bbc 100644 --- a/game/love_src/src/new/world/race.lua +++ b/game/love_src/src/new/world/race.lua @@ -17,7 +17,7 @@ local entities_default = { { components = { racer = require("love_src.src.new.components.racer"), - actor = require("love_src.src.new.components.player"), + actor = require("love_src.src.new.components.actor"), }, type = "racer", name = "racer 1", @@ -44,7 +44,7 @@ local entities_default = { }, actor = { forward = 0.0, - steer = 0.0 + steer = 0.0, } } },