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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
|
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 scrollingcirclelines(y, speed, spacing, radius, color)
for i = 1, 256, spacing do
circ((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()*0.1)+i*4.3824)*(i/32))%128, sin(i*0.536382)*64+64, 4)
end
--galaxies
spr(254, 100, 40, 1, 1)
spr(239, 20, 30, 1, 1)
spr(254, 42, 72, 1, 1, true, true)
--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(234,152-t(),82,1,1)
spr(236,168-t(),82,3,1)
spr(250,152-t(),90,4,1)
spr(223,192-t(),82,1,1)
palt(0,true)
--clouds
scrollingcircles(-9, 24, 22, 22, 2)
--small clouds
scrollingsprite(198, 20, 10, 1, 1, 28)
scrollingsprite(235, 60, 10, 1, 1, 28)
scrollingsprite(198, 100, 10, 1, 1, 28)
scrollingsprite(235, 120, 10, 1, 1, 28)
scrollingsprite(235, 130, 12, 1, 1, 29)
scrollingsprite(198, 145, 15, 1, 1, 30)
scrollingsprite(235, 160, 15, 1, 1, 30)
scrollingsprite(198, 170, 15, 1, 1, 30)
--large clouds
scrollingsprite(248, 40, 5, 2, 1, 35)
scrollingsprite(248, 80, 5, 2, 1, 35)
scrollingsprite(232, 120, 7, 2, 1, 36)
scrollingsprite(232, 160, 7, 2, 1, 36)
scrollingsprite(248, 180, 9, 2, 1, 38)
scrollingsprite(232, 240, 9, 2, 1, 38)
scrollingsprite(248, 260, 9, 2, 1, 38)
--fg clouds
scrollingcirclelines(-11, 40, 25, 20, 2)
scrollingcircles(-12, 40, 25, 20, 4)
camera((sin(shake+t())*shake)/2, (sin(shake+t()/2.1)*shake)/2)
--landscape
scrollingcirclelines(125, 72, 25, 20, 8)
scrollingcircles(126, 72, 25, 20, 2)
--landscape lines
line(0, 112, 128, 112, 8)
line(0, 114, 128, 114, 8)
line(0, 116, 128, 116, 8)
line(0, 117, 128, 117, 8)
rectfill(0,119,128,128,8)
for i = 1, 32, 1 do
line(((-t()+i*2.5)*80)%128, 111, ((-t()+i*2.5)*80)%128*1.2-12.8, 125, 2)
end
--pine trees
scrollingsprite(231,10,78+16,1,2,72,true)
scrollingsprite(231,30,78+16,1,2,72)
scrollingsprite(231,20,77+16,1,2,72,true)
scrollingsprite(231,50,79+16,1,2,72,true)
scrollingsprite(231,62,77+16,1,2,72,true)
scrollingsprite(231,70,78+16,1,2,72)
scrollingsprite(231,80,79+16,1,2,72)
scrollingsprite(231,95,78+16,1,2,72)
scrollingsprite(231,100,77+16,1,2,72)
scrollingsprite(231,120,79+16,1,2,72,true)
--small buildings
scrollingsprite(226,15,82+16,2,2,80)
scrollingsprite(226,65,81+16,2,2,80)
scrollingsprite(226,95,80+16,2,2,80)
scrollingsprite(226,115,81+16,2,2,80)
--totem poles
scrollingsprite(230,25,83+16,1,2,84)
scrollingsprite(230,65,84+16,1,2,84,true)
scrollingsprite(230,85,85+16,1,2,84)
--dead trees
scrollingsprite(228,30,88+16,2,2,84)
scrollingsprite(228,75,89+16,2,2,84,true)
scrollingsprite(228,100,88+16,2,2,84)
scrollingsprite(228,120,89+16,2,2,84,true)
--large buildings (front)
scrollingsprite(192,52,94,2,4,90)
scrollingsprite(192,22,91,2,4,90)
scrollingsprite(192,102,90,2,4,90)
scrollingsprite(192,137,92,2,4,90)
camera(sin(shake+t())*shake, sin(shake+t()/2.1)*shake)
scrollingcirclelines(150, 100, 30, 32, 8)
scrollingcircles(151, 100, 30, 32, 2)
end
|