• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 17:37
CEST 23:37
KST 06:37
  • 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
[ASL22] Ro24 Preview: Siren's Call8[ASL22] Ro24 Preview: Summer's End9Serral wins HomeStory Cup 2915Serral wins Maestros of the Game 244ByuL, and the Limitations of Standard Play3
Community News
New 3v3 BGH Ladder (and more) on ShieldBattery!33Weekly Cups (August 17-23): Zerg dominate the week6Weekly Cups (August 10-16): SHIN doubles2GSTL Returns in 2026!45Weekly Cups (Aug 3-9): Protoss get shut out7
StarCraft 2
General
SC4ALL II: SC2 Player Announcement 6/8 - Maru How would you feel about frequent/monthly balance patches for SC2? Weekly Cups (August 17-23): Zerg dominate the week Daily SC2 Player Grid - feedback wanted Balance hotfix patch 5.0.16b (July 16)
Tourneys
Sparkling Tuna Cup - Weekly Open Tournament 2026 GSTL Announcement IntoTheTV X SOOP SC2 League : Weekly & Monthly PIG STY FESTIVAL 8.0! (13 - 23 August) WORTEX 2026 - Hungarian SC2 Finals Budapest
Strategy
[G] Having the right mentality to improve
Custom Maps
Nexus Wars 2021 GUIDE [M] (2) Industrial Park
External Content
Mutation # 541 Binary Choice The PondCast: SC2 News & Results Mutation # 540 Dodge This Mutation # 539 Thunder Dome
Brood War
General
BW General Discussion Pros React To: Calm's Big Brain Play Vs Mini ASL22 General Discussion [Personal Project Share] Terran Defense v0.60 BGH Auto Balance -> http://bghmmr.eu/
Tourneys
[Megathread] Daily Proleagues [ASL22] Ro24 Group F BSL LAN Party - Kraków 29-30 August - OPEN SIGNUPS Escore Tournament - Season 3
Strategy
Replay Review Process - What do you do? Game Theory for Starcraft Odyssey Mineral Stack Saturation Fighting Spirit mining rates
Other Games
General Games
Nintendo Switch Thread Stormgate/Frost Giant Megathread General RTS Discussion Thread Anyone here play Quakeworld back in the day? EVE Corporation
Dota 2
Browser Invoker Combo Trainer & Speedrun Simulator Official 'what is Dota anymore' discussion
League of Legends
[TL LoL EUW IHs] Teemo shall perish TSM pausing esports and CLG Dead
Heroes of the Storm
Heroes of the Storm 2.0
Hearthstone
Deck construction bug
TL Mafia
TL Mafia Power Rank TL Mafia Community Thread NeO.D_StephenKing vs This Guy From 1 Million Dance
Community
General
Things Aren’t Peaceful in Palestine US Politics Mega-thread Russo-Ukrainian War Thread European Politico-economics QA Mega-thread The Letting Off Steam Thread
Fan Clubs
MarineLorD Fan Club The Creator Fan Club The ShoWTimE Fan Club
Media & Entertainment
Movie Discussion! Anime Discussion Thread
Sports
Football (Soccer) Thread TeamLiquid Health and Fitness Initiative For 2023 MLB/Baseball 2023 NBA General Discussion
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread
TL Community
The Automated Ban List Northern Ireland Global Starcraft
Blogs
Regacy Esports: The Bh…
regacyesports
Violent Games and Crime Rate…
TrAiDoS
LOCKPICKING NOOB
LUCKY_NOOB
Cathedral Of CS And NY pizza a…
FuDDx
Please support my new stand…
Peanutsc
Customize Sidebar...

Website Feedback

Closed Threads



Active: 7605 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 12h 23m
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
SpeCial 226
StarCraft: Brood War
Britney 26243
Dewaltoss 105
sSak 41
Dota 2
monkeys_forever331
LuMiX0
League of Legends
Doublelift6338
JimRising 390
Counter-Strike
minikerr94
Super Smash Bros
Mew2King94
Heroes of the Storm
Khaldor273
Other Games
gofns16718
Liquid`RaSZi2841
Grubby2390
fl0m2088
C9.Mang0282
ToD209
KnowMe106
Organizations
Other Games
BasetradeTV60
StarCraft 2
angryscii 23
StarCraft: Brood War
Kim Chul Min (afreeca) 12
[ Show 13 non-featured ]
StarCraft 2
• musti20045 25
• intothetv
• AfreecaTV YouTube
• Kozan
• IndyKCrew
• Migwel
StarCraft: Brood War
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
Dota 2
• masondota21865
Other Games
• imaqtpie1318
• Scarra1041
• Shiphtur174
Upcoming Events
Sparkling Tuna Cup
12h 23m
Afreeca Starleague
12h 23m
Monday Night Weeklies
18h 23m
GSL
1d 13h
PiGosaur Cup
2 days
Kung Fu Cup
2 days
Replay Cast
3 days
The PondCast
3 days
IntoTheTV X SOOP
4 days
CranKy Ducklings
5 days
[ Show More ]
Sparkling Tuna Cup
6 days
OSC
6 days
Liquipedia Results

Completed

Proleague 2026-08-27
PiG Sty Festival 8.0
Light Tournament 2026

Ongoing

KCM Race Survival 2026 Season 3
K-JUNGMAN
ASL Season 22
Super Anchor Qualifying S3
CSL Season 22: Qualifier 2
RSL Revival: Season 6
Big Dog Cup 2026 Div 1
BLAST Open Fall 2026
Esports World Cup 2026
Esports World Cup 2026: LCQ
BLAST Bounty Summer 2026
BLAST Bounty Summer Qual
Stake Ranked Episode 3
XSE Pro League 2026
IEM Cologne Major 2026

Upcoming

CSL 2026 AUTUMN (S22)
Escore Tournament S3: King of Kings
Acropolis #5
Acropolis #5 - TRS
Blizzard Classic Cup 2026
Acropolis #5 - GSA
Acropolis #5 - GSB
HSC XXX
SC4ALL II: StarCraft II
Kung Fu Cup 2026 Grand Finals
RSL Offline Finals
Calamity Invitational
BLAST Rivals Fall 2026
IEM Beijing 2026
Stake Ranked Episode 5
PGL Masters Bucharest 2026
1win Private Club #2
Thunderpick World Champ. '26
ESL Pro League Season 24
Stake Ranked Episode 4
1win Private Club #1
Logitech G Play Connect 2026
SL StarSeries Fall 2026
FISSURE Playground #3
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.