• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EST 23:00
CET 05:00
KST 13:00
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
ByuL: The Forgotten Master of ZvT28Behind the Blue - Team Liquid History Book19Clem wins HomeStory Cup 289HomeStory Cup 28 - Info & Preview13Rongyi Cup S3 - Preview & Info8
Community News
Weekly Cups (Feb 16-22): MaxPax doubles0Weekly Cups (Feb 9-15): herO doubles up2ACS replaced by "ASL Season Open" - Starts 21/0258LiuLi Cup: 2025 Grand Finals (Feb 10-16)46Weekly Cups (Feb 2-8): Classic, Solar, MaxPax win2
StarCraft 2
General
Terran AddOns placement How do you think the 5.0.15 balance patch (Oct 2025) for StarCraft II has affected the game? Nexon's StarCraft game could be FPS, led by UMS maker ByuL: The Forgotten Master of ZvT Oliveira Would Have Returned If EWC Continued
Tourneys
PIG STY FESTIVAL 7.0! (19 Feb - 1 Mar) Sparkling Tuna Cup - Weekly Open Tournament SEL Doubles (SC Evo Bimonthly) WardiTV Team League Season 10 RSL Season 4 announced for March-April
Strategy
Custom Maps
Publishing has been re-enabled! [Feb 24th 2026] Map Editor closed ?
External Content
The PondCast: SC2 News & Results Mutation # 515 Together Forever Mutation # 514 Ulnar New Year Mutation # 513 Attrition Warfare
Brood War
General
Soma Explains: JD's Unrelenting Aggro vs FlaSh Recent recommended BW games TvZ is the most complete match up BGH Auto Balance -> http://bghmmr.eu/ ACS replaced by "ASL Season Open" - Starts 21/02
Tourneys
BWCL Season 64 Announcement The Casual Games of the Week Thread [Megathread] Daily Proleagues [LIVE] [S:21] ASL Season Open Day 1
Strategy
Soma's 9 hatch build from ASL Game 2 Fighting Spirit mining rates Simple Questions, Simple Answers Zealot bombing is no longer popular?
Other Games
General Games
Online Quake Live Config Editor Tool Battle Aces/David Kim RTS Megathread Diablo 2 thread Nintendo Switch Thread Path of Exile
Dota 2
The Story of Wings Gaming Official 'what is Dota anymore' discussion
League of Legends
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Deck construction bug Heroes of StarCraft mini-set
TL Mafia
Vanilla Mini Mafia Mafia Game Mode Feedback/Ideas TL Mafia Community Thread
Community
General
US Politics Mega-thread Things Aren’t Peaceful in Palestine UK Politics Mega-thread YouTube Thread Mexico's Drug War
Fan Clubs
The IdrA Fan Club The herO Fan Club!
Media & Entertainment
[Manga] One Piece [Req][Books] Good Fantasy/SciFi books Anime Discussion Thread
Sports
2024 - 2026 Football Thread Formula 1 Discussion TL MMA Pick'em Pool 2013
World Cup 2022
Tech Support
Laptop capable of using Photoshop Lightroom?
TL Community
The Automated Ban List
Blogs
Unintentional protectionism…
Uldridge
ASL S21 English Commentary…
namkraft
Inside the Communication of …
TrAiDoS
Life Update and thoughts.
FuDDx
How do archons sleep?
8882
James Bond movies ranking - pa…
Topin
Customize Sidebar...

Website Feedback

Closed Threads



Active: 2564 users

[C++] Shoot The Snakes

Blogs > EsX_Raptor
Post a Reply
EsX_Raptor
Profile Blog Joined February 2008
United States2802 Posts
Last Edited: 2009-04-05 04:30:32
April 05 2009 03:41 GMT
#1
hi guys!

Before I continue, I'd like to state that this request will only work if you have Visual C++ installed in your computer, otherwise you will not be able to compile this code. If you do have a C++ editor different from Visual C++, you will have to install additional libraries and such if you don't have them.

Visual C++ Express Edition can be found here (FREE)

PROCEDURE
To run this game, load the following files to a new project in their respective folders:

+ Show Spoiler [Source Files] +

+ Show Spoiler [character.cpp] +

#include "character.h"

Character::Character(Level *lvl, DrawEngine *de, int s_index, float x, float y, int lives,
char up_key, char down_key, char left_key, char right_key)
: Sprite(lvl, de, s_index, x, y, lives)
{
upKey = up_key;
downKey = down_key;
leftKey = left_key;
rightKey = right_key;

classID = CHARACTER_CLASSID;
}

