Skip to content

Commit e2ac2f7

Browse files
fix gsc cannot be destroyed
1 parent a9fcb7f commit e2ac2f7

File tree

2 files changed

+110
-1
lines changed

2 files changed

+110
-1
lines changed

stdlib/bounded_arg.rl

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,11 @@ ent<Int min, Int max> BInt:
4848
return self.value <= other
4949

5050
fun assign(Int other):
51-
self.value = min + (other % (max - min))
51+
self.value = other
52+
if self.value >= max:
53+
self.value = max - 1
54+
if self.value < min:
55+
self.value = min
5256

5357
fun not_equal(Int other) -> Bool:
5458
return self.value != other

tool/rlc/test/examples/space_hulk/main.rl

Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,111 @@ fun gen_printer_parser():
139139
fun main() -> Int:
140140
let state = play()
141141
print_indented(state)
142+
state.shoot(x, gs)
143+
state.quit()
144+
state.quit()
145+
state.begin_move(x)
146+
state.move(m)
147+
state.end_move()
148+
state.begin_move(x)
149+
state.move(m)
150+
state.end_move()
151+
state.begin_move(x)
152+
state.move(m)
153+
state.end_move()
154+
state.begin_move(x)
155+
state.move(m)
156+
state.end_move()
157+
state.quit()
158+
state.quit()
159+
state.begin_move(x)
160+
state.move(m)
161+
state.end_move()
162+
state.begin_move(x)
163+
state.move(m)
164+
state.end_move()
165+
state.begin_move(x)
166+
state.move(m)
167+
state.end_move()
168+
state.begin_move(x)
169+
state.move(m)
170+
state.end_move()
171+
state.quit()
172+
state.quit()
173+
state.begin_move(x)
174+
state.move(m)
175+
state.end_move()
176+
state.begin_move(x)
177+
state.move(m)
178+
state.end_move()
179+
state.begin_move(x)
180+
state.move(m)
181+
state.end_move()
182+
state.begin_move(x)
183+
state.move(m)
184+
state.end_move()
185+
state.quit()
186+
state.quit()
187+
state.begin_move(x)
188+
state.move(m)
189+
state.end_move()
190+
state.begin_move(x)
191+
state.move(m)
192+
state.end_move()
193+
state.begin_move(x)
194+
state.move(m)
195+
state.end_move()
196+
state.begin_move(x)
197+
state.move(m)
198+
state.end_move()
199+
state.quit()
200+
state.quit()
201+
state.begin_move(x)
202+
state.move(m)
203+
state.end_move()
204+
state.begin_move(x)
205+
state.move(m)
206+
state.end_move()
207+
state.begin_move(x)
208+
state.move(m)
209+
state.end_move()
210+
state.quit()
211+
state.quit()
212+
m.value = Direction::up.value
213+
state.turn(x, m)
214+
state.begin_move(x)
215+
state.move(m)
216+
state.end_move()
217+
state.begin_move(x)
218+
state.move(m)
219+
state.end_move()
220+
state.begin_move(x)
221+
state.move(m)
222+
state.end_move()
223+
state.quit()
224+
state.quit()
225+
state.begin_move(x)
226+
state.move(m)
227+
state.end_move()
228+
state.begin_move(x)
229+
state.move(m)
230+
state.end_move()
231+
state.begin_move(x)
232+
state.move(m)
233+
state.end_move()
234+
state.quit()
235+
state.quit()
236+
state.begin_move(x)
237+
state.move(m)
238+
state.end_move()
239+
state.begin_move(x)
240+
state.move(m)
241+
state.end_move()
242+
state.begin_move(x)
243+
state.move(m)
244+
state.end_move()
245+
state.quit()
246+
state.quit()
142247
state.board.pretty_print_board()
143248
return int(state.is_done()) - 1
144249

0 commit comments

Comments
 (0)