[WIP] Treballant en el jefe. Organitzant codi (Ha deixat de funcionar quasi tot)
[FIX] Els warps reutilitzats mantenien l'estat anterior [NEW] Funcio distancia(a, b)
This commit is contained in:
98
data/imp_movement.lua
Normal file
98
data/imp_movement.lua
Normal file
@@ -0,0 +1,98 @@
|
||||
-------------------------------------------------------------------
|
||||
-- // FREE MOVEMENT
|
||||
|
||||
function imp:free_movement() --OK
|
||||
if DEBUG_FN_NAME then print("free_movement") end
|
||||
self.move_type = self.move_types.free
|
||||
print("Free")
|
||||
end
|
||||
|
||||
-------------------------------------------------------------------
|
||||
-- // PATTERN MOVEMENT
|
||||
|
||||
function imp:pattern_movement() --OK
|
||||
if DEBUG_FN_NAME then print("pattern_movement") end
|
||||
self.movement_type = "pattern"
|
||||
-- print("Pattern")
|
||||
end
|
||||
|
||||
function imp:pattern_recovery() -- OK
|
||||
-- print("Pattern recovery")
|
||||
self:pattern_movement() -- Canviar a moviment per patró
|
||||
self:path_reset() -- Borrar les instruccions pendents
|
||||
|
||||
-- Situar-se en el mapa respecte als punts de recuperació (els tres punts del pis)
|
||||
local x_after_4 = false
|
||||
local x_after_5 = false
|
||||
local x_after_6 = false
|
||||
local y_upper_4 = false
|
||||
local y_upper_5 = false
|
||||
local y_upper_6 = false
|
||||
|
||||
if self.hot_points[4].x<self.x then x_after_4 = true end
|
||||
if self.hot_points[5].x<self.x then x_after_5 = true end
|
||||
if self.hot_points[6].x<self.x then x_after_6 = true end
|
||||
-- Comparar en el punt dels peus
|
||||
if self.hot_points[4].y>self.y+self.h then y_upper_4 = true end
|
||||
if self.hot_points[5].y>self.y+self.h then y_upper_5 = true end
|
||||
if self.hot_points[6].y>self.y+self.h then y_upper_6 = true end
|
||||
|
||||
-- Seleccionar les instruccions segons la posicio
|
||||
if not y_upper_5 then
|
||||
-- target 5
|
||||
self.target = self.hot_points[5]
|
||||
if not x_after_5 then
|
||||
-- right target
|
||||
self.path = {next=5, actions={{action="right",event="target"}}}
|
||||
else
|
||||
-- left target
|
||||
self.path = {next=5, actions={{action="left",event="target"}}}
|
||||
end
|
||||
else
|
||||
if x_after_5 then
|
||||
--target 4
|
||||
self.target = self.hot_points[4]
|
||||
-- left target
|
||||
self.path = {next=4, actions={{action="left",event="target"}}}
|
||||
else
|
||||
--target 6
|
||||
self.target = self.hot_points[6]
|
||||
-- right target
|
||||
self.path = {next=6, actions={{action="right",event="target"}}}
|
||||
end
|
||||
end
|
||||
|
||||
-- Tornar l'acció a fer
|
||||
return self.actions[self.path.actions[1].action]
|
||||
end
|
||||
|
||||
function imp:pattern_next_target()
|
||||
if DEBUG_FN_NAME then print("pattern_next_target") end
|
||||
self.target = self.hot_points[self.path.next]
|
||||
end
|
||||
|
||||
-------------------------------
|
||||
-- imp.controller_input()
|
||||
--
|
||||
-- Traduir a una entrada de pad
|
||||
-------------------------------
|
||||
function imp:controller_input()
|
||||
if DEBUG_FN_NAME then print("controller_input") end
|
||||
|
||||
print(self.action)
|
||||
--To Do: JumpFWD
|
||||
if self.action == self.actions.right or self.action == self.actions.left then
|
||||
self.movement = self.action
|
||||
-- self.moure=imp.state_walking
|
||||
self:_moure(imp.state_walking, "state_walking (movement)")
|
||||
elseif self.action == self.actions.jump then
|
||||
-- self:do_jump()
|
||||
elseif self.action == "jumpfwd" then
|
||||
-- self:do_jump(true)
|
||||
elseif self.action == self.actions.shot then
|
||||
-- self:shot()
|
||||
elseif self.action == self.actions.super then
|
||||
-- self.moure=imp.state_super
|
||||
end
|
||||
self.action = self.actions.no_action
|
||||
end
|
||||
Reference in New Issue
Block a user