zombies.nv
· 1.4 KiB · Text
Raw
Playground
|#port, on draw zombie
, needs, @draw zombie
, reads, @zombie index|
|#port body, on draw zombies, lua|
local zombies = state.zombies
love.graphics.setColor(0.145, 0.133, 0.169)
love.graphics.circle("fill", zombie.x + 5, zombie.y + 5, zombie.r)
love.graphics.setColor(0.882, 0.314, 0.282)
love.graphics.circle("fill", zombie.x, zombie.y, zombie.r)
love.graphics.setColor(1, 1, 1)
|#port, on zombie track player
, needs, @zombie track player
, reads, @zombie index|
|#port body, on zombie track player, lua|
local player = state.player
local zombie = state.zombies[zombie_index]
zombie.angle = math.atan2(player.y - zombie.y, player.x - zombie.x)
|#port, on move zombie
, needs, @move zombie
, reads, @zombie index|
|#port body, on move zombie, lua|
local zombie = state.zombes[zombie_index]
zombie.x = zombie.x + state.dt * math.cos(zombie.angle) * 310
zombie.y = zombie.y + state.dt * math.sin(zombie.angle) * 310
|#port, on get zombie count, needs, @get zombie count|
@zombie count
|#port body, on get zombie count, lua|
counters["@zombie count"] = #state.zombies
|#port, on is zombie dead
, needs, @is zombie dead
, reads, @zombie index|
@zombie is dead
|#port body, on is zombie dead, lua|
local zombie = state.zombies[zombie_index]
counters["@zombie is dead"] = zombie.dead and 1 or 0
| 1 | |#port, on draw zombie |
| 2 | , needs, @draw zombie |
| 3 | , reads, @zombie index| |
| 4 | |#port body, on draw zombies, lua| |
| 5 | local zombies = state.zombies |
| 6 | love.graphics.setColor(0.145, 0.133, 0.169) |
| 7 | love.graphics.circle("fill", zombie.x + 5, zombie.y + 5, zombie.r) |
| 8 | |
| 9 | love.graphics.setColor(0.882, 0.314, 0.282) |
| 10 | love.graphics.circle("fill", zombie.x, zombie.y, zombie.r) |
| 11 | love.graphics.setColor(1, 1, 1) |
| 12 | |
| 13 | |#port, on zombie track player |
| 14 | , needs, @zombie track player |
| 15 | , reads, @zombie index| |
| 16 | |#port body, on zombie track player, lua| |
| 17 | local player = state.player |
| 18 | local zombie = state.zombies[zombie_index] |
| 19 | zombie.angle = math.atan2(player.y - zombie.y, player.x - zombie.x) |
| 20 | |
| 21 | |#port, on move zombie |
| 22 | , needs, @move zombie |
| 23 | , reads, @zombie index| |
| 24 | |#port body, on move zombie, lua| |
| 25 | local zombie = state.zombes[zombie_index] |
| 26 | zombie.x = zombie.x + state.dt * math.cos(zombie.angle) * 310 |
| 27 | zombie.y = zombie.y + state.dt * math.sin(zombie.angle) * 310 |
| 28 | |
| 29 | |#port, on get zombie count, needs, @get zombie count| |
| 30 | @zombie count |
| 31 | |#port body, on get zombie count, lua| |
| 32 | counters["@zombie count"] = #state.zombies |
| 33 | |
| 34 | |#port, on is zombie dead |
| 35 | , needs, @is zombie dead |
| 36 | , reads, @zombie index| |
| 37 | @zombie is dead |
| 38 | |#port body, on is zombie dead, lua| |
| 39 | local zombie = state.zombies[zombie_index] |
| 40 | counters["@zombie is dead"] = zombie.dead and 1 or 0 |