Spel26: Insektsinvasion

A-Corbis-DWF15-1022301_1_sdpxw9                                            Titta på en svärm av gräshoppor

Vi programmerar ett spel som går ut på att undvika att bli biten av anfallande insekter. Insekterna attraheras av en kraft av samma typ som Newtons gravitationskraft, dvs kraften ökar ju närmare insekten är sitt mål, som är Du! Jämför med Mechanics2 på App Store.

Template: (Följ spelet)

function setup()

print(“Undvik att bli biten av insekterna”)
print(“Öka svårigheten via parametern L”)

bugs = {}
bugvels = {}
me=vec2(0,0)
t=0
dt = 0.01
parameter.number(“L”,1,10,1)
E=0

end

function draw()
if E==0 then
t=t+1
background(0, 20, 255, 255)
L=math.floor(L)
if L*t/60 == math.floor(L*t/60) then
x=math.random(100,500)
y=math.random(900,1000)
table.insert(bugs,makeBug(x,y))
table.insert(bugvels,makeBugVel())
end

me=vec2(CurrentTouch.x,CurrentTouch.y)

for i,bug in pairs(bugs) do
dist=(me-bugs[i]):len()

if dist<10 then
font(“AmericanTypewriter”)
fontSize(100)
fill(240, 38, 21, 255)
text(“Game Over”,200,300)
E=1
end

force=vec2(0,-L*100)

if dist < 300 and dist > 100 then
force=force+(me-bugs[i])*40000000*L/(dist+1)^3
end

bugvels[i]=bugvels[i]+force*dt
bugs[i]=bugs[i]+bugvels[i]*dt

sprite(“Tyrian Remastered:Blimp Boss”,bugs[i].x,bugs[i].y,40)
fill(0, 73, 255, 255)
sprite(“Planet Cute:Character Horn Girl”,me.x,me.y,80)
end
end
end

function makeBug(x,y)
local bug=vec2()
bug.x = x
bug.y = y
return bug
end

function makeBugVel()
local bugvel=vec2(0,0)
return bugvel
end

Uppgift: Konstruera ett insektsspel där Du undviker att bli biten via styrning med ratt eller kraft enligt förgående post.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s