• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 14:20
CEST 20:20
KST 03:20
  • 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
Team Liquid Map Contest #22 - The Finalists12[ASL21] Ro16 Preview Pt1: Fresh Flow9[ASL21] Ro24 Preview Pt2: News Flash10[ASL21] Ro24 Preview Pt1: New Chaos0Team Liquid Map Contest #22 - Presented by Monster Energy21
Community News
2026 GSL Season 1 Qualifiers11Maestros of the Game 2 announced32026 GSL Tour plans announced10Weekly Cups (April 6-12): herO doubles, "Villains" prevail1MaNa leaves Team Liquid20
StarCraft 2
General
Weekly Cups (April 6-12): herO doubles, "Villains" prevail MaNa leaves Team Liquid Oliveira Would Have Returned If EWC Continued Team Liquid Map Contest #22 - The Finalists 2026 GSL Tour plans announced
Tourneys
2026 GSL Season 1 Qualifiers Sparkling Tuna Cup - Weekly Open Tournament Master Swan Open (Global Bronze-Master 2) SEL Doubles (SC Evo Bimonthly) $5,000 WardiTV TLMC tournament - Presented by Monster Energy
Strategy
Custom Maps
[D]RTS in all its shapes and glory <3 [A] Nemrods 1/4 players [M] (2) Frigid Storage
External Content
Mutation # 521 Memorable Boss The PondCast: SC2 News & Results Mutation # 520 Moving Fees Mutation # 519 Inner Power
Brood War
General
ASL21 General Discussion Pros React To: Tulbo in Ro.16 Group A [BSL22] RO32 Group Stage mca64Launcher - New Version with StarCraft: Remast BGH Auto Balance -> http://bghmmr.eu/
Tourneys
[ASL21] Ro16 Group B Korean KCM Race Survival 2026 Season 2 [Megathread] Daily Proleagues [ASL21] Ro16 Group A
Strategy
What's the deal with APM & what's its true value Any training maps people recommend? Fighting Spirit mining rates Muta micro map competition
Other Games
General Games
General RTS Discussion Thread Battle Aces/David Kim RTS Megathread Nintendo Switch Thread Stormgate/Frost Giant Megathread Starcraft Tabletop Miniature Game
Dota 2
The Story of Wings Gaming Official 'what is Dota anymore' discussion
League of Legends
G2 just beat GenG in First stand
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 Five o'clock TL Mafia
Community
General
Russo-Ukrainian War Thread Things Aren’t Peaceful in Palestine US Politics Mega-thread YouTube Thread Canadian Politics Mega-thread
Fan Clubs
The IdrA Fan Club
Media & Entertainment
Anime Discussion Thread [Req][Books] Good Fantasy/SciFi books [Manga] One Piece Movie Discussion!
Sports
2024 - 2026 Football Thread McBoner: A hockey love story Formula 1 Discussion Cricket [SPORT]
World Cup 2022
Tech Support
[G] How to Block Livestream Ads
TL Community
The Automated Ban List
Blogs
Reappraising The Situation T…
TrAiDoS
lurker extra damage testi…
StaticNine
Broowar part 2
qwaykee
Funny Nicknames
LUCKY_NOOB
Iranian anarchists: organize…
XenOsky
ASL S21 English Commentary…
namkraft
Customize Sidebar...

Website Feedback

Closed Threads



Active: 1924 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 40m
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
mouzHeroMarine 288
UpATreeSC 97
MindelVK 50
StarCraft: Brood War
Britney 25378
Calm 3645
ggaemo 271
Soma 265
Rush 160
firebathero 146
Soulkey 133
Dewaltoss 117
Backho 101
Rock 18
[ Show more ]
yabsab 9
SilentControl 8
Dota 2
ODPixel108
febbydoto12
Counter-Strike
pashabiceps2919
fl0m1537
byalli753
Heroes of the Storm
Liquid`Hasu129
XaKoH 123
Other Games
qojqva970
FrodaN786
B2W.Neo701
ceh9475
KnowMe286
Trikslyr161
ArmadaUGS119
RotterdaM82
C9.Mang080
Mew2King50
QueenE49
Organizations
Counter-Strike
PGL133
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 19 non-featured ]
StarCraft 2
• Adnapsc2 14
• IndyKCrew
• sooper7s
• AfreecaTV YouTube
• Migwel
• intothetv
• LaughNgamezSOOP
• Kozan
StarCraft: Brood War
• HerbMon 27
• RayReign 16
• FirePhoenix4
• STPLYoutube
• ZZZeroYoutube
• BSLYoutube
Dota 2
• WagamamaTV426
League of Legends
• Nemesis3310
• TFBlade1663
Other Games
• imaqtpie768
• Shiphtur169
Upcoming Events
Replay Cast
5h 40m
Escore
15h 40m
WardiTV Map Contest Tou…
16h 40m
OSC
20h 40m
Big Brain Bouts
21h 40m
MaNa vs goblin
Scarlett vs Spirit
Serral vs herO
Korean StarCraft League
1d 8h
CranKy Ducklings
1d 15h
WardiTV Map Contest Tou…
1d 16h
IPSL
1d 21h
WolFix vs nOmaD
dxtr13 vs Razz
BSL
2 days
UltrA vs KwarK
Gosudark vs cavapoo
dxtr13 vs HBO
Doodle vs Razz
[ Show More ]
CranKy Ducklings
2 days
Sparkling Tuna Cup
2 days
WardiTV Map Contest Tou…
2 days
Ladder Legends
2 days
BSL
3 days
StRyKeR vs rasowy
Artosis vs Aether
JDConan vs OyAji
Hawk vs izu
IPSL
3 days
JDConan vs TBD
Aegong vs rasowy
Replay Cast
3 days
Wardi Open
3 days
Afreeca Starleague
3 days
Bisu vs Ample
Jaedong vs Flash
Monday Night Weeklies
3 days
RSL Revival
4 days
Afreeca Starleague
4 days
Barracks vs Leta
Royal vs Light
WardiTV Map Contest Tou…
4 days
RSL Revival
5 days
Replay Cast
6 days
The PondCast
6 days
WardiTV Map Contest Tou…
6 days
Liquipedia Results

Completed

Proleague 2026-04-15
RSL Revival: Season 4
NationLESS Cup

Ongoing

BSL Season 22
ASL Season 21
CSL 2026 SPRING (S20)
IPSL Spring 2026
KCM Race Survival 2026 Season 2
StarCraft2 Community Team League 2026 Spring
WardiTV TLMC #16
Nations Cup 2026
IEM Rio 2026
PGL Bucharest 2026
Stake Ranked Episode 1
BLAST Open Spring 2026
ESL Pro League S23 Finals
ESL Pro League S23 Stage 1&2
PGL Cluj-Napoca 2026
IEM Kraków 2026

Upcoming

Escore Tournament S2: W3
Escore Tournament S2: W4
Acropolis #4
BSL 22 Non-Korean Championship
CSLAN 4
Kung Fu Cup 2026 Grand Finals
HSC XXIX
uThermal 2v2 2026 Main Event
2026 GSL S2
RSL Revival: Season 5
2026 GSL S1
XSE Pro League 2026
IEM Cologne Major 2026
Stake Ranked Episode 2
CS Asia Championships 2026
IEM Atlanta 2026
Asian Champions League 2026
PGL Astana 2026
BLAST Rivals Spring 2026
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.