bool Character::keyPress(char c)
{
if (c == upKey)
{
return move(0, -1);
}
else if (c == downKey)
{
return move(0, 1);
}
else if (c == leftKey)
{
return move(-1, 0);
}
else if (c == rightKey)
{
return move(1, 0);
}

return false;
}

void Character::addLives(int num)
{
Sprite::addLives(num);

if (Sprite::isAlive())
{
pos.x = 1;
pos.y = 1;
move(0, 0);
}
}

+ Show Spoiler [drawEngine.cpp] +

#include "drawEngine.h"

#include <windows.h>
#include <iostream>

using namespace std;

DrawEngine::DrawEngine(int xSize, int ySize)
{
screenWidth=xSize;
screenHeight=ySize;

cursorVisibility(false);

map=0;
}

DrawEngine::~DrawEngine()
{
cursorVisibility(true);

gotoxy(0, screenHeight);

cout << "Game Over" << endl;
}

int DrawEngine::createSprite(int index, char c)
{
if (index >=0 && index < 16)
{
spriteImage[index]=c;
return index;
}

return -1;
}

void DrawEngine::deleteSprite(int index)
{
}

void DrawEngine::drawSprite(int index, int posx, int posy)
{
gotoxy(posx, posy);
cout << spriteImage[index];
}

void DrawEngine::eraseSprite(int posx, int posy)
{
gotoxy(posx, posy);
cout << ' ';
}

void DrawEngine::setMap(char **data)
{
map=data;
}

void DrawEngine::createBackgroundTile(int index, char c)
{
if (index >= 0 && index < 16)
{
tileImage[index]=c;
}
}
void DrawEngine::drawBackground(int lvl_width, int lvl_height)
{
if (map)
{
for (int y=0; y < lvl_height; y++)
{
gotoxy(0, y);

for (int x=0; x < lvl_width; x++)
cout << tileImage[map[x][y]];
}
}

screenWidth=lvl_width;
screenHeight=lvl_height;
}

void DrawEngine::gotoxy(int x, int y)
{
HANDLE output_handle;
COORD pos;

pos.X=x;
pos.Y=y;

output_handle=GetStdHandle(STD_OUTPUT_HANDLE);

SetConsoleCursorPosition(output_handle, pos);
}

void DrawEngine::cursorVisibility(bool visibility)
{
HANDLE output_handle;
CONSOLE_CURSOR_INFO cciInfo;

cciInfo.dwSize=1;
cciInfo.bVisible=visibility;

output_handle=GetStdHandle(STD_OUTPUT_HANDLE);

SetConsoleCursorInfo(output_handle, &cciInfo);
}

+ Show Spoiler [enemy.cpp] +

#include "enemy.h"
#include "level.h"
#include "character.h"

#include <math.h>
#include <stdlib.h>

Enemy::Enemy(Level *l, DrawEngine *de, int s_index, float x, float y, int i_lives)
: Sprite(l, de, s_index, x, y, i_lives)
{
goal=0;
classID=ENEMY_CLASSID;
}

bool Enemy::move(float x, float y)
{
int xpos=(int)(pos.x + x);
int ypos=(int)(pos.y + y);

if (isValidLevelMove(xpos, ypos))
{
list <Sprite *>::iterator Iter;

for (Iter=level->npc.begin(); Iter != level->npc.end(); Iter++)
{
if ((*Iter) != this && (int)(*Iter)->getX() == xpos && (int)(*Iter)->getY() == ypos)
{
return false;
}
}

erase(pos.x, pos.y);

pos.x += x;
pos.y += y;

facingDirection.x=x;
facingDirection.y=y;

draw(pos.x, pos.y);

if ((int)goal->getX() == xpos && (int)goal->getY() == ypos)
goal->addLives(-1);

return true;
}

return false;
}

void Enemy::idleUpdate(void)
{
if (goal)
simulateAI();
}

void Enemy::addGoal(Character *g)
{
goal=g;
}

void Enemy::simulateAI(void)
{
vector goal_pos=goal->getPosition();
vector direction;

direction.x=goal_pos.x - pos.x;
direction.y=goal_pos.y - pos.y;

float mag=sqrt(direction.x * direction.x + direction.y * direction.y);

direction.x=direction.x / (mag * 5);
direction.y=direction.y / (mag * 5);

if (!move(direction.x, direction.y))
{
while(!move(float(rand() % 3 - 1), float(rand() % 3 - 1)))
{
}
}
}

