This repository has been archived on 2021-07-14. You can view files and clone it, but cannot push or open issues or pull requests.
scriptcraft/src/main/javascript/drone/logo.js
2013-01-26 23:00:09 -06:00

174 lines
4.1 KiB
JavaScript

load(__folder + "drone.js");
//
// Constructs the JS logo
// https://raw.github.com/voodootikigod/logo.js/master/js.png
//
// fg
// the material that the letters JS will be made of
// bg
// the material that the square will be made of
//
Drone.extend('logojs', function(fg, bg) {
fg = '35:7'; // default to gray wool
bg = 41; // default to gold blocks
// Draw the sqaure
this.up()
.box(bg, 100, 100, 1);
// Draw the J, starting with the hook
this.right(30).up(13)
.box(fg)
.right().down()
.box(fg, 1, 3, 1)
.right().down()
.box(fg, 1, 5, 1)
.right().down()
.box(fg, 1, 7, 1)
.right()
.box(fg, 1, 8, 1)
.right().down()
.box(fg, 1, 10, 1)
.right()
.box(fg, 1, 9, 1)
.right()
.box(fg, 1, 8, 1)
.right().down()
.box(fg, 2, 8, 1)
.right(2)
.box(fg, 4, 7, 1)
.right(4)
.box(fg, 1, 8, 1)
.right()
.box(fg, 1, 9, 1)
.right().up()
.box(fg, 3, 10, 1)
.right(3).up()
.box(fg, 2, 9, 1)
.right(2).up()
.box(fg, 2, 8, 1)
.right(2).up()
.box(fg, 1, 7, 1)
.right().up()
.box(fg, 1, 6, 1)
.right().up()
.box(fg, 1, 5, 1)
.right().up(2)
.box(fg, 1, 3, 1)
.left(9).up(3)
.box(fg, 10, 30, 1);
// Draw the S
// It's drawn in three strokes from bottom to top. Look for when
// it switches from .right() to .left() then back again
this.move('start')
// move to starting point for S
.right(64).up(13)
// stroke 1
.box(fg)
.right().down()
.box(fg, 1, 3, 1)
.right().down()
.box(fg, 1, 5, 1)
.right().down()
.box(fg, 1, 7, 1)
.right()
.box(fg, 1, 8, 1)
.right().down()
.box(fg, 1, 10, 1)
.right()
.box(fg, 1, 9, 1)
.right()
.box(fg, 1, 8, 1)
.right().down()
.box(fg, 2, 8, 1)
.right(2)
.box(fg, 4, 7, 1)
.right(4)
.box(fg, 2, 8, 1)
.right(2)
.box(fg, 1, 9, 1)
.right().up()
.box(fg, 1, 9, 1)
.right()
.box(fg, 1, 10, 1)
.right()
.box(fg, 1, 22, 1)
.right().up()
.box(fg, 2, 20, 1)
.right().up()
.box(fg, 1, 18, 1)
.right().up()
.box(fg, 1, 17, 1)
.right().up()
.box(fg, 1, 15, 1)
.right().up()
.box(fg, 1, 13, 1)
.right().up(2)
.box(fg, 1, 9, 1)
.right().up(2)
.box(fg, 1, 5, 1)
// stroke 2
.left(8).up(4)
.box(fg, 1, 9, 1)
.left().up()
.box(fg, 1, 9, 1)
.left().up()
.box(fg, 1, 8, 1)
.left(2).up()
.box(fg, 2, 8, 1)
.left(2).up()
.box(fg, 2, 7, 1)
.left(2).up()
.box(fg, 2, 7, 1)
.left()
.box(fg, 1, 8, 1)
.left().up()
.box(fg, 1, 8, 1)
.left()
.box(fg, 1, 9, 1)
.left(2).up()
.box(fg, 2, 19, 1)
.left().up()
.box(fg, 1, 17, 1)
.left()
.box(fg, 1, 16, 1)
.left().up()
.box(fg, 1, 14, 1)
.left().up(2)
.box(fg, 1, 10, 1)
.left().up(2)
.box(fg, 1, 6, 1)
// stroke 3
.right(7).up(6)
.box(fg, 1, 8, 1)
.right().up()
.box(fg, 1, 7, 1)
.right().up()
.box(fg, 2, 7, 1)
.right(2).up()
.box(fg, 4, 6, 1)
.right(4).down()
.box(fg, 2, 7, 1)
.right().down()
.box(fg, 1, 8, 1)
.right()
.box(fg, 1, 7, 1)
.right().down()
.box(fg, 1, 8, 1)
.right().down()
.box(fg, 1, 9, 1)
.right().down()
.box(fg, 1, 9, 1)
.right().up()
.box(fg, 1, 8, 1)
.right().up()
.box(fg, 1, 6, 1)
.right().up()
.box(fg, 1, 5, 1)
.right().up()
.box(fg, 1, 3, 1)
.right().up()
.box(fg);
});