1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
|
bgcircles = {}
function scrollingcircles(y, speed, spacing, radius, color)
for i = 1, 256, spacing do
circfill((i-(t()*speed))%256-radius*2, y, radius, color)
end
end
function scrollingsprite(sprite,x,y,w,h,speed,flip)
flip = flip or false
spr(sprite, (-t()*speed+x+w*8)%(128+w*8)-w*8, y, w, h, flip)
end
function addbgcircle(x, y, velx, r, color, pos)
local circle = {}
circle.x = x
circle.y = y
circle.velx = velx
circle.r = r
circle.color = color
function circle.draw(circle)
circle.x += circle.velx
if circle.x < 0 - circle.r * 2 then
del(bgcircles, circle)
end
circfill(circle.x,circle.y,circle.r,circle.color)
end
add(bgcircles,circle, pos)
end
function drawbg()
cls(0)
camera((sin(shake+t())*shake)/3, (sin(shake+t()/2.1)*shake)/3)
--stars
for i = 1, 64, 1 do
pset(((-t()+i*4.3824)*(i/32))%128, sin(i*0.536382)*64+64, 4)
end
--ringed planet
palt(0,false)
spr(194,160-t(),50,4,2)
spr(199,200-t(),50,2,2)
spr(214,192-t(),58,1,1)
spr(201,160-t(),66,6,2)
spr(207,208-t(),66,1,1)
spr(235,152-t(),82,1,1)
spr(237,168-t(),82,3,1)
spr(251,152-t(),90,4,1)
spr(255,192-t(),82,1,1)
palt(0,true)
--clouds
scrollingcircles(-9, 24, 22, 22, 2)
scrollingcircles(-14, 40, 25, 20, 4)
--sprites
--small clouds
scrollingsprite(198, 20, 10, 1, 1, 28)
scrollingsprite(236, 60, 10, 1, 1, 28)
scrollingsprite(198, 100, 10, 1, 1, 28)
scrollingsprite(236, 120, 10, 1, 1, 28)
scrollingsprite(236, 130, 12, 1, 1, 29)
scrollingsprite(198, 145, 15, 1, 1, 30)
scrollingsprite(236, 160, 15, 1, 1, 30)
scrollingsprite(198, 170, 15, 1, 1, 30)
--large clouds
scrollingsprite(249, 40, 3, 2, 1, 35)
scrollingsprite(249, 80, 3, 2, 1, 35)
scrollingsprite(233, 120, 5, 2, 1, 36)
scrollingsprite(233, 160, 5, 2, 1, 36)
scrollingsprite(249, 180, 7, 2, 1, 38)
scrollingsprite(233, 240, 7, 2, 1, 38)
scrollingsprite(249, 260, 7, 2, 1, 38)
camera((sin(shake+t())*shake)/2, (sin(shake+t()/2.1)*shake)/2)
--landscape
scrollingcircles(125, 72, 25, 20, 8)
--scrolling sprites
--pine trees
scrollingsprite(231,20,77+16,2,2,72,true)
scrollingsprite(231,70,78+16,2,2,72)
scrollingsprite(231,80,80+16,2,2,72)
scrollingsprite(231,95,78+16,2,2,72)
scrollingsprite(231,100,79+16,2,2,72)
scrollingsprite(231,120,80+16,2,2,72,true)
--small buildings
scrollingsprite(226,15,80+16,2,2,78)
scrollingsprite(226,65,80+16,2,2,78)
scrollingsprite(226,95,80+16,2,2,78)
scrollingsprite(226,115,80+16,2,2,78)
--totem poles
scrollingsprite(230,25,83+16,1,2,82)
scrollingsprite(230,65,84+16,1,2,82)
scrollingsprite(230,85,85+16,1,2,82)
--dead trees
scrollingsprite(228,30,85+16,2,2,84)
scrollingsprite(228,75,86+16,2,2,84,true)
scrollingsprite(228,100,87+16,2,2,84)
scrollingsprite(228,120,88+16,2,2,84,true)
--large buildings (front)
scrollingsprite(192,55,94,2,4,90)
scrollingsprite(192,20,91,2,4,90)
scrollingsprite(192,100,90,2,4,90)
scrollingsprite(192,130,92,2,4,90)
camera(sin(shake+t())*shake, sin(shake+t()/2.1)*shake)
scrollingcircles(154, 100, 30, 32, 2)
end
|