Prevent pyras from starting too close
This commit is contained in:
30
pyras.p8
30
pyras.p8
@ -6,8 +6,6 @@ __lua__
|
||||
|
||||
function _init()
|
||||
initgame()
|
||||
initguy()
|
||||
initpyras()
|
||||
end
|
||||
|
||||
function _update()
|
||||
@ -29,10 +27,10 @@ function initguy()
|
||||
end
|
||||
|
||||
function moveguy()
|
||||
if (btn(0)) guy.x=max(0,guy.x-guy.speed)
|
||||
if (btn(1)) guy.x=min(127,guy.x+guy.speed)
|
||||
if (btn(2)) guy.y=max(0,guy.y-guy.speed)
|
||||
if (btn(3)) guy.y=min(127,guy.y+guy.speed)
|
||||
if (btn(⬅️)) guy.x=max(0,guy.x-guy.speed)
|
||||
if (btn(➡️)) guy.x=min(127,guy.x+guy.speed)
|
||||
if (btn(⬆️)) guy.y=max(0,guy.y-guy.speed)
|
||||
if (btn(⬇️)) guy.y=min(127,guy.y+guy.speed)
|
||||
end
|
||||
|
||||
function drawguy()
|
||||
@ -52,10 +50,13 @@ end
|
||||
function initpyras()
|
||||
pyras={}
|
||||
for i=1,game.nbpyras do
|
||||
pyras[i]={
|
||||
x=flr(rnd(128)),
|
||||
y=flr(rnd(128))
|
||||
}
|
||||
repeat
|
||||
pyras[i]={
|
||||
x=flr(rnd(128)),
|
||||
y=flr(rnd(128))
|
||||
}
|
||||
until abs(pyras[i].x-guy.x)>5
|
||||
or abs(pyras[i].y-guy.y)>5
|
||||
end
|
||||
end
|
||||
|
||||
@ -95,13 +96,16 @@ end
|
||||
-->8
|
||||
-- game
|
||||
game={
|
||||
level=4
|
||||
level=1,
|
||||
slowdown=0.1
|
||||
}
|
||||
|
||||
function initgame()
|
||||
game.state=0
|
||||
game.tick=0
|
||||
game.nbpyras=flr(40*1.25^game.level)
|
||||
initguy()
|
||||
initpyras()
|
||||
end
|
||||
|
||||
function drawbg()
|
||||
@ -113,9 +117,9 @@ function drawbg()
|
||||
end
|
||||
|
||||
function waitormove()
|
||||
if game.tick>0.05*#pyras then
|
||||
movepyras()
|
||||
if game.tick>min(10,game.slowdown*#pyras) then
|
||||
moveguy()
|
||||
movepyras()
|
||||
game.tick=0
|
||||
end
|
||||
end
|
||||
|
Reference in New Issue
Block a user