From 6445ed166d7f6fffbe6fbb123046954cbe9f14cd Mon Sep 17 00:00:00 2001 From: walterhiggins Date: Sat, 9 Feb 2013 10:24:15 +0000 Subject: [PATCH] New spiral staircase - to demo use of Drone.PLAYER_STAIRS_FACING --- src/main/javascript/drone/spiral_stairs.js | 45 ++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 src/main/javascript/drone/spiral_stairs.js diff --git a/src/main/javascript/drone/spiral_stairs.js b/src/main/javascript/drone/spiral_stairs.js new file mode 100644 index 0000000..b4eaf7f --- /dev/null +++ b/src/main/javascript/drone/spiral_stairs.js @@ -0,0 +1,45 @@ +load(__folder + "drone.js"); +/************************************************************************ +Drone.spiral_stairs() method +============================ +Constructs a spiral staircase with slabs at each corner. + +Parameters +---------- + + * stairBlock - The block to use for stairs, should be one of the following... + - 'oak' + - 'spruce' + - 'birch' + - 'jungle' + - 'cobblestone' + - 'brick' + - 'stone' + - 'nether' + - 'sandstone' + - 'quartz' + * flights - The number of flights of stairs to build. + +![Spiral Staircase](img/spiralstair1.png) + +Example +------- +To construct a spiral staircase 5 floors high made of oak... + + spiral_stairs('oak', 5); + +***/ +Drone.extend("spiral_stairs",function(stairBlock, flights){ + this.chkpt('spiral_stairs'); + + for (var i = 0; i < flights; i++){ + this + .box(blocks.stairs[stairBlock] + ':' + Drone.PLAYER_STAIRS_FACING[this.dir]) + .up().fwd() + .box(blocks.stairs[stairBlock] + ':' + Drone.PLAYER_STAIRS_FACING[this.dir]) + .up().fwd() + .box(blocks.slab[stairBlock]) + .turn().fwd(); + } + return this.move('spiral_stairs'); +});