+ Show Spoiler [fireball.cpp] +

#include "fireball.h"

Fireball::Fireball(Level *lev, DrawEngine *de, int s_index, float x, float y,
float xbir, float ybir, int i_lives) : Sprite(lev, de, s_index, x, y, i_lives)
{
facingDirection.x=xbir;
facingDirection.y=ybir;

classID=FIREBALL_CLASSID;
}

void Fireball::idleUpdate(void)
{
if (isValidLevelMove((int)pos.x, (int)pos.y) && (facingDirection.x + facingDirection.y) != 0)
{
if (Sprite::move(facingDirection.x, facingDirection.y))
{
list <Sprite *>::iterator Iter;

for (Iter=level->npc.begin(); Iter != level->npc.end(); Iter++)
{
if ((*Iter)->classID != classID &&
(int)(*Iter)->getX() == (int)pos.x &&
(int)(*Iter)->getY() == (int)pos.y)
{
(*Iter)->addLives(-1);
addLives(-1);
level->addEnemies(-1);
}
}
}
else
addLives(-1);
}
}

+ Show Spoiler [game.cpp] +

#include "game.h"

#include <windows.h>

#include <conio.h>
#include <iostream>

using namespace std;

/* STANDARD VALUES
#define GAME_SPEED 33.333
#define WIDTH_OF_LEVEL 30
#define HEIGHT_OF_LEVEL 20
#define NUMBER_OF_ENEMIES 3//*/

//*
int GAME_SPEED;
int WIDTH_OF_LEVEL;
int HEIGHT_OF_LEVEL;
int NUMBER_OF_ENEMIES;//*/

bool Game:: run(void)
{
int nivel=3;
char key=' ';
char still=' ';

while (nivel > 0 && key != 'q' )
{
switch (nivel)
{
case 3: // LEVEL 1
GAME_SPEED=33;
WIDTH_OF_LEVEL=30;
HEIGHT_OF_LEVEL=20;
NUMBER_OF_ENEMIES=3;
break;

case 2: // LEVEL 2
GAME_SPEED=25;
WIDTH_OF_LEVEL=55;
HEIGHT_OF_LEVEL=22;
NUMBER_OF_ENEMIES=6;
break;

case 1: // LEVEL 3
GAME_SPEED=18;
WIDTH_OF_LEVEL=80;
HEIGHT_OF_LEVEL=24;
NUMBER_OF_ENEMIES=12;
};

level=new Level(&drawArea, WIDTH_OF_LEVEL, HEIGHT_OF_LEVEL);

drawArea.createBackgroundTile(TILE_EMPTY, ' ' );
drawArea.createBackgroundTile(TILE_WALL, 219);

drawArea.createSprite(SPRITE_PLAYER, 1);
drawArea.createSprite(SPRITE_ENEMY, '$' );
drawArea.createSprite(SPRITE_FIREBALL, '*' );

player=new Mage(level, &drawArea, 0);

level->draw(WIDTH_OF_LEVEL, HEIGHT_OF_LEVEL);
level->addPlayer(player);
level->addEnemies(NUMBER_OF_ENEMIES);

startTime=timeGetTime();
frameCount=0;

posx=0;

player->move(0, 0);

while (key !='q' )
{
while (!getInput(&key))
{
timerUpdate();
if (player->isAlive() == false)
{
return 0;
}
else if (level->numberOfEnemies() == 0)
{
break;
}
}

if (level->numberOfEnemies() == 0)
break;

level->keyPress(key);

//cout << "Here's what you pressed: " << key << endl;
}

delete player;

nivel--;

// cout << frameCount / ((timeGetTime() - startTime) / 1000) << " fps" << endl;
// cout << "End of the game" << endl;
}

return true;
}

bool Game::getInput(char *c)
{
if (_kbhit())
{
*c=_getch();
return true;
}

return false;
}

void Game::timerUpdate(void)
{
double currentTime=timeGetTime() - lastTime;

if (currentTime < GAME_SPEED)
return;

level->update();
frameCount++;

lastTime=timeGetTime();
}

+ Show Spoiler [level.cpp] +

#include "level.h"
#include "character.h"
#include "enemy.h"

#include <stdlib.h>

