Skip to content

Instantly share code, notes, and snippets.

View tlhunter's full-sized avatar
📷
Taking Photos

Thomas Hunter II tlhunter

📷
Taking Photos
View GitHub Profile
@tlhunter
tlhunter / blackjack.js
Created March 9, 2014 05:50
Node.js Blackjack using the Prototype and Constructor Approach
var readline = require('readline').createInterface({
input: process.stdin,
output: process.stdout
});
// CARD CLASS
var Card = function(face, suite) {
if (this.faces.indexOf(face) == -1) {
throw new Error("Invalid Face: " + face);

Keybase proof

I hereby claim:

  • I am tlhunter on github.
  • I am tlhunter (https://keybase.io/tlhunter) on keybase.
  • I have a public key whose fingerprint is 34FA 158E 563B CEF7 816E DB79 3B71 1C30 7DA2 4AA1

To claim this, I am signing this object:

@tlhunter
tlhunter / gist:31830e88fb27bd3277fd
Created June 19, 2014 03:19
Attempting to upgrade Nginx on Debian
# http://wiki.nginx.org/Install#Official_Debian.2FUbuntu_packages
$ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be upgraded:
nginx
1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 477 kB of archives.
var level_result = createLevel(12, {data: true});
console.log(level_result);
function createLevel(user_id, level_data) {
var user = getUser(user_id);
var can_create = canCreate(user);
if (!can_create) {
return null;
}
var print = typeof print === 'function' ? print : console.log.bind(console);
function X() {
}
X.prototype.dispatch = function (obj) {
this[obj.type](obj);
};
var DEGREE = 20;
@tlhunter
tlhunter / cobalt-calibur-draw-avatar.js
Created September 17, 2012 23:18
Cobalt Calibur Draw Avatar
var len = app.players.data.length;
for (var k = 0; k < len; k++) {
var player = app.players.data[k];
if (player.x == mapX && player.y == mapY) {
var index = app.graphics.getAvatarFrame(player.direction, app.graphics.globalAnimationFrame);
var player_name = player.name || '???';
var picture_id = player.picture;
if (isNaN(picture_id)) {
picture_id = 0;
@tlhunter
tlhunter / cobalt-calibur-draw-black.js
Created September 17, 2012 23:24
Cobalt Calibur Draw Black
function render(redrawNametags) {
// immediately draw canvas as black
app.graphics.handle.fillStyle = "rgb(0,0,0)";
app.graphics.handle.fillRect(0, 0, app.graphics.viewport.WIDTH_PIXEL, app.graphics.viewport.HEIGHT_PIXEL);
var i, j;
var mapX = 0;
var mapY = 0;
var tile;
if (redrawNametags) app.graphics.nametags.hide();
@tlhunter
tlhunter / cobalt-calibur-game-loop.js
Created September 17, 2012 22:38
Cobalt Calibur Game Loop
var currentFrame = 0;
setInterval(function() {
    currentFrame++;
    if (currentFrame % 3 == 0) {
        currentFrame = 0;
        // redraw every 150 ms, but change animation every 450 ms
        app.graphics.globalAnimationFrame = !app.graphics.globalAnimationFrame;
        app.player.killIfNpcNearby();
    }
    app.environment.map.render(currentFrame === 0);
@tlhunter
tlhunter / cobalt-calibur-viewport.js
Created September 17, 2012 22:53
Cobalt Calibur Viewport Code
initialize: function() {
var view = app.graphics.viewport;
view.WIDTH_TILE = Math.floor($(window).width() / app.graphics.TILE_WIDTH_PIXEL);
view.HEIGHT_TILE = Math.floor($(window).height() / app.graphics.TILE_HEIGHT_PIXEL);
view.WIDTH_PIXEL = app.graphics.viewport.WIDTH_TILE * app.graphics.TILE_WIDTH_PIXEL;
view.HEIGHT_PIXEL = app.graphics.viewport.HEIGHT_TILE * app.graphics.TILE_HEIGHT_PIXEL;
view.PLAYER_OFFSET_TOP_TILE = Math.floor(view.HEIGHT_TILE / 2);
view.PLAYER_OFFSET_LEFT_TILE = Math.floor(view.WIDTH_TILE / 2) + 1;
$('#gamefield').append('<canvas id="map" width="' + view.WIDTH_PIXEL + '" height="' + view.HEIGHT_PIXEL + '"></canvas>');
$('#page, #nametags').width(view.WIDTH_PIXEL).height(view.HEIGHT_PIXEL);
@tlhunter
tlhunter / cobalt-calibur-draw-tile.js
Created September 17, 2012 23:03
Cobalt Calibur Tile Drawing
drawTile: function(x, y, tile) {
var x_pixel = x * app.graphics.TILE_WIDTH_PIXEL;
var y_pixel = y * app.graphics.TILE_HEIGHT_PIXEL;
if (tile == null || isNaN(tile[0])) {
return;
}
app.graphics.handle.drawImage(
app.graphics.tilesets.terrain,