add auto control

This commit is contained in:
fnicon 2026-03-22 14:59:16 +09:00
parent 91faa6f8de
commit 9373054ebe
2 changed files with 32 additions and 2 deletions

View File

@ -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

View File

@ -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,
}
}
},