mirror of
https://github.com/zoriya/Bomberman.git
synced 2026-05-06 21:27:37 +00:00
aggressive ai stuck in loop
This commit is contained in:
266
a
266
a
@@ -1,266 +0,0 @@
|
||||
WARNING: SHADER: [ID 5] Failed to find shader attribute: vertexTexCoord2
|
||||
WARNING: SHADER: [ID 5] Failed to find shader attribute: vertexNormal
|
||||
WARNING: SHADER: [ID 5] Failed to find shader attribute: vertexTangent
|
||||
WARNING: SHADER: [ID 5] Failed to find shader attribute: vertexColor
|
||||
WARNING: SHADER: [ID 5] Failed to find shader uniform: view
|
||||
WARNING: SHADER: [ID 5] Failed to find shader uniform: projection
|
||||
WARNING: SHADER: [ID 5] Failed to find shader uniform: matNormal
|
||||
WARNING: SHADER: [ID 5] Failed to find shader uniform: colDiffuse
|
||||
WARNING: SHADER: [ID 5] Failed to find shader uniform: texture1
|
||||
WARNING: SHADER: [ID 5] Failed to find shader uniform: texture2
|
||||
WARNING: SHADER: [ID 5] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 5] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 5] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader attribute: vertexTexCoord2
|
||||
WARNING: SHADER: [ID 8] Failed to find shader attribute: vertexTangent
|
||||
WARNING: SHADER: [ID 8] Failed to find shader attribute: vertexColor
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: view
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: projection
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: matNormal
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: colDiffuse
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: texture1
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: texture2
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 5] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 5] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 5] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 5] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 5] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 5] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 5] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 5] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 5] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 5] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 5] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 5] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 5] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 5] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 5] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 5] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 5] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 5] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 5] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 5] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 5] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 5] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 5] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 5] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 5] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 5] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 5] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 5] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 5] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 5] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 5] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 5] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 5] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 5] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 5] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 5] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 5] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 5] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 5] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 5] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 5] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 5] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 5] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
WARNING: SHADER: [ID 8] Failed to find shader uniform: mask
|
||||
@@ -9,7 +9,7 @@ mapinfo.dist { }
|
||||
------------
|
||||
|
||||
------ Debug variables
|
||||
local debug = false
|
||||
local debug = true
|
||||
|
||||
if not debug then
|
||||
log = function() end
|
||||
@@ -50,7 +50,7 @@ function CreateMyMap(infos, MaxX, MaxY)
|
||||
end
|
||||
end
|
||||
for i, info in ipairs(infos) do
|
||||
map[info.x][info.y] = info.type
|
||||
map[info.x][info.y] = math.floor(info.type)
|
||||
end
|
||||
--PrintMap(map, MaxX, MaxY)
|
||||
return map
|
||||
@@ -107,7 +107,7 @@ function not_in(set, node)
|
||||
end
|
||||
|
||||
|
||||
function getNeighbors(node)
|
||||
function getNeighborsDefend(node)
|
||||
local neighbors = {}
|
||||
for _, dir in ipairs(Dirs) do
|
||||
local neighborX = node.x + dir.x
|
||||
@@ -150,16 +150,19 @@ function getLowestFromSet(set, f_score)
|
||||
end
|
||||
|
||||
function fill_path(path, came_from, node)
|
||||
if came_from[node] then
|
||||
table.insert(path, 1, came_from[node])
|
||||
return fill_path(path, came_from, came_from[node])
|
||||
if came_from[node.x][node.y].x >= 0 and came_from[node.x][node.y].y >= 0 then
|
||||
table.insert(path, 1, came_from[node.x][node.y])
|
||||
return fill_path(path, came_from, came_from[node.x][node.y])
|
||||
else
|
||||
return path
|
||||
end
|
||||
end
|
||||
|
||||
--A star search
|
||||
function pathfind(root, target)
|
||||
function pathfind(root, target, getNeighborFunc)
|
||||
if getNeighborFunc == nil then
|
||||
getNeighborFunc = getNeighborsDefend
|
||||
end
|
||||
local closed = {}
|
||||
local open = { root }
|
||||
local came_from = {}
|
||||
@@ -170,6 +173,13 @@ function pathfind(root, target)
|
||||
g_score[root] = 0
|
||||
f_score[root] = dist(root, target)
|
||||
|
||||
|
||||
for i=0,MaxX + 1 do
|
||||
came_from[i] = {}
|
||||
for j=0,MaxY + 1 do
|
||||
came_from[i][j] = {x = -1, y = -1}
|
||||
end
|
||||
end
|
||||
while #open > 0 do
|
||||
log("openset size")
|
||||
log(#open)
|
||||
@@ -178,8 +188,10 @@ function pathfind(root, target)
|
||||
log(curr.x)
|
||||
log(curr.y)
|
||||
if curr.x == target.x and curr.y == target.y then
|
||||
log("came from")
|
||||
local path = fill_path({}, came_from, target) -- fill the path with came from
|
||||
table.insert(path, target)
|
||||
log("yee")
|
||||
return path
|
||||
end
|
||||
setRemove(open, curr) -- remove curr from open
|
||||
@@ -190,12 +202,25 @@ function pathfind(root, target)
|
||||
log(c.x)
|
||||
log(c.y)
|
||||
end
|
||||
local neighbors = getNeighbors(curr) -- get neighbors of current
|
||||
local neighbors = getNeighborFunc(curr)
|
||||
log("current neightbors") -- get neighbors of current
|
||||
log("openset size")
|
||||
log(#open)
|
||||
for _, neighbor in ipairs(neighbors) do
|
||||
log("i")
|
||||
if not_in(closed, neighbor) then -- neighbor not in closed set
|
||||
log("j")
|
||||
local try_g_score = g_score[curr] + 1
|
||||
if not_in(open, neighbor) or try_g_score < g_score[neighbor] then
|
||||
came_from[neighbor] = curr
|
||||
log("g score")
|
||||
log(g_score[curr])
|
||||
log("g score neig")
|
||||
log(g_score[neighbor])
|
||||
local g_score_neigh = 10000
|
||||
if g_score[neighbor] ~= nil then
|
||||
g_score_neigh = g_score[neighbor]
|
||||
end
|
||||
if not_in(open, neighbor) or try_g_score < g_score_neigh then
|
||||
came_from[neighbor.x][neighbor.y] = {x = neighbor.x, y = neighbor.y}
|
||||
g_score[neighbor] = try_g_score
|
||||
f_score[neighbor] = g_score[neighbor] + dist(neighbor, target)
|
||||
if not_in(open, neighbor) then
|
||||
@@ -235,19 +260,37 @@ function getPathToSafeSpace(player)
|
||||
return path
|
||||
end
|
||||
|
||||
function getNeighborAttack()
|
||||
function getNeighborAttack(node)
|
||||
log("atta")
|
||||
local neighbors = {}
|
||||
for _, dir in ipairs(Dirs) do
|
||||
local neighborX = node.x + dir.x
|
||||
local neighborY = node.y + dir.y
|
||||
if neighborY <= MaxY and neighborX <= MaxX then
|
||||
if neighborY >= 0 and neighborX >= 0 then
|
||||
if Map[neighborX][neighborY] <= 1 and Danger[neighborX][neighborY] ~= 1 then
|
||||
table.insert(neighbors, {x = neighborX, y = neighborY})
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
return neighbors
|
||||
end
|
||||
|
||||
function getPathToEnemy(player, enemies)
|
||||
local minDist = 100000
|
||||
local res = {}
|
||||
log("c")
|
||||
for _, enemy in ipairs(enemies) do
|
||||
log("wa")
|
||||
local currDist = dist(player, enemy)
|
||||
if currDist < minDist then
|
||||
if currDist < minDist and enemy.x ~= player.x and enemy.y ~= player.y then
|
||||
minDist, res = currDist, enemy
|
||||
end
|
||||
end
|
||||
log("d")
|
||||
local path = pathfind(player, res, getNeighborAttack)
|
||||
log("e")
|
||||
return path
|
||||
end
|
||||
|
||||
@@ -267,7 +310,7 @@ function Update(mapinfo)
|
||||
end
|
||||
Map = CreateMyMap(mapinfo.raw, MaxX, MaxY)
|
||||
Danger = CreateDangerMap(mapinfo.danger)
|
||||
PrintMap(Danger, MaxX, MaxY)
|
||||
PrintMap(Map, MaxX, MaxY)
|
||||
log("Current player pos")
|
||||
log(mapinfo.player.x)
|
||||
log(mapinfo.player.y)
|
||||
@@ -306,8 +349,12 @@ function Update(mapinfo)
|
||||
LastTarget = {x = f.x, y = f.y}
|
||||
return f.x - roundedPlayerPos.x, f.y - roundedPlayerPos.y, false, false
|
||||
else
|
||||
log("SAFE")
|
||||
local enemies = mapinfo.enemies
|
||||
log("len")
|
||||
log(#enemies)
|
||||
local pathToEnemy = getPathToEnemy(roundedPlayerPos, enemies)
|
||||
log("b")
|
||||
if #pathToEnemy == 0 then
|
||||
return 0, 0, false, false
|
||||
end
|
||||
@@ -315,6 +362,12 @@ function Update(mapinfo)
|
||||
log("first way of the path")
|
||||
log(f.x)
|
||||
log(f.y)
|
||||
log("PATH")
|
||||
for i, c in ipairs(pathToEnemy) do
|
||||
log("member")
|
||||
log(c.x)
|
||||
log(c.y)
|
||||
end
|
||||
LastTarget = {x = f.x, y = f.y}
|
||||
--pathfind to closest player
|
||||
if LastPos == nil then
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#include <Wal.hpp>
|
||||
#include "Runner.hpp"
|
||||
#include <map>
|
||||
#include "Component/Tag/TagComponent.hpp"
|
||||
#include <Component/Bonus/PlayerBonusComponent.hpp>
|
||||
#include "Component/Music/MusicComponent.hpp"
|
||||
#include "Component/Sound/SoundComponent.hpp"
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
// Created by Louis Auzuret on 06/07/21
|
||||
//
|
||||
|
||||
#include "Component/Score/ScoreComponent.hpp"
|
||||
#include "Component/Bomb/BasicBombComponent.hpp"
|
||||
#include "Component/Tag/TagComponent.hpp"
|
||||
#include "Component/Timer/TimerComponent.hpp"
|
||||
@@ -19,15 +20,13 @@ namespace BBM
|
||||
void IAControllableSystem::UpdateMapInfos(WAL::ViewEntity<PositionComponent, ControllableComponent, IAControllableComponent, BombHolderComponent> &entity)
|
||||
{
|
||||
_players.clear();
|
||||
for (auto &[other, pos, _] : _wal.getScene()->view<PositionComponent, TagComponent<Player>>()) {
|
||||
if (static_cast<WAL::Entity>(entity).getUid() == other.getUid())
|
||||
continue;
|
||||
if (!_wal.getScene())
|
||||
return;
|
||||
for (auto &[other, pos, _] : _wal.getScene()->view<PositionComponent, ScoreComponent>()) {
|
||||
_players.push_back(MapInfo(pos.position, MapGenerator::NOTHING));
|
||||
}
|
||||
if (_cached)
|
||||
return;
|
||||
if (!_wal.getScene())
|
||||
return;
|
||||
for (auto &[other, pos, _] : _wal.getScene()->view<PositionComponent, TagComponent<Breakable>>())
|
||||
_map.push_back(MapInfo(pos.position, MapGenerator::BREAKABLE));
|
||||
for (auto &[other, pos, _] : _wal.getScene()->view<PositionComponent, TagComponent<Unbreakable>>())
|
||||
@@ -142,12 +141,32 @@ namespace BBM
|
||||
state.setTable();
|
||||
}
|
||||
|
||||
void IAControllableSystem::pushInfoEnemies(LuaG::State &state)
|
||||
{
|
||||
int index = 1;
|
||||
state.push("enemies");
|
||||
state.newTable();
|
||||
for (auto &player : _players) {
|
||||
state.push(index++);
|
||||
state.newTable();
|
||||
state.push("x");
|
||||
state.push(player.x);
|
||||
state.setTable();
|
||||
state.push("y");
|
||||
state.push(player.z);
|
||||
state.setTable();
|
||||
state.setTable();
|
||||
}
|
||||
state.setTable();
|
||||
}
|
||||
|
||||
void IAControllableSystem::pushInfo(LuaG::State &state, MapInfo &player, BombHolderComponent &bombHolder)
|
||||
{
|
||||
state.newTable();
|
||||
pushInfoPlayer(state, player, bombHolder);
|
||||
pushInfoRaw(state);
|
||||
pushInfoDanger(state);
|
||||
pushInfoEnemies(state);
|
||||
}
|
||||
|
||||
void IAControllableSystem::onFixedUpdate(WAL::ViewEntity<PositionComponent, ControllableComponent, IAControllableComponent, BombHolderComponent> &entity)
|
||||
|
||||
@@ -45,6 +45,9 @@ namespace BBM
|
||||
//! @brief push danger map info
|
||||
void pushInfoDanger(LuaG::State &state);
|
||||
|
||||
//! @brief push info ennemies
|
||||
void pushInfoEnemies(LuaG::State &state);
|
||||
|
||||
//! @brief push all the infos to the lua stack
|
||||
void pushInfo(LuaG::State &state, MapInfo &player, BombHolderComponent &bombHolder);
|
||||
public:
|
||||
|
||||
Reference in New Issue
Block a user