mirror of
				https://github.com/flynx/Slang.git
				synced 2025-11-04 05:20:12 +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 :
							 |