File tree 2 files changed +216
-0
lines changed
2 files changed +216
-0
lines changed Original file line number Diff line number Diff line change
1
+ /*
2
+ First time? Check out the tutorial game:
3
+ https://sprig.hackclub.com/gallery/getting_started
4
+
5
+ @title : Maze Ball
6
+ @author : doggo_742
7
+ @tags : []
8
+ @addedOn : 2024-00-00
9
+ Roll through the labyrinth! New levels every day!
10
+ */
11
+
12
+ const player = "p"
13
+ const wall = "w"
14
+ const goal = "g"
15
+ setLegend (
16
+ [ player , bitmap `
17
+ ................
18
+ ................
19
+ .....555555.....
20
+ ...5555555555...
21
+ ...5555555555...
22
+ ..555555555555..
23
+ ..555555555555..
24
+ ..555555555555..
25
+ ..555555555555..
26
+ ..555555555555..
27
+ ..555555555555..
28
+ ...5555555555...
29
+ ...5555555555...
30
+ .....555555.....
31
+ ................
32
+ ................` ] ,
33
+ [ wall , bitmap `
34
+ LLLLLLLLLLLLLLLL
35
+ LLLLLLLLLLLLLLLL
36
+ LLLLLLLLLLLLLLLL
37
+ LLLLLLLLLLLLLLLL
38
+ LLLLLLLLLLLLLLLL
39
+ LLLLLLLLLLLLLLLL
40
+ LLLLLLLLLLLLLLLL
41
+ LLLLLLLLLLLLLLLL
42
+ LLLLLLLLLLLLLLLL
43
+ LLLLLLLLLLLLLLLL
44
+ LLLLLLLLLLLLLLLL
45
+ LLLLLLLLLLLLLLLL
46
+ LLLLLLLLLLLLLLLL
47
+ LLLLLLLLLLLLLLLL
48
+ LLLLLLLLLLLLLLLL
49
+ LLLLLLLLLLLLLLLL` ] ,
50
+ [ goal , bitmap `
51
+ ................
52
+ ................
53
+ .....DDDDDD.....
54
+ ...DDDDDDDDDD...
55
+ ...DD......DD...
56
+ ..DD........DD..
57
+ ..DD........DD..
58
+ ..DD........DD..
59
+ ..DD........DD..
60
+ ..DD........DD..
61
+ ..DD........DD..
62
+ ...DD......DD...
63
+ ...DDDDDDDDDD...
64
+ .....DDDDDD.....
65
+ ................
66
+ ................` ] ,
67
+ )
68
+ // Make sure each sprite definition is enclosed in square brackets within the setLegend function call.
69
+ setSolids ( [ wall , player ] )
70
+
71
+ // Add this code inside the afterInput block to check for reaching the goal
72
+ afterInput ( ( ) => {
73
+ const playerSprite = getFirst ( player )
74
+ const goalTile = getTile ( playerSprite . x , playerSprite . y ) . find ( sprite => sprite . type === goal )
75
+
76
+ if ( goalTile ) {
77
+ level ++
78
+ clearTile ( playerSprite . x , playerSprite . y )
79
+ if ( levels [ level ] ) {
80
+ setMap ( levels [ level ] )
81
+ } else {
82
+ console . log ( "You have completed all levels!" )
83
+ }
84
+ }
85
+ } )
86
+ let level = 0
87
+ const levels = [
88
+ map `
89
+ wwwwwwwwwww
90
+ w.........w
91
+ w.wwwww.w.w
92
+ w.w...w.www
93
+ w.w.www...w
94
+ w...wp..w.w
95
+ www.wwwwwww
96
+ w......w.gw
97
+ w.www.ww.ww
98
+ w...w.....w
99
+ wwwwwwwwwww` ,
100
+ map `
101
+ wwwwwwwwwww
102
+ w...w.....w
103
+ w.w.wwwww.w
104
+ w.w.......w
105
+ w.wwwwwww.w
106
+ w.wpwg..w.w
107
+ w.w.www.w.w
108
+ w.w.w...w.w
109
+ w.w.w.www.w
110
+ w...w.....w
111
+ wwwwwwwwwww` ,
112
+ map `
113
+ wwwwwwwwwww
114
+ w........pw
115
+ w.wwwwwwwww
116
+ w.w...w.w.w
117
+ w.www.w.w.w
118
+ w...w.w...w
119
+ w.w.w.w.www
120
+ w.w.......w
121
+ www.wwwww.w
122
+ w.....wg..w
123
+ wwwwwwwwwww` ,
124
+ map `
125
+ wwwwwwwwwww
126
+ wp....wgw.w
127
+ www.www.w.w
128
+ w.w.w.w.w.w
129
+ w.w.w.w.w.w
130
+ w.w...w...w
131
+ w.w.w.www.w
132
+ w.w.w.w...w
133
+ w.www.w.www
134
+ w.........w
135
+ wwwwwwwwwww` ,
136
+ map `
137
+ wwwwwwwwwww
138
+ wp....w...w
139
+ w.wwwwwww.w
140
+ w...w.....w
141
+ www.w.w.www
142
+ w.....w.w.w
143
+ w.wwwwwww.w
144
+ w.........w
145
+ www.wwwww.w
146
+ w...wg....w
147
+ wwwwwwwwwww` ,
148
+ map `
149
+ wwwwwwwwwww
150
+ wp....w...w
151
+ w.w.w.w.w.w
152
+ w.w.w.w.w.w
153
+ www.www.www
154
+ w.........w
155
+ w.www.w.w.w
156
+ w...w.w.w.w
157
+ wwwwwww.w.w
158
+ wg......w.w
159
+ wwwwwwwwwww` ,
160
+ map `
161
+ wwwwwwwwwww
162
+ w.....w...w
163
+ www.w.www.w
164
+ w...wpw.w.w
165
+ www.www.w.w
166
+ wgw.......w
167
+ w.wwwww.w.w
168
+ w.w...w.w.w
169
+ w.www.www.w
170
+ w.........w
171
+ wwwwwwwwwww` ,
172
+ map `
173
+ wwwwwwwwwww
174
+ w..pw...wgw
175
+ w.www.www.w
176
+ w.....w...w
177
+ w.wwwwwww.w
178
+ w...w.w...w
179
+ www.w.w.www
180
+ w.w.w.w...w
181
+ w.w.w.www.w
182
+ w.........w
183
+ wwwwwwwwwww` ,
184
+ map `
185
+ wwwwwwwwwww
186
+ wpwg......w
187
+ w.wwwwwww.w
188
+ w.w.w...w.w
189
+ w.w.www.w.w
190
+ w.......w.w
191
+ w.w.www.w.w
192
+ w.w.w...w.w
193
+ w.wwwww.w.w
194
+ w...w.....w
195
+ wwwwwwwwwww`
196
+
197
+ ]
198
+
199
+ setMap ( levels [ level ] )
200
+
201
+ setPushables ( {
202
+ [ player ] : [ ]
203
+ } )
204
+
205
+ onInput ( "s" , ( ) => {
206
+ getFirst ( player ) . y += 1
207
+ } )
208
+ onInput ( "w" , ( ) => {
209
+ getFirst ( player ) . y -= 1
210
+ } )
211
+ onInput ( "d" , ( ) => {
212
+ getFirst ( player ) . x += 1
213
+ } )
214
+ onInput ( "a" , ( ) => {
215
+ getFirst ( player ) . x -= 1
216
+ } )
You can’t perform that action at this time.
0 commit comments