#include <iostream>

using namespace std;

Level::Level(DrawEngine *de, int w, int h)
{
drawArea=de;

numEnemy=0;

width=w;
height=h;

player=0;

// create memory for our level
level=new char *[width];

for (int x=0; x < width; x++)
{
level[x]=new char[height];
}

// create the level
createLevel();

drawArea->setMap(level);
}

Level::~Level()
{
for (int x=0; x < width; x++)
delete [] level[x];

delete [] level;

for (Iter=npc.begin(); Iter != npc.end(); Iter++)
delete (*Iter);
}

void Level::createLevel(void)
{
for (int x=0 ; x < width ; x++)
{
for (int y=0; y < height ; y++)
{
if (y == 0 || y == height - 1 || x == 0 || x == width - 1)
{
level[x][y]=TILE_WALL;
}
else
{
int random=rand() % 100;

if (random < 90)
level[x][y]=TILE_EMPTY;
else
level[x][y]=TILE_WALL;
}
}
}
}


void Level::draw(int lvl_width, int lvl_height)
{
// we need to draw the level
drawArea->drawBackground(lvl_width, lvl_height);
}

void Level::addPlayer(Character *p)
{
player=p;
}

bool Level::keyPress(char c)
{
if (player)
if (player->keyPress(c))
return true;

return false;
}

void Level::update()
{
//deal with fireballs, enemies, AI, etc
for(Iter=npc.begin(); Iter != npc.end(); )
{
(*Iter)->idleUpdate();

if((*Iter)->isAlive() == false)
{
Sprite *temp=*Iter;

Iter=npc.erase(Iter);
delete temp;
}
else
Iter++;
}
}

void Level::addEnemies(int num)
{
int i=num;

numEnemy += num;

while (i > 0)
{
int xpos=int((float(rand() % 100) / 100) * (width - 2) + 1);
int ypos=int((float(rand() % 100) / 100) * (height - 2) + 1);

if (level[xpos][ypos] != TILE_WALL)
{
Enemy *temp=new Enemy(this, drawArea, SPRITE_ENEMY, float(xpos), (float)ypos);

temp->addGoal(player);

addNPC((Sprite *)temp);

i--;
}
}
}

int Level::numberOfEnemies()
{
return numEnemy;
}

void Level::addNPC(Sprite *spr)
{
npc.push_back(spr);
}

+ Show Spoiler [mage.cpp] +

#include "mage.h"
#include "fireball.h"
#include "level.h"

Mage::Mage(Level *l, DrawEngine *de, int s_index, float x, float y, int lives,
char spell_key, char up_key, char down_key, char left_key, char right_key)
: Character(l, de, s_index, x, y, lives, up_key, down_key, left_key, right_key)
{
spellKey=spell_key;
classID=MAGE_CLASSID;
}

bool Mage::keyPress(char c)
{
bool val=Character::keyPress(c);

if (val == false)
{
if (c == spellKey)
{
castSpell();
return true;
}
}

return val;
}

void Mage::castSpell(void)
{
Fireball *temp=new Fireball(level, drawArea, SPRITE_FIREBALL,
(int)pos.x+facingDirection.x, (int)pos.y+facingDirection.y,
facingDirection.x, facingDirection.y);

level->addNPC((Sprite *)temp);
}

+ Show Spoiler [main.cpp] +

#include "game.h"

#include <iostream>

using namespace std;

int main()
{
Game gameHeart;

gameHeart.run();

return 0;
}

+ Show Spoiler [sprite.cpp] +

#include "sprite.h"

Sprite::Sprite(Level *l, DrawEngine *de, int s_index, float x, float y, int i_lives)
{
drawArea=de;

pos.x=x;
pos.y=y;

spriteIndex=s_index;

numLives=i_lives;

facingDirection.x=1;
facingDirection.y=0;

classID=SPRITE_CLASSID;

level=l;
}

Sprite::~Sprite()
{
// erase the dying sprite
erase(pos.x, pos.y);
}

vector Sprite::getPosition(void)
{
return pos;
}

float Sprite::getX(void)
{
return pos.x;
}

float Sprite::getY(void)
{
return pos.y;
}

void Sprite::addLives(int num)
{
numLives += num;
}

int Sprite::getLives(void)
{
return numLives;
}

bool Sprite::isAlive(void)
{
return (numLives > 0);
}

