mirror of
https://github.com/flynx/Slang.git
synced 2025-10-29 10:40:07 +00:00
145 lines
3.4 KiB
JavaScript
145 lines
3.4 KiB
JavaScript
|
|
function test(){
|
||
|
|
var field = Field("field")
|
||
|
|
|
||
|
|
// TODO UI...
|
||
|
|
|
||
|
|
// setup a wall...
|
||
|
|
for(var i=8; i < 20; i++){
|
||
|
|
field.Wall(field.cell(12, i))
|
||
|
|
}
|
||
|
|
|
||
|
|
// apple and apple creation on callback...
|
||
|
|
field.Apple(field.cell(10, 4))
|
||
|
|
field.on_apple_eaten = function(){
|
||
|
|
field.Apple(field.cell(13, 6))
|
||
|
|
// remove the event handler...
|
||
|
|
field.on_apple_eaten = null
|
||
|
|
}
|
||
|
|
|
||
|
|
// snake 0 script...
|
||
|
|
// test general control and being killed...
|
||
|
|
var s0 = field.Snake('black', field.cell(2, 2), 's', 3)
|
||
|
|
setTimeout(function(){s0.left()}, 3000)
|
||
|
|
setTimeout(function(){s0.right()}, 6000)
|
||
|
|
|
||
|
|
// snake 1 script...
|
||
|
|
// test general controls and killing...
|
||
|
|
var s1 = field.Snake('blue', field.cell(6, 2), 's', 5)
|
||
|
|
setTimeout(function(){s1.right()}, 6000)
|
||
|
|
|
||
|
|
// snake 2 script...
|
||
|
|
// test apple eating...
|
||
|
|
var s2 = field.Snake('silver', field.cell(7, 4), 'e', 2)
|
||
|
|
setTimeout(function(){s2.right()}, 5000)
|
||
|
|
setTimeout(function(){s2.right()}, 6000)
|
||
|
|
|
||
|
|
// snake 3 script...
|
||
|
|
// test n/s wall traversal...
|
||
|
|
var s3 = field.Snake('green', field.cell(15, 2), 'n', 4)
|
||
|
|
setTimeout(function(){s3.right()}, 2000)
|
||
|
|
setTimeout(function(){s3.right()}, 3000)
|
||
|
|
|
||
|
|
// snake 4 script...
|
||
|
|
// test l/r wall traversal...
|
||
|
|
var s4 = field.Snake('gold', field.cell(2, 15), 'w', 4)
|
||
|
|
setTimeout(function(){s4.right()}, 2500)
|
||
|
|
setTimeout(function(){s4.right()}, 3500)
|
||
|
|
setTimeout(function(){s4.right()}, 5000)
|
||
|
|
|
||
|
|
// general game commands...
|
||
|
|
field.start(500)
|
||
|
|
setTimeout(function(){field.stop()}, 28000)
|
||
|
|
setTimeout(function(){field.reset()}, 30000)
|
||
|
|
|
||
|
|
|
||
|
|
// test the Game object...
|
||
|
|
setTimeout(function(){
|
||
|
|
var game = JSSnakeGame(field)
|
||
|
|
|
||
|
|
game.Wall()
|
||
|
|
game.Wall()
|
||
|
|
game.Wall()
|
||
|
|
game.Wall()
|
||
|
|
|
||
|
|
game.Apple()
|
||
|
|
game.Apple()
|
||
|
|
game.Apple()
|
||
|
|
game.Apple()
|
||
|
|
}, 8000)
|
||
|
|
|
||
|
|
// test for special cases...
|
||
|
|
setTimeout(function(){
|
||
|
|
var game = JSSnakeGame(field)
|
||
|
|
|
||
|
|
game.field.reset()
|
||
|
|
for(var i=0; i < game.field.cells.length; i++)
|
||
|
|
game.Wall(game.field.Cell(i), 3, 'n')
|
||
|
|
game.field.reset()
|
||
|
|
for(var i=0; i < game.field.cells.length; i++)
|
||
|
|
game.Wall(game.field.Cell(i), 3, 's')
|
||
|
|
game.field.reset()
|
||
|
|
for(var i=0; i < game.field.cells.length; i++)
|
||
|
|
game.Wall(game.field.Cell(i), 3, 'e')
|
||
|
|
game.field.reset()
|
||
|
|
for(var i=0; i < game.field.cells.length; i++)
|
||
|
|
game.Wall(game.field.Cell(i), 3, 'w')
|
||
|
|
}, 21000)
|
||
|
|
|
||
|
|
setTimeout(function(){
|
||
|
|
var game = JSSnakeGame(field)
|
||
|
|
|
||
|
|
game.field.reset()
|
||
|
|
for(var i=0; i < game.field.cells.length; i++)
|
||
|
|
game.Apple(game.field.Cell(i))
|
||
|
|
}, 22000)
|
||
|
|
|
||
|
|
setTimeout(function(){
|
||
|
|
setTimeout(function(){
|
||
|
|
var game = JSSnakeGame(Field("field"))
|
||
|
|
game.field.reset()
|
||
|
|
game.levels.sand()
|
||
|
|
}, 100)
|
||
|
|
|
||
|
|
setTimeout(function(){
|
||
|
|
var game = JSSnakeGame(Field("field"))
|
||
|
|
game.field.reset()
|
||
|
|
game.levels.walls()
|
||
|
|
}, 2000)
|
||
|
|
|
||
|
|
setTimeout(function(){
|
||
|
|
var game = JSSnakeGame(Field("field"))
|
||
|
|
game.field.reset()
|
||
|
|
game.levels.dashed(20, 2)
|
||
|
|
}, 4000)
|
||
|
|
|
||
|
|
setTimeout(function(){
|
||
|
|
var game = JSSnakeGame(Field("field"))
|
||
|
|
game.field.reset()
|
||
|
|
game.levels.dashed(15)
|
||
|
|
}, 6000)
|
||
|
|
|
||
|
|
setTimeout(function(){
|
||
|
|
var game = JSSnakeGame(Field("field"))
|
||
|
|
game.field.reset()
|
||
|
|
game.levels.dashed(5, 18)
|
||
|
|
}, 8000)
|
||
|
|
|
||
|
|
|
||
|
|
setTimeout(function(){
|
||
|
|
var game = JSSnakeGame(Field("field"))
|
||
|
|
game.field.reset()
|
||
|
|
setInterval(function(){
|
||
|
|
game.field.reset()
|
||
|
|
game.levels.walls()
|
||
|
|
|
||
|
|
var APPLES = 4
|
||
|
|
|
||
|
|
for(var i=0; i < APPLES; i++)
|
||
|
|
game.Apple()
|
||
|
|
}, 1000)
|
||
|
|
}, 10000)
|
||
|
|
}, 24000)
|
||
|
|
}
|
||
|
|
|
||
|
|
// vim:set ts=4 sw=4 spell :
|