Sunday, July 1, 2012

An open post to Felicia Day, Ryan Perez, et. al

Dear Felicia Day, Ryan Perez, Wil Wheaton, and Adam Baldwin:

I noticed the bitchfest you all had on twitter on Felicia's gaming cred, whether Ryan had the right to call Felicia out on it, and the general nerdy internet flamefest on the subject.  Now, since you're all such great gamer nerds and Felicia's the biggest thing in gaming since Mario (no, she is!  Just ask any of her fans and they'll tell you) maybe one of you can tell me what this is and what it does:

#ifndef TILE_H
#define TILE_H

#include "allegro.h"
#include <vector>
using namespace std;

#define YELLOW makecol(255, 255, 0)
#define BLACK makecol(0, 0, 0)
#define GHOSTHOUSEENTRANCE makecol(254, 170, 170)
#define WHITE makecol(255, 255, 255)
#define BLUE makecol(0, 0, 255)
#define RED makecol(255, 0, 0)

struct Point
{
    short x;
    short y;
};

class Tile
{
private:
    short tileX0;
    short tileY0;
    short tileWidth;
    short tileHeight;
    short tileHCenter;
    short tileVCenter;
    bool hasPellet;
    Point points[256];

public:
    Tile(short x, short y);
    ~Tile();

    bool hasPoint(Point point);

    short getTileX0();
    short getTileY0();
    short getTileWidth();
    short getTileHeight();
    short getTileHCenter();
    short getTileVCenter();
    bool getHasPellet();
    Point getPoint(short n);

    void setTileX0(short x);
    void setTileY0(short y);
    void setTileWidth(short x);
    void setTileHeight(short y);
    void setHasPellet(bool hasPellet);
    void setPoint(short n, short x, short y);

};

#endif

#include "Tile.h"


Tile::Tile(short x, short y)
{
   
    tileX0 = x;
    tileY0 = y;

   
    for(short n = 0; n < 256; n++)
    {
        points[n].x = x;
        points[n].y = y;
        if((n + 1) % 16 == 0)
        {
            y++;
            x = tileX0;
        }
        else
            x++;
    }

   
    tileWidth = points[255].x;
    tileHeight = points[255].y;
    tileHCenter = tileWidth - (tileWidth / 2);
    tileVCenter = tileHeight - (tileHeight / 2);
}


Tile::~Tile()
{
    delete this;
}



Point Tile::getPoint(short n)
{
    return points[n];
}

void Tile::setPoint(short n, short x, short y)
{
    points[n].x = x;
    points[n].y = y;
}

short Tile::getTileX0()
{
    return tileX0;
}

void Tile::setTileX0(short x)
{
    tileX0 = x;
}

short Tile::getTileY0()
{
    return tileY0;
}

void Tile::setTileY0(short y)
{
    tileY0 = y;
}

short Tile::getTileWidth()
{
    return tileWidth;
}

void Tile::setTileWidth(short x)
{
    tileWidth = x;
}

short Tile::getTileHeight()
{
    return tileHeight;
}

void Tile::setTileHeight(short y)
{
    tileHeight = y;
}

short Tile::getTileHCenter()
{
    return tileHCenter;
}

short Tile::getTileVCenter()
{
    return tileVCenter;
}

bool Tile::getHasPellet()
{
    return hasPellet;
}

void Tile::setHasPellet(bool hasPellet)
{
    this->hasPellet = hasPellet;
}

bool Tile::hasPoint(Point point)
{
    bool xFound = false;
    bool yFound = false;
    bool found = false;

   
    if(point.x < tileX0 || point.x > tileWidth)
        return found;
    else
        xFound = true;

   
    if (point.y < tileY0 || point.y > tileHeight)
        return found;
    else
        yFound = true;

    if(xFound && yFound)
        found = true;

    return found;
}


#include "Tile.h"

short initializeProgram();
void setUpBoard(Tile *tiles[36][28]);
void createMaze(Tile *tiles[36][28]);

int main()
{
    short action = 0;
    Tile *tiles[36][28];

    action = initializeProgram();
    if (action != 0)
    {
        allegro_message(allegro_error);
        allegro_exit();
        return 1;
    }

    setUpBoard(tiles);

    while(!key[KEY_ESC])
    {
    }
   
    allegro_exit();
    return 0;
}
END_OF_MAIN()

short initializeProgram()
{
    short action = 0;
    allegro_init();
    install_keyboard();
    set_color_depth(32);

   
    action = set_gfx_mode(GFX_AUTODETECT_WINDOWED, 500, 577, 0, 0);
    return action;
}

void setUpBoard(Tile *tiles[36][28])
{
    short x = 26;
    short y = 0;

    for(short i = 0; i < 36; i++)
    {
        for(short j = 0; j < 28; j++)
        {
            tiles[i][j] = new Tile(x, y);
            x = tiles[i][j]->getTileWidth() + 1;
        }
        x = 26;
        y = tiles[i][0]->getTileHeight() + 1;
    }

    /*for(short i = 0; i < 36; i++)
    {
        for(short j = 0; j < 28; j++)
        {
            hline(screen,
                  tiles[i][j]->getTileX0(),
                  tiles[i][j]->getTileY0(),
                  tiles[i][j]->getTileWidth(),
                  WHITE);
            vline(screen,
                  tiles[i][j]->getTileX0(),
                  tiles[i][j]->getTileY0(),
                  tiles[i][j]->getTileHeight(),
                  WHITE);
            hline(screen,
                  tiles[i][j]->getTileX0(),
                  tiles[i][j]->getTileHeight(),
                  tiles[i][j]->getTileWidth(),
                  WHITE);
            vline(screen,
                  tiles[i][j]->getTileWidth(),
                  tiles[i][j]->getTileY0(),
                  tiles[i][j]->getTileHeight(),
                  WHITE);
        }
    }*/

    createMaze(tiles);
}


void createMaze()
{

    hline(screen, 26, 257, 106, BLUE);
    vline(screen, 107, 208, 256, BLUE);
    hline(screen, 34, 207, 106, BLUE);
    putpixel(screen, 33, 206, BLUE);
    putpixel(screen, 32, 205, BLUE);
    putpixel(screen, 31, 204, BLUE);
    putpixel(screen, 30, 203, BLUE);
    putpixel(screen, 29, 202, BLUE);
    putpixel(screen, 28, 201, BLUE);
    putpixel(screen, 27, 200, BLUE);
    vline(screen, 26, 56, 199, BLUE);
    putpixel(screen, 27, 55, BLUE);
    putpixel(screen, 28, 54, BLUE);
    putpixel(screen, 29, 53, BLUE);
    putpixel(screen, 30, 52, BLUE);
    putpixel(screen, 31, 51, BLUE);
    putpixel(screen, 32, 51, BLUE);
    putpixel(screen, 33, 50, BLUE);
    hline(screen, 34, 49, 466, BLUE);
    putpixel(screen, 467, 50, BLUE);
    putpixel(screen, 468, 51, BLUE);
    putpixel(screen, 469, 52, BLUE);
    putpixel(screen, 470, 53, BLUE);
    putpixel(screen, 471, 54, BLUE);
    putpixel(screen, 472, 55, BLUE);
    putpixel(screen, 473, 55, BLUE);
    vline(screen, 474, 56, 199, BLUE);
    putpixel(screen, 473, 200, BLUE);
    putpixel(screen, 472, 201, BLUE);
    putpixel(screen, 471, 202, BLUE);
    putpixel(screen, 470, 203, BLUE);
    putpixel(screen, 469, 204, BLUE);
    putpixel(screen, 468, 205, BLUE);
    putpixel(screen, 467, 206, BLUE);
    hline(screen, 394, 207, 466, BLUE);
    vline(screen, 393, 208, 256, BLUE);
    hline(screen, 394, 257, 474, BLUE);

    hline(screen, 26, 262, 106, BLUE);
    putpixel(screen, 107, 261, BLUE);
    putpixel(screen, 108, 260, BLUE);
    putpixel(screen, 109, 259, BLUE);
    putpixel(screen, 110, 258, BLUE);
    putpixel(screen, 111, 257, BLUE);
    vline(screen, 112, 208, 256, BLUE);
    putpixel(screen, 111, 207, BLUE);
    putpixel(screen, 110, 206, BLUE);
    putpixel(screen, 109, 205, BLUE);
    putpixel(screen, 108, 204, BLUE);
    putpixel(screen, 107, 203, BLUE);
    hline(screen, 38, 202, 106, BLUE);
    putpixel(screen, 37, 201, BLUE);
    putpixel(screen, 36, 200, BLUE);
    putpixel(screen, 35, 199, BLUE);
    putpixel(screen, 34, 198, BLUE);
    putpixel(screen, 33, 197, BLUE);
    vline(screen, 32, 60, 196, BLUE);
    putpixel(screen, 33, 59, BLUE);
    putpixel(screen, 34, 58, BLUE);
    putpixel(screen, 35, 57, BLUE);
    putpixel(screen, 36, 57, BLUE);
    putpixel(screen, 35, 56, BLUE);
    hline(screen, 38, 55, 232, BLUE);
    putpixel(screen, 233, 56, BLUE);
    putpixel(screen, 234, 56, BLUE);
    putpixel(screen, 235, 57, BLUE);
    putpixel(screen, 236, 58, BLUE);
    putpixel(screen, 237, 59, BLUE);
    putpixel(screen, 238, 60, BLUE);
    putpixel(screen, 239, 61, BLUE);
    putpixel(screen, 240, 62, BLUE);
    putpixel(screen, 241, 63, BLUE);
    vline(screen, 242, 64, 112, BLUE);
    putpixel(screen, 243, 113, BLUE);
    putpixel(screen, 244, 114, BLUE);
    putpixel(screen, 245, 115, BLUE);
    hline(screen, 246, 116, 254, BLUE);
    putpixel(screen, 255, 115, BLUE);
    putpixel(screen, 256, 114, BLUE);
    putpixel(screen, 257, 113, BLUE);
    vline(screen, 258, 64, 112, BLUE);
    putpixel(screen, 259, 63, BLUE);
    putpixel(screen, 260, 62, BLUE);
    putpixel(screen, 261, 61, BLUE);
    putpixel(screen, 262, 60, BLUE);
    putpixel(screen, 263, 59, BLUE);
    putpixel(screen, 264, 58, BLUE);
    putpixel(screen, 265, 57, BLUE);
    putpixel(screen, 266, 56, BLUE);
    putpixel(screen, 267, 56, BLUE);
    hline(screen, 268, 55, 462, BLUE);
    putpixel(screen, 463, 56, BLUE);
    putpixel(screen, 464, 57, BLUE);
    putpixel(screen, 465, 57, BLUE);
    putpixel(screen, 466, 58, BLUE);
    putpixel(screen, 467, 59, BLUE);
    vline(screen, 468, 60, 196, BLUE);
    putpixel(screen, 467, 197, BLUE);
    putpixel(screen, 466, 198, BLUE);
    putpixel(screen, 465, 199, BLUE);
    putpixel(screen, 464, 200, BLUE);
    putpixel(screen, 463, 201, BLUE);
    hline(screen, 394, 202, 462, BLUE);
    putpixel(screen, 393, 203, BLUE);
    putpixel(screen, 392, 204, BLUE);
    putpixel(screen, 391, 205, BLUE);
    putpixel(screen, 390, 206, BLUE);
    putpixel(screen, 389, 207, BLUE);
    vline(screen, 388, 208, 256, BLUE);
    putpixel(screen, 389, 257, BLUE);
    putpixel(screen, 390, 258, BLUE);
    putpixel(screen, 391, 259, BLUE);
    putpixel(screen, 392, 260, BLUE);
    putpixel(screen, 393, 261, BLUE);
    hline(screen, 394, 262, 474, BLUE);

    hline(screen, 26, 297, 106, BLUE);
    putpixel(screen, 107, 298, BLUE);
    putpixel(screen, 108, 299, BLUE);
    putpixel(screen, 109, 300, BLUE);
    putpixel(screen, 110, 301, BLUE);
    putpixel(screen, 111, 302, BLUE);
    vline(screen, 112, 303, 353, BLUE);
    putpixel(screen, 111, 354, BLUE);
    putpixel(screen, 110, 355, BLUE);
    putpixel(screen, 109, 356, BLUE);
    putpixel(screen, 108, 357, BLUE);
    putpixel(screen, 107, 358, BLUE);
    hline(screen, 38, 359, 106, BLUE);
    putpixel(screen, 37, 360, BLUE);
    putpixel(screen, 36, 361, BLUE);
    putpixel(screen, 35, 362, BLUE);
    putpixel(screen, 34, 363, BLUE);
    putpixel(screen, 33, 364, BLUE);
    vline(screen, 32, 365, 435, BLUE);
    putpixel(screen, 33, 436, BLUE);
    putpixel(screen, 34, 437, BLUE);
    putpixel(screen, 35, 438, BLUE);
    putpixel(screen, 36, 439, BLUE);
    putpixel(screen, 37, 440, BLUE);
    hline(screen, 38, 441, 60, BLUE);
    putpixel(screen, 61, 442, BLUE);
    putpixel(screen, 62, 443, BLUE);
    putpixel(screen, 63, 444, BLUE);
    vline(screen, 64, 445, 451, BLUE);
    putpixel(screen, 63, 452, BLUE);
    putpixel(screen, 62, 453, BLUE);
    putpixel(screen, 61, 454, BLUE);
    hline(screen, 38, 455, 60, BLUE);
    putpixel(screen, 37, 456, BLUE);
    putpixel(screen, 36, 457, BLUE);
    putpixel(screen, 35, 458, BLUE);
    putpixel(screen, 34, 459, BLUE);
    putpixel(screen, 33, 460, BLUE);
    vline(screen, 32, 461, 532, BLUE);
    putpixel(screen, 33, 533, BLUE);
    putpixel(screen, 34, 534, BLUE);
    putpixel(screen, 35, 535, BLUE);
    putpixel(screen, 36, 536, BLUE);
    putpixel(screen, 35, 537, BLUE);
    hline(screen, 38, 538, 462, BLUE);
    putpixel(screen, 463, 537, BLUE);
    putpixel(screen, 464, 536, BLUE);
    putpixel(screen, 465, 535, BLUE);
    putpixel(screen, 466, 534, BLUE);
    putpixel(screen, 467, 533, BLUE);
    vline(screen, 468, 461, 532, BLUE);
    putpixel(screen, 467, 460, BLUE);
    putpixel(screen, 466, 459, BLUE);
    putpixel(screen, 465, 458, BLUE);
    putpixel(screen, 464, 457, BLUE);
    putpixel(screen, 463, 456, BLUE);
    hline(screen, 440, 455, 462, BLUE);
    putpixel(screen, 439, 454, BLUE);
    putpixel(screen, 438, 453, BLUE);
    putpixel(screen, 437, 452, BLUE);
    vline(screen, 436, 445, 451, BLUE);
    putpixel(screen, 437, 444, BLUE);
    putpixel(screen, 438, 443, BLUE);
    putpixel(screen, 439, 442, BLUE);
    hline(screen, 440, 441, 462, BLUE);
    putpixel(screen, 463, 440, BLUE);
    putpixel(screen, 464, 439, BLUE);
    putpixel(screen, 465, 438, BLUE);
    putpixel(screen, 466, 437, BLUE);
    putpixel(screen, 467, 436, BLUE);
    vline(screen, 468, 365, 435, BLUE);
    putpixel(screen, 467, 364, BLUE);
    putpixel(screen, 466, 363, BLUE);
    putpixel(screen, 465, 362, BLUE);
    putpixel(screen, 464, 361, BLUE);
    putpixel(screen, 463, 360, BLUE);
    hline(screen, 394, 359, 462, BLUE);
    putpixel(screen, 393, 358, BLUE);
    putpixel(screen, 392, 357, BLUE);
    putpixel(screen, 391, 356, BLUE);
    putpixel(screen, 390, 355, BLUE);
    putpixel(screen, 389, 354, BLUE);
    vline(screen, 388, 303, 353, BLUE);
    putpixel(screen, 389, 302, BLUE);
    putpixel(screen, 390, 301, BLUE);
    putpixel(screen, 391, 300, BLUE);
    putpixel(screen, 392, 299, BLUE);
    putpixel(screen, 393, 298, BLUE);
    hline(screen, 394, 297, 474, BLUE);

    hline(screen, 26, 303, 106, BLUE);
    vline(screen, 107, 304, 352, BLUE);
    hline(screen, 34, 353, 106, BLUE);
    putpixel(screen, 33, 354, BLUE);
    putpixel(screen, 32, 355, BLUE);
    putpixel(screen, 31, 356, BLUE);
    putpixel(screen, 30, 357, BLUE);
    putpixel(screen, 29, 358, BLUE);
    putpixel(screen, 28, 359, BLUE);
    putpixel(screen, 27, 360, BLUE);
    vline(screen, 26, 361, 536, BLUE);
    putpixel(screen, 27, 537, BLUE);
    putpixel(screen, 28, 538, BLUE);
    putpixel(screen, 29, 539, BLUE);
    putpixel(screen, 30, 540, BLUE);
    putpixel(screen, 31, 541, BLUE);
    putpixel(screen, 32, 541, BLUE);
    putpixel(screen, 33, 542, BLUE);
    hline(screen, 34, 543, 466, BLUE);
    putpixel(screen, 467, 542, BLUE);
    putpixel(screen, 468, 541, BLUE);
    putpixel(screen, 469, 540, BLUE);
    putpixel(screen, 470, 539, BLUE);
    putpixel(screen, 471, 538, BLUE);
    putpixel(screen, 472, 537, BLUE);
    putpixel(screen, 473, 536, BLUE);
    vline(screen, 474, 361, 536, BLUE);
    putpixel(screen, 473, 360, BLUE);
    putpixel(screen, 472, 359, BLUE);
    putpixel(screen, 471, 358, BLUE);
    putpixel(screen, 470, 357, BLUE);
    putpixel(screen, 469, 356, BLUE);
    putpixel(screen, 468, 355, BLUE);
    putpixel(screen, 467, 354, BLUE);
    hline(screen, 394, 353, 466, BLUE);
    vline(screen, 393, 304, 352, BLUE);
    hline(screen, 394, 303, 474, BLUE);

    hline(screen, 72, 88, 108, BLUE);
    putpixel(screen, 109, 89, BLUE);
    putpixel(screen, 110, 90, BLUE);
    putpixel(screen, 111, 91, BLUE);
    vline(screen, 112, 92, 116, BLUE);
    putpixel(screen, 111, 117, BLUE);
    putpixel(screen, 110, 118, BLUE);
    putpixel(screen, 109, 119, BLUE);
    hline(screen, 72, 120, 108, BLUE);
    putpixel(screen, 71, 119, BLUE);
    putpixel(screen, 70, 118, BLUE);
    putpixel(screen, 69, 117, BLUE);
    vline(screen, 68, 92, 116, BLUE);
    putpixel(screen, 69, 91, BLUE);
    putpixel(screen, 70, 90, BLUE);
    putpixel(screen, 71, 89, BLUE);

    hline(screen, 152, 88, 204, BLUE);
    putpixel(screen, 205, 89, BLUE);
    putpixel(screen, 206, 90, BLUE);
    putpixel(screen, 207, 91, BLUE);
    vline(screen, 208, 92, 116, BLUE);
    putpixel(screen, 207, 117, BLUE);
    putpixel(screen, 206, 118, BLUE);
    putpixel(screen, 205, 119, BLUE);
    hline(screen, 152, 120, 204, BLUE);
    putpixel(screen, 151, 119, BLUE);
    putpixel(screen, 150, 118, BLUE);
    putpixel(screen, 149, 117, BLUE);
    vline(screen, 148, 92, 116, BLUE);
    putpixel(screen, 149, 91, BLUE);
    putpixel(screen, 150, 90, BLUE);
    putpixel(screen, 151, 89, BLUE);

    hline(screen, 72, 152, 108, BLUE);
    putpixel(screen, 109, 153, BLUE);
    putpixel(screen, 110, 154, BLUE);
    putpixel(screen, 111, 155, BLUE);
    vline(screen, 112, 156, 164, BLUE);
    putpixel(screen, 111, 165, BLUE);
    putpixel(screen, 110, 166, BLUE);
    putpixel(screen, 109, 167, BLUE);
    hline(screen, 72, 168, 108, BLUE);
    putpixel(screen, 71, 167, BLUE);
    putpixel(screen, 70, 166, BLUE);
    putpixel(screen, 69, 165, BLUE);
    vline(screen, 68, 156, 164, BLUE);
    putpixel(screen, 69, 155, BLUE);
    putpixel(screen, 70, 154, BLUE);
    putpixel(screen, 71, 153, BLUE);

    hline(screen, 392, 88, 428, BLUE);
    putpixel(screen, 429, 89, BLUE);
    putpixel(screen, 430, 90, BLUE);
    putpixel(screen, 431, 91, BLUE);
    vline(screen, 432, 92, 116, BLUE);
    putpixel(screen, 431, 117, BLUE);
    putpixel(screen, 430, 118, BLUE);
    putpixel(screen, 429, 119, BLUE);
    hline(screen, 392, 120, 428, BLUE);
    putpixel(screen, 391, 119, BLUE);
    putpixel(screen, 390, 118, BLUE);
    putpixel(screen, 389, 117, BLUE);
    vline(screen, 388, 92, 116, BLUE);
    putpixel(screen, 389, 91, BLUE);
    putpixel(screen, 390, 90, BLUE);
    putpixel(screen, 391, 89, BLUE);

    hline(screen, 296, 88, 348, BLUE);
    putpixel(screen, 349, 89, BLUE);
    putpixel(screen, 350, 90, BLUE);
    putpixel(screen, 351, 91, BLUE);
    vline(screen, 352, 92, 116, BLUE);
    putpixel(screen, 351, 117, BLUE);
    putpixel(screen, 350, 118, BLUE);
    putpixel(screen, 349, 119, BLUE);
    hline(screen, 296, 120, 348, BLUE);
    putpixel(screen, 295, 119, BLUE);
    putpixel(screen, 294, 118, BLUE);
    putpixel(screen, 293, 117, BLUE);
    vline(screen, 292, 92, 116, BLUE);
    putpixel(screen, 293, 91, BLUE);
    putpixel(screen, 294, 90, BLUE);
    putpixel(screen, 295, 89, BLUE);

    hline(screen, 392, 152, 428, BLUE);
    putpixel(screen, 429, 153, BLUE);
    putpixel(screen, 430, 154, BLUE);
    putpixel(screen, 431, 155, BLUE);
    vline(screen, 432, 156, 164, BLUE);
    putpixel(screen, 431, 165, BLUE);
    putpixel(screen, 430, 166, BLUE);
    putpixel(screen, 429, 167, BLUE);
    hline(screen, 392, 168, 428, BLUE);
    putpixel(screen, 391, 167, BLUE);
    putpixel(screen, 390, 166, BLUE);
    putpixel(screen, 389, 165, BLUE);
    vline(screen, 388, 156, 164, BLUE);
    putpixel(screen, 389, 155, BLUE);
    putpixel(screen, 390, 154, BLUE);
    putpixel(screen, 391, 153, BLUE);

    vline(screen, 146, 156, 260, BLUE);
    putpixel(screen, 147, 261, BLUE);
    putpixel(screen, 148, 262, BLUE);
    putpixel(screen, 149, 263, BLUE);
    hline(screen, 150, 264, 158, BLUE);
    putpixel(screen, 159, 263, BLUE);
    putpixel(screen, 160, 262, BLUE);
    putpixel(screen, 161, 261, BLUE);
    vline(screen, 162, 220, 260, BLUE);
    putpixel(screen, 163, 219, BLUE);
    putpixel(screen, 164, 218, BLUE);
    putpixel(screen, 165, 217, BLUE);
    hline(screen, 166, 216, 206, BLUE);
    putpixel(screen, 207, 215, BLUE);
    putpixel(screen, 208, 214, BLUE);
    putpixel(screen, 209, 213, BLUE);
    vline(screen, 210, 204, 212, BLUE);
    putpixel(screen, 209, 203, BLUE);
    putpixel(screen, 208, 202, BLUE);
    putpixel(screen, 207, 201, BLUE);
    hline(screen, 166, 200, 206, BLUE);
    putpixel(screen, 165, 199, BLUE);
    putpixel(screen, 164, 198, BLUE);
    putpixel(screen, 163, 197, BLUE);
    vline(screen, 162, 156, 196, BLUE);
    putpixel(screen, 161, 155, BLUE);
    putpixel(screen, 160, 154, BLUE);
    putpixel(screen, 159, 153, BLUE);
    hline(screen, 150, 152, 158, BLUE);
    putpixel(screen, 149, 153, BLUE);
    putpixel(screen, 148, 154, BLUE);
    putpixel(screen, 147, 155, BLUE);

    vline(screen, 146, 300, 356, BLUE);
    putpixel(screen, 147, 299, BLUE);
    putpixel(screen, 148, 298, BLUE);
    putpixel(screen, 149, 297, BLUE);
    hline(screen, 150, 296, 158, BLUE);
    putpixel(screen, 159, 297, BLUE);
    putpixel(screen, 160, 298, BLUE);
    putpixel(screen, 161, 299, BLUE);
    vline(screen, 162, 300, 356, BLUE);
    putpixel(screen, 161, 357, BLUE);
    putpixel(screen, 160, 358, BLUE);
    putpixel(screen, 159, 359, BLUE);
    hline(screen, 150, 360, 158, BLUE);
    putpixel(screen, 149, 359, BLUE);
    putpixel(screen, 148, 358, BLUE);
    putpixel(screen, 147, 357, BLUE);

    hline(screen, 198, 152, 302, BLUE);
    putpixel(screen, 303, 153, BLUE);
    putpixel(screen, 304, 154, BLUE);
    putpixel(screen, 305, 155, BLUE);
    vline(screen, 306, 156, 164, BLUE);
    putpixel(screen, 305, 165, BLUE);
    putpixel(screen, 304, 166, BLUE);
    putpixel(screen, 303, 167, BLUE);
    hline(screen, 262, 168, 302, BLUE);
    putpixel(screen, 261, 169, BLUE);
    putpixel(screen, 260, 170, BLUE);
    putpixel(screen, 259, 171, BLUE);
    vline(screen, 258, 172, 212, BLUE);
    putpixel(screen, 257, 213, BLUE);
    putpixel(screen, 256, 214, BLUE);
    putpixel(screen, 255, 215, BLUE);
    hline(screen, 246, 216, 254, BLUE);
    putpixel(screen, 245, 215, BLUE);
    putpixel(screen, 244, 214, BLUE);
    putpixel(screen, 243, 213, BLUE);
    vline(screen, 242, 172, 212, BLUE);
    putpixel(screen, 241, 171, BLUE);
    putpixel(screen, 240, 170, BLUE);
    putpixel(screen, 239, 169, BLUE);
    hline(screen, 198, 168, 238, BLUE);
    putpixel(screen, 197, 167, BLUE);
    putpixel(screen, 196, 166, BLUE);
    putpixel(screen, 195, 165, BLUE);
    vline(screen, 194, 156, 164, BLUE);
    putpixel(screen, 195, 155, BLUE);
    putpixel(screen, 196, 154, BLUE);
    putpixel(screen, 197, 153, BLUE);

    vline(screen, 354, 156, 260, BLUE);
    putpixel(screen, 353, 261, BLUE);
    putpixel(screen, 352, 262, BLUE);
    putpixel(screen, 351, 263, BLUE);
    hline(screen, 342, 264, 350, BLUE);
    putpixel(screen, 341, 263, BLUE);
    putpixel(screen, 340, 262, BLUE);
    putpixel(screen, 339, 261, BLUE);
    vline(screen, 338, 220, 260, BLUE);
    putpixel(screen, 337, 219, BLUE);
    putpixel(screen, 336, 218, BLUE);
    putpixel(screen, 335, 217, BLUE);
    hline(screen, 294, 216, 334, BLUE);
    putpixel(screen, 293, 215, BLUE);
    putpixel(screen, 292, 214, BLUE);
    putpixel(screen, 291, 213, BLUE);
    vline(screen, 290, 204, 212, BLUE);
    putpixel(screen, 291, 203, BLUE);
    putpixel(screen, 292, 202, BLUE);
    putpixel(screen, 293, 201, BLUE);
    hline(screen, 294, 200, 334, BLUE);
    putpixel(screen, 335, 199, BLUE);
    putpixel(screen, 336, 198, BLUE);
    putpixel(screen, 337, 197, BLUE);
    vline(screen, 338, 156, 196, BLUE);
    putpixel(screen, 339, 155, BLUE);
    putpixel(screen, 340, 154, BLUE);
    putpixel(screen, 341, 153, BLUE);
    hline(screen, 342, 152, 350, BLUE);
    putpixel(screen, 351, 153, BLUE);
    putpixel(screen, 352, 154, BLUE);
    putpixel(screen, 353, 155, BLUE);

    vline(screen, 354, 300, 356, BLUE);
    putpixel(screen, 353, 357, BLUE);
    putpixel(screen, 352, 358, BLUE);
    putpixel(screen, 351, 359, BLUE);
    hline(screen, 342, 360, 350, BLUE);
    putpixel(screen, 341, 359, BLUE);
    putpixel(screen, 340, 358, BLUE);
    putpixel(screen, 339, 357, BLUE);
    vline(screen, 338, 300, 356, BLUE);
    putpixel(screen, 339, 299, BLUE);
    putpixel(screen, 340, 298, BLUE);
    putpixel(screen, 341, 297, BLUE);
    hline(screen, 342, 296, 350, BLUE);
    putpixel(screen, 351, 297, BLUE);
    putpixel(screen, 352, 298, BLUE);
    putpixel(screen, 353, 299, BLUE);

    hline(screen, 198, 344, 302, BLUE);
    putpixel(screen, 303, 345, BLUE);
    putpixel(screen, 304, 346, BLUE);
    putpixel(screen, 305, 347, BLUE);
    vline(screen, 306, 348, 356, BLUE);
    putpixel(screen, 305, 357, BLUE);
    putpixel(screen, 304, 358, BLUE);
    putpixel(screen, 303, 359, BLUE);
    hline(screen, 262, 360, 302, BLUE);
    putpixel(screen, 261, 361, BLUE);
    putpixel(screen, 260, 362, BLUE);
    putpixel(screen, 259, 363, BLUE);
    vline(screen, 258, 364, 404, BLUE);
    putpixel(screen, 257, 405, BLUE);
    putpixel(screen, 256, 406, BLUE);
    putpixel(screen, 255, 407, BLUE);
    hline(screen, 246, 408, 254, BLUE);
    putpixel(screen, 245, 407, BLUE);
    putpixel(screen, 244, 406, BLUE);
    putpixel(screen, 243, 405, BLUE);
    vline(screen, 242, 364, 404, BLUE);
    putpixel(screen, 241, 363, BLUE);
    putpixel(screen, 240, 362, BLUE);
    putpixel(screen, 239, 361, BLUE);
    hline(screen, 198, 360, 238, BLUE);
    putpixel(screen, 197, 359, BLUE);
    putpixel(screen, 196, 358, BLUE);
    putpixel(screen, 195, 357, BLUE);
    vline(screen, 194, 348, 356, BLUE);
    putpixel(screen, 195, 347, BLUE);
    putpixel(screen, 196, 346, BLUE);
    putpixel(screen, 197, 345, BLUE);

    rect(screen, SCREEN_W / 2 - 50, SCREEN_H / 2 - 40,
                 SCREEN_W / 2 + 50, SCREEN_H / 2 + 20,
                 BLUE);
    hline(screen, SCREEN_W / 2 - 15, SCREEN_H / 2 - 40, SCREEN_W / 2 + 15, BLACK);
    rect(screen, SCREEN_W / 2 - 45, SCREEN_H / 2 - 35,
                 SCREEN_W / 2 + 45, SCREEN_H / 2 + 15,
                 BLUE);
    hline(screen, SCREEN_W / 2 - 15, SCREEN_H / 2 - 35, SCREEN_W / 2 + 15, BLACK);
    rectfill(screen, SCREEN_W / 2 - 15, SCREEN_H / 2 - 39,
                     SCREEN_W / 2 + 15, SCREEN_H / 2 - 36,
                     WHITE);

    hline(screen, 70, 392, 110, BLUE);
    putpixel(screen, 111, 393, BLUE);
    putpixel(screen, 112, 394, BLUE);
    putpixel(screen, 113, 395, BLUE);
    vline(screen, 114, 396, 452, BLUE);
    putpixel(screen, 113, 453, BLUE);
    putpixel(screen, 112, 454, BLUE);
    putpixel(screen, 111, 455, BLUE);
    hline(screen, 102, 456, 110, BLUE);
    putpixel(screen, 101, 455, BLUE);
    putpixel(screen, 100, 454, BLUE);
    putpixel(screen, 99, 453, BLUE);
    vline(screen, 98, 412, 452, BLUE);
    putpixel(screen, 97, 411, BLUE);
    putpixel(screen, 96, 410, BLUE);
    putpixel(screen, 95, 409, BLUE);
    hline(screen, 70, 408, 94, BLUE);
    putpixel(screen, 69, 407, BLUE);
    putpixel(screen, 68, 406, BLUE);
    putpixel(screen, 67, 405, BLUE);
    vline(screen, 66, 396, 404, BLUE);
    putpixel(screen, 67, 395, BLUE);
    putpixel(screen, 68, 394, BLUE);
    putpixel(screen, 69, 393, BLUE);

    hline(screen, 150, 392, 202, BLUE);
    putpixel(screen, 203, 393, BLUE);
    putpixel(screen, 204, 394, BLUE);
    putpixel(screen, 205, 395, BLUE);
    vline(screen, 206, 396, 404, BLUE);
    putpixel(screen, 205, 405, BLUE);
    putpixel(screen, 204, 406, BLUE);
    putpixel(screen, 203, 407, BLUE);
    hline(screen, 150, 408, 202, BLUE);
    putpixel(screen, 149, 407, BLUE);
    putpixel(screen, 148, 406, BLUE);
    putpixel(screen, 147, 405, BLUE);
    vline(screen, 146, 396, 404, BLUE);
    putpixel(screen, 147, 395, BLUE);
    putpixel(screen, 148, 394, BLUE);
    putpixel(screen, 149, 393, BLUE);

    hline(screen, 298, 392, 350, BLUE);
    putpixel(screen, 351, 393, BLUE);
    putpixel(screen, 352, 394, BLUE);
    putpixel(screen, 353, 395, BLUE);
    vline(screen, 354, 396, 404, BLUE);
    putpixel(screen, 353, 405, BLUE);
    putpixel(screen, 352, 406, BLUE);
    putpixel(screen, 351, 407, BLUE);
    hline(screen, 298, 408, 350, BLUE);
    putpixel(screen, 297, 407, BLUE);
    putpixel(screen, 296, 406, BLUE);
    putpixel(screen, 295, 405, BLUE);
    vline(screen, 294, 396, 404, BLUE);
    putpixel(screen, 295, 395, BLUE);
    putpixel(screen, 296, 394, BLUE);
    putpixel(screen, 297, 393, BLUE);

    hline(screen, 390, 392, 430, BLUE);
    putpixel(screen, 389, 393, BLUE);
    putpixel(screen, 388, 394, BLUE);
    putpixel(screen, 387, 395, BLUE);
    vline(screen, 386, 396, 452, BLUE);
    putpixel(screen, 387, 453, BLUE);
    putpixel(screen, 388, 454, BLUE);
    putpixel(screen, 389, 455, BLUE);
    hline(screen, 390, 456, 398, BLUE);
    putpixel(screen, 399, 455, BLUE);
    putpixel(screen, 400, 454, BLUE);
    putpixel(screen, 401, 453, BLUE);
    vline(screen, 402, 412, 452, BLUE);
    putpixel(screen, 403, 411, BLUE);
    putpixel(screen, 404, 410, BLUE);
    putpixel(screen, 405, 409, BLUE);
    hline(screen, 406, 408, 430, BLUE);
    putpixel(screen, 431, 407, BLUE);
    putpixel(screen, 432, 406, BLUE);
    putpixel(screen, 433, 405, BLUE);
    vline(screen, 434, 396, 404, BLUE);
    putpixel(screen, 433, 395, BLUE);
    putpixel(screen, 432, 394, BLUE);
    putpixel(screen, 431, 393, BLUE);

    hline(screen, 198, 440, 302, BLUE);
    putpixel(screen, 303, 441, BLUE);
    putpixel(screen, 304, 442, BLUE);
    putpixel(screen, 305, 443, BLUE);
    vline(screen, 306, 444, 452, BLUE);
    putpixel(screen, 305, 453, BLUE);
    putpixel(screen, 304, 454, BLUE);
    putpixel(screen, 303, 455, BLUE);
    hline(screen, 262, 456, 302, BLUE);
    putpixel(screen, 261, 457, BLUE);
    putpixel(screen, 260, 458, BLUE);
    putpixel(screen, 259, 459, BLUE);
    vline(screen, 258, 460, 500, BLUE);
    putpixel(screen, 257, 501, BLUE);
    putpixel(screen, 256, 502, BLUE);
    putpixel(screen, 255, 503, BLUE);
    hline(screen, 246, 504, 254, BLUE);
    putpixel(screen, 245, 503, BLUE);
    putpixel(screen, 244, 502, BLUE);
    putpixel(screen, 243, 501, BLUE);
    vline(screen, 242, 460, 500, BLUE);
    putpixel(screen, 241, 459, BLUE);
    putpixel(screen, 240, 458, BLUE);
    putpixel(screen, 239, 457, BLUE);
    hline(screen, 198, 456, 238, BLUE);
    putpixel(screen, 197, 455, BLUE);
    putpixel(screen, 196, 454, BLUE);
    putpixel(screen, 195, 453, BLUE);
    vline(screen, 194, 444, 452, BLUE);
    putpixel(screen, 195, 443, BLUE);
    putpixel(screen, 196, 442, BLUE);
    putpixel(screen, 197, 441, BLUE);

    hline(screen, 70, 504, 206, BLUE);
    putpixel(screen, 207, 503, BLUE);
    putpixel(screen, 208, 502, BLUE);
    putpixel(screen, 209, 501, BLUE);
    vline(screen, 210, 492, 500, BLUE);
    putpixel(screen, 209, 491, BLUE);
    putpixel(screen, 208, 490, BLUE);
    putpixel(screen, 207, 489, BLUE);
    hline(screen, 166, 488, 206, BLUE);
    putpixel(screen, 165, 487, BLUE);
    putpixel(screen, 164, 486, BLUE);
    putpixel(screen, 163, 485, BLUE);
    vline(screen, 162, 444, 484, BLUE);
    putpixel(screen, 161, 443, BLUE);
    putpixel(screen, 160, 442, BLUE);
    putpixel(screen, 159, 441, BLUE);
    hline(screen, 150, 440, 158, BLUE);
    putpixel(screen, 149, 441, BLUE);
    putpixel(screen, 148, 442, BLUE);
    putpixel(screen, 147, 443, BLUE);
    vline(screen, 146, 444, 484, BLUE);
    putpixel(screen, 145, 485, BLUE);
    putpixel(screen, 144, 486, BLUE);
    putpixel(screen, 143, 487, BLUE);
    hline(screen, 70, 488, 142, BLUE);
    putpixel(screen, 69, 489, BLUE);
    putpixel(screen, 68, 490, BLUE);
    putpixel(screen, 67, 491, BLUE);
    vline(screen, 66, 492, 500, BLUE);
    putpixel(screen, 67, 501, BLUE);
    putpixel(screen, 68, 502, BLUE);
    putpixel(screen, 69, 503, BLUE);

    hline(screen, 294, 504, 430, BLUE);
    putpixel(screen, 293, 503, BLUE);
    putpixel(screen, 292, 502, BLUE);
    putpixel(screen, 291, 501, BLUE);
    vline(screen, 290, 492, 500, BLUE);
    putpixel(screen, 291, 491, BLUE);
    putpixel(screen, 292, 490, BLUE);
    putpixel(screen, 293, 489, BLUE);
    hline(screen, 294, 488, 334, BLUE);
    putpixel(screen, 335, 487, BLUE);
    putpixel(screen, 336, 486, BLUE);
    putpixel(screen, 337, 485, BLUE);
    vline(screen, 338, 444, 484, BLUE);
    putpixel(screen, 339, 443, BLUE);
    putpixel(screen, 340, 442, BLUE);
    putpixel(screen, 341, 441, BLUE);
    hline(screen, 342, 440, 350, BLUE);
    putpixel(screen, 351, 441, BLUE);
    putpixel(screen, 352, 442, BLUE);
    putpixel(screen, 353, 443, BLUE);
    vline(screen, 354, 444, 484, BLUE);
    putpixel(screen, 355, 485, BLUE);
    putpixel(screen, 356, 486, BLUE);
    putpixel(screen, 357, 487, BLUE);
    hline(screen, 358, 488, 430, BLUE);
    putpixel(screen, 431, 489, BLUE);
    putpixel(screen, 432, 490, BLUE);
    putpixel(screen, 433, 491, BLUE);
    vline(screen, 434, 492, 500, BLUE);
    putpixel(screen, 433, 501, BLUE);
    putpixel(screen, 432, 502, BLUE);
    putpixel(screen, 431, 503, BLUE);
   
}

What?  You can't figure it out?!?!  I thought you guys were all nerds and gamers!  I mean, you guys must concoct homebrews for Linux all the time when you're not tweeting.  It's a wonder you all have time for your chosen career (actors and writers, neither of which have EVER been associated with the nerd culture) at all.

Have I made my point yet?  I have?  Good.  NOW YOU DAMN KIDS GET THE HELL OFF MY LAWN!

Sincerely,

A Nerd who was a Nerd before it became the hip, Holywood thing to be.