bool Sprite::move(float x, float y)
{
int xpos=(int)(pos.x + x);
int ypos=(int)(pos.y + y);

if (isValidLevelMove(xpos, ypos))
{
// erase sprite
erase(pos.x, pos.y);

pos.x += x;
pos.y += y;

facingDirection.x=x;
facingDirection.y=y;

// draw sprite
draw(pos.x, pos.y);
return true;
}

return false;
}

void Sprite::draw(float x, float y)
{
drawArea->drawSprite(spriteIndex, (int)x, (int)y);
}

void Sprite::erase(float x, float y)
{
drawArea->eraseSprite((int)x, (int)y);
}

bool Sprite::isValidLevelMove(int xpos, int ypos)
{
if (level->level[xpos][ypos] != TILE_WALL)
return true;

return false;
}

void Sprite::idleUpdate(void)
{
// this is for the inherited classes
}



+ Show Spoiler [Header Files] +

+ Show Spoiler [character.h] +

#ifndef CHARACTER_H
#define CHARACTER_H

#include "sprite.h"

class Character : public Sprite
{
public:
Character(Level *l, DrawEngine *de, int s_index, float x=1, float y=1, int lives=3,
char up_key='w', char down_key='s', char left_key='a', char right_key='d' );

virtual bool keyPress(char c);

virtual void addLives(int num=1);

protected:
char upKey;
char downKey;
char leftKey;
char rightKey;
};

#endif

+ Show Spoiler [drawEngine.h] +

#ifndef DRAWENGINE_H
#define DRAWENGINE_H

class DrawEngine
{
public:
DrawEngine(int xSize=80, int ySize=24);
~DrawEngine();

int createSprite(int index, char c);
void deleteSprite(int index);

void eraseSprite(int posx, int posy);
void drawSprite(int index, int posx, int posy);

void createBackgroundTile(int index, char c);

void setMap(char **);
void drawBackground(int lvl_width, int lvl_height);

protected:
char **map;
int screenWidth, screenHeight;
char spriteImage[16];
char tileImage[16];

private:
void gotoxy(int x, int y);
void cursorVisibility(bool visibility);
};

#endif

+ Show Spoiler [enemy.h] +

#ifndef ENEMY_H
#define ENEMY_H

#include "sprite.h"

class Level;
class Character;

class Enemy : public Sprite
{
public:
Enemy(Level *l, DrawEngine *de, int s_index, float x=1, float y=1,
int i_lives=1);

void addGoal(Character *g);
bool move(float x, float y);
void idleUpdate(void);

protected:
void simulateAI(void);
Character *goal;
private:
};

#endif

+ Show Spoiler [fireball.h] +

#ifndef FIREBALL_H
#define FIREBALL_H

#include "sprite.h"

class Fireball : public Sprite
{
public:
Fireball(Level *lev, DrawEngine *de, int s_index, float x=1, float y=1,
float xbir=0, float ybir=0, int i_lives=1);

void idleUpdate(void);

protected:
};

#endif

+ Show Spoiler [game.h] +

#ifndef GAME_H
#define GAME_H

#include "drawEngine.h"
#include "level.h"
#include "character.h"
#include "mage.h"

class Game
{
public:
bool run(void);

protected:
bool getInput(char *c);
void timerUpdate(void);

private:
Level *level;
Mage *player;

double frameCount;
double startTime;
double lastTime;

int posx;

DrawEngine drawArea;
};

#endif

+ Show Spoiler [level.h] +

#ifndef LEVEL_H
#define LEVEL_H

#include <list>

using std::list;

enum
{
SPRITE_PLAYER,
SPRITE_ENEMY,
SPRITE_FIREBALL,
};

enum
{
TILE_EMPTY,
TILE_WALL,
};

#include "drawEngine.h"
//#include "character.h"

class Sprite;
class Character;

class Level
{
public:
Level(DrawEngine *de, int width=80, int height=24);
~Level();

void addPlayer(Character *p);
void update(void);
void draw(int lvl_width, int lvl_height);
bool keyPress(char c);

void addEnemies(int num);
int numberOfEnemies();
void addNPC(Sprite *spr);

friend class Sprite;

protected:
void createLevel(void);

private:
int width;
int height;
int numEnemy;

char **level;

Character *player;
DrawEngine *drawArea;

public:
list <Sprite *> npc;
list <Sprite *>::iterator Iter;
};

#endif

+ Show Spoiler [mage.h] +

