From a488836cbc884f9ab1f09672cc8879b9a8deaf81 Mon Sep 17 00:00:00 2001 From: dsc Date: Sun, 31 Oct 2010 03:23:23 -0700 Subject: [PATCH] The tank moves! --- css/lttl.css | 5 +- index.php | 31 ++++--- src/Y/core.js | 1 + src/Y/modules/simpleclass.js | 34 +++++++ src/Y/y-function.js | 5 +- src/Y/y.js.php | 1 + src/js/_intro.js | 7 -- src/js/_outro.js | 6 -- src/js/core.js | 39 -------- src/js/function.js | 46 ---------- src/js/js.js.php | 46 ---------- src/js/type.js | 49 ---------- src/portal/layer.js | 8 +- src/portal/shape.js | 25 +++++- src/portal/simpleclass.js | 34 ------- src/portal/util/loc.js | 29 +++++-- src/portal/util/quadtree.js | 2 +- src/simoon/grid/grid.js | 52 ----------- src/tanks/game/game.js | 68 ++++++++++++++ src/tanks/game/map.js | 161 ++++++++++++++++++++++++++++++++++ src/tanks/game/player.js | 99 +++++++++++++++++++++ src/tanks/lttl.js | 52 ++++++----- src/tanks/tank.js | 2 - src/tanks/ui.js | 86 ++++++++++++++++++ src/tanks/unit/tank.js | 198 ++++++++++++++++++++++++++++++++++++++++++ src/tanks/util/grid.js | 34 +++++++ src/tanks/util/pathmap.js | 52 +++++++++++ 27 files changed, 834 insertions(+), 338 deletions(-) create mode 100644 src/Y/modules/simpleclass.js delete mode 100644 src/js/_intro.js delete mode 100644 src/js/_outro.js delete mode 100644 src/js/array.js delete mode 100644 src/js/core.js delete mode 100644 src/js/function.js delete mode 100644 src/js/js.js.php delete mode 100644 src/js/number.js delete mode 100644 src/js/object.js delete mode 100644 src/js/regexp.js delete mode 100644 src/js/string.js delete mode 100644 src/js/type.js delete mode 100644 src/portal/simpleclass.js delete mode 100644 src/simoon/grid/grid.js delete mode 100644 src/tanks/game.js create mode 100644 src/tanks/game/game.js create mode 100644 src/tanks/game/map.js create mode 100644 src/tanks/game/player.js delete mode 100644 src/tanks/map.js delete mode 100644 src/tanks/tank.js create mode 100644 src/tanks/unit/tank.js create mode 100644 src/tanks/util/grid.js create mode 100644 src/tanks/util/pathmap.js diff --git a/css/lttl.css b/css/lttl.css index 2a24362..1d2321e 100644 --- a/css/lttl.css +++ b/css/lttl.css @@ -7,13 +7,12 @@ ul, ol, li { list-style: none ! important; margin:0; padding:0; } .rounded { border-radius:1em; -moz-border-radius:1em; -webkit-border-radius:1em; } #viewport { position:relative; top:1em; width:500px; height:500px; margin:0 auto; - outline:1px solid #ccc; } + /* outline:1px solid #ccc; */ } #howto { position:fixed; top:3em; right:1em; color:#BFBFBF; } #info { position:fixed; bottom:10px; right:10px; padding:0.5em; background-color:rgba(0,0,0, 0.1); color:#787878; } #info label { display:block; float:left; width:3em; margin-right:0.5em; color:#787878; } #info input { border:0; background-color:transparent; min-width:5em; width:5em; color:#5c5c5c; } - -#log { position:fixed; top:auto; bottom:0; left:0; width:100%; height:30%; border-top:1px solid #bbb; } + #info .sep { opacity:0.1; background-color:#999; margin:5px 0; height:1px; } diff --git a/index.php b/index.php index 8806461..04f9df7 100644 --- a/index.php +++ b/index.php @@ -16,13 +16,12 @@
  • -
  • +
  • +
  • - -
    = L ) - return fn.apply(this, _args); - else - return curry.apply(fn, _args); - } - curried[WR_P] = fn; - - return curried; -} - -Function.prototype.methodize = methodize; -function methodize() { - var fn = this; - if ( fn.__methodized__ ) - return fn.__methodized__; - - var m = fn.__methodized__ = - function(){ - return fn.apply(this, [this].concat(Array.slice(arguments, 0))); - }; - m[WR_P] = fn; - return m; -} - -/** Returns the declared name of a function. */ -Function.prototype.getName = getName; -function getName(){ - var fn = this; - return fn.className || fn.name || (fn+'').match( /function\s*([^\(]*)\(/ )[1] || ''; -} - diff --git a/src/js/js.js.php b/src/js/js.js.php deleted file mode 100644 index 8868e17..0000000 --- a/src/js/js.js.php +++ /dev/null @@ -1,46 +0,0 @@ - 0) { - $f = fopen($path, "r"); - echo fread($f, $size); - fclose($f); - } - if ($add_newline) echo "\n"; -} - -$jsjs_files = array( - 'type', - 'core', - 'function', - 'object', - 'array', - 'string', - 'number' -); - -function jsjs_list($path='') { - global $jsjs_files; - $path = $path ? $path : dirname($_SERVER["REQUEST_URI"]); - // echo $path; - foreach ($jsjs_files as $f) { - echo "\n"; - } -} - -function jsjs_dump($expose=false) { - global $jsjs_files; - if (!$expose) - dump_file("./_intro.js"); - foreach ($jsjs_files as $f) - dump_file("./$f.js"); - if (!$expose) - dump_file("./_outro.js"); -} - -if ( basename($_SERVER["SCRIPT_FILENAME"]) == basename(__FILE__) ) { - if ( $_REQUEST["list"] ) - jsjs_list(); - else - jsjs_dump(); -} \ No newline at end of file diff --git a/src/js/number.js b/src/js/number.js deleted file mode 100644 index e69de29..0000000 diff --git a/src/js/object.js b/src/js/object.js deleted file mode 100644 index e69de29..0000000 diff --git a/src/js/regexp.js b/src/js/regexp.js deleted file mode 100644 index e69de29..0000000 diff --git a/src/js/string.js b/src/js/string.js deleted file mode 100644 index e69de29..0000000 diff --git a/src/js/type.js b/src/js/type.js deleted file mode 100644 index 1fd1447..0000000 --- a/src/js/type.js +++ /dev/null @@ -1,49 +0,0 @@ -// Type Utilities // -// Much borrowed from jQuery - -var class2type = "Boolean Number String Function Array Date RegExp Object" - .split(" ") - .reduce(function(class2type, name) { - class2type[ "[object "+name+"]" ] = name.toLowerCase(); - return class2type; - }, {}); - -function type_of(obj){ - return obj == null ? - String( obj ) : - class2type[ toString.call(obj) ] || "object"; -} - -function isFunction(obj) { return type_of(obj) === "function"; } -function isString(obj) { return type_of(obj) === "string"; } -function isNumber(obj) { return type_of(obj) === "number"; } - -// A crude way of determining if an object is a window -function isWindow( obj ) { - return obj && typeof obj === "object" && "setInterval" in obj; -} - -function isPlainObject( obj ){ - // Must be an Object. - // Because of IE, we also have to check the presence of the constructor property. - // Make sure that DOM nodes and window objects don't pass through, as well - if ( !obj || type_of(obj) !== "object" || obj.nodeType || isWindow(obj) ) - return false; - - // Not own constructor property must be Object - if ( obj.constructor && - !hasOwn.call(obj, "constructor") && - !hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) - return false; - - - // Own properties are enumerated firstly, so to speed up, - // if last one is own, then all properties are own. - - var key; - for ( key in obj ) {} - - return key === undefined || hasOwn.call( obj, key ); -} - - diff --git a/src/portal/layer.js b/src/portal/layer.js index a59db7a..31ac03d 100644 --- a/src/portal/layer.js +++ b/src/portal/layer.js @@ -4,7 +4,7 @@ $(function(){ $('