#ifndef MAGE_H
#define MAGE_H

#include "drawEngine.h"
#include "character.h"

class Mage : public Character
{
public:
Mage(Level *l, DrawEngine *de, int s_index, float x=1, float y=1,
int lives=3, char spell_key=' ', char up_key='w', char down_key='s', char left_key='a', char right_key='d' );

bool keyPress(char c);

protected:
void castSpell(void);

private:
char spellKey;
};

#endif

+ Show Spoiler [sprite.h] +

#ifndef SPRITE_H
#define SPRITE_H

#include "drawEngine.h"
#include "level.h"

enum classID
{
SPRITE_CLASSID,
CHARACTER_CLASSID,
ENEMY_CLASSID,
FIREBALL_CLASSID,
MAGE_CLASSID,
};

struct vector
{
float x;
float y;
};

class Sprite
{
public:
Sprite(Level *l, DrawEngine *de, int s_index, float x=1, float y=1, int i_lives=1);
~Sprite();

vector getPosition(void);
float getX(void);
float getY(void);

virtual void addLives(int num=1);
int getLives(void);
bool isAlive(void);

virtual void idleUpdate(void);

virtual bool move(float x, float y);

int classID;

protected:
Level *level;

DrawEngine *drawArea;
vector pos;
int spriteIndex;
int numLives;

vector facingDirection;

void draw(float x, float y);
void erase(float x, float y);

bool isValidLevelMove(int xpos, int ypos);
};

#endif



INTRODUCTION
I coded a little game that is played in the command prompt. This game is about a little mage (☺) that shoots fireballs (*) towards evil enemies ($) in a series of 3 consecutive levels, which increase in difficulty as you beat them.

You won't get past level 2.

Here's are a couple screen shots of the game:

[image loading]

you guys so easy to kill, lol

[image loading]

fuck...

CONTROLS

W - Move Up
S - Move Down
A - Move Left
D - Move Right
SPACE - Shoot
Q - Quit Game


LAST COMMENTS
Yes I'm a newbie programmer and felt hyped up because I successfully coded this program ^^ bear with me xD
Freel free to fuck with the code as much as you want, however, I have one rule: If you happen to make something really cool such as a new implementation, a new character class, multiplayer support (easy, but im too lazy), shooting enemies and what-not, post it here! We'd love to see it

Alright, peace.
- Rap

*
Insane
Profile Blog Joined November 2003
United States4991 Posts
April 05 2009 03:45 GMT
#2
Don't think you can without staff account. Use http://pastebin.com/ or something similar instead.
MasterOfChaos
Profile Blog Joined April 2007
Germany2896 Posts
April 05 2009 03:46 GMT
#3
I don't think it is possible to do that. Try pasting it on "nopaste.info" and linking it here.
LiquipediaOne eye to kill. Two eyes to live.
EsX_Raptor
Profile Blog Joined February 2008
United States2802 Posts
April 05 2009 04:00 GMT
#4
thanks guys, but i rather fix the errors myself here and also those sites number the lines which makes it gay to copy/paste x_X
liger13
Profile Blog Joined February 2008
United States1060 Posts
April 05 2009 04:15 GMT
#5
haha... does this have anything todo with 3DBuzz?...

i remember doing something similar...

but gz on finishing a project ... next is D3D or Opengl
I feel like pwning noobs
EsX_Raptor
Profile Blog Joined February 2008
United States2802 Posts
April 05 2009 04:17 GMT
#6
3dbuzz? who's that o,o

damn man, opengl that crap's insane!
liger13
Profile Blog Joined February 2008
United States1060 Posts
Last Edited: 2009-04-05 04:23:50
April 05 2009 04:22 GMT
#7
On April 05 2009 13:17 EsX_Raptor wrote:
3dbuzz? who's that o,o

damn man, opengl that crap's insane!

ahh.. its just a site with alot of training videos, the c++ one reminded me of this

but yah... opengl is crazy... with all its addons... Direct3D is nice though... it has most of what you needin one package, which is good for new coders.
I feel like pwning noobs
EsX_Raptor
Profile Blog Joined February 2008
United States2802 Posts
April 05 2009 04:25 GMT
#8
LOOOOOOOOOOOOOOOL I just checked the site!!! HAHAHAHA OMG I know where my CS teacher got this project out of xDD

fuck i knew i shoudlve posted i had to do this project <_<

I'ma go check opengl
Cambium
Profile Blog Joined June 2004
United States16368 Posts
Last Edited: 2009-04-05 04:45:01
April 05 2009 04:44 GMT
#9
Can you compile an executable and upload it somewhere?

I don't want to install VCE

e:

but i'm interested in trying your game
When you want something, all the universe conspires in helping you to achieve it.
G5
Profile Blog Joined August 2005
United States2921 Posts
April 05 2009 04:51 GMT
#10
nice

im interested to see what ppl will add to it
keV.
Profile Blog Joined February 2009
United States3214 Posts
Last Edited: 2009-04-05 06:35:24
April 05 2009 06:33 GMT
#11
MY EYES, UN TABBED CODE. GRAHHHH

I know its not the OPs fault btw, just painful. Paste this shiz into VS
"brevity is the soul of wit" - William Shakesman
Mido_rad
Profile Joined January 2010
Egypt1 Post
Last Edited: 2010-01-17 17:05:58
January 17 2010 17:01 GMT
#12
This is a bump yeah, but yeah yeah I got a good reason, copyrights and disclosing this dude's robbery.

THIS IS A THEFT. This game is included in 3DBuzz Introduction to C++ tutorial, you bitch.

IF YOU GONNA WRITE THE CODE HERE CITE YOUR FUCKING RESOURCES YOU FUCKING FUCKING etc...

You just wrote and compiled then took screenshots of what you fucking run. If you were a programmer you wouldn't even write those captions under your screenshot, fucking cheater.

To all: Check out that 33DBuzz tutorial, it is cool.

I had to flame the guy, I couldn't resist; those people worked hard teaching you, and you are not mentioning them at all. You could have messed with the code yourself and put it here giving them credits for teaching you as well!
But, flames are generally discouraged and we expect people to have a damn good reason for resorting to harsh language in the forums.
Please log in or register to reply.
Live Events Refresh
Next event in 5h
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
RuFF_SC2 263
Ketroc 40
Livibee 18
StarCraft: Brood War
Sea 9335
GuemChi 2644
Artosis 711
Leta 99
PianO 40
Jaeyun 18
Icarus 11
Dota 2
monkeys_forever647
NeuroSwarm150
LuMiX1
League of Legends
JimRising 746
Counter-Strike
Stewie2K203
Heroes of the Storm
Khaldor171
Other Games
summit1g11731
C9.Mang0330
Maynarde169
Mew2King75
ViBE34
Organizations
Other Games
gamesdonequick891
Counter-Strike
PGL136
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 13 non-featured ]
StarCraft 2
• davetesta35
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
League of Legends
• Rush1274
• Lourlo505
Upcoming Events
Replay Cast
5h
Wardi Open
8h
Monday Night Weeklies
13h
Replay Cast
20h
Replay Cast
2 days
Replay Cast
2 days
The PondCast
3 days
KCM Race Survival
3 days
Replay Cast
3 days
Ultimate Battle
4 days
Light vs ZerO
[ Show More ]
Replay Cast
4 days
CranKy Ducklings
5 days
Replay Cast
5 days
Sparkling Tuna Cup
6 days
Replay Cast
6 days
Liquipedia Results

Completed

Acropolis #4 - TS5
PiG Sty Festival 7.0
Underdog Cup #3

Ongoing

KCM Race Survival 2026 Season 1
Jeongseon Sooper Cup
Spring Cup 2026
WardiTV Winter 2026
Nations Cup 2026
ESL Pro League S23 Stage 1&2
PGL Cluj-Napoca 2026
IEM Kraków 2026
BLAST Bounty Winter 2026
BLAST Bounty Winter Qual
eXTREMESLAND 2025

Upcoming

ASL Season 21: Qualifier #1
ASL Season 21: Qualifier #2
ASL Season 21
Acropolis #4 - TS6
Acropolis #4
IPSL Spring 2026
CSLAN 4
HSC XXIX
uThermal 2v2 2026 Main Event
Bellum Gens Elite Stara Zagora 2026
RSL Revival: Season 4
NationLESS Cup
Asian Champions League 2026
IEM Atlanta 2026
PGL Astana 2026
BLAST Rivals Spring 2026
CCT Season 3 Global Finals
FISSURE Playground #3
IEM Rio 2026
PGL Bucharest 2026
Stake Ranked Episode 1
BLAST Open Spring 2026
ESL Pro League S23 Finals
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2026 TLnet. All Rights Reserved.