Followers 0

# Oh my glorious code!

## 21 posts in this topic

I don't have any code from when I was that age, as around the age of 14 or so, an HDD crash had wiped out everything I had before this point (this was in the days when CD-R burners for PCs didn't really exist yet, and computers typically only had a single HDD, *1).

*1: many case+MOBO designs in the 90s were a mess (only really space for a single HDD in the case, ISA cards and CPU/RAM on riser-cards, pushrod-operated PSUs, ...), though at least ATX mostly fixed this up, apart from the years of the evil heat-sink braces... (vs the plastic hook-based holders of older heatsinks, or the latter addition of levers).

however, code from back when I was between 15 and 17 was still pretty horrid...

it seems it wasn't until I was in my 20s that my coding skills actually started to get sort of worthwhile...

Edited by cr88192
0

##### Share on other sites
when i was 14, i only knew(and knew is a very long stretch) actionscript. so be proud of atleast knowing c at such a young age.
0

##### Share on other sites

When I was 14 (Now 16, so not much of a stretch) I started out in as much as I could get myself into. Here is my first working and presentable code:

0

##### Share on other sites

The feeling of finding old code is awesome. Last week I found my old naruto(cuz there are sprites ) arena game in Visual Basic. Hah I wrote it when I was 13 or 14. Srsly I had multiplayer and 2 characters , though I didn't know what function is and everything was in one large, really large function(automatically generated from a timer I think, I had found that if I double click it shows me editor and I can start typing )

PS. I used the deprecated direct draw for drawing... . My greatest achievement was the moving camera that is following the character. Ohh also I found a vid of my game: http://youtu.be/gYePr5AMBJE hope you like it

Edited by Nickie
0

##### Share on other sites

when i was 14, i only knew(and knew is a very long stretch) actionscript. so be proud of atleast knowing c at such a young age.

Actually this is C++. But at that time I didn't even know what a class or an object was. All I knew was basic functions, variables. So there's nothing really to be proud of.

0

##### Share on other sites

The feeling of finding old code is awesome. Last week I found my old naruto(cuz there are sprites ) arena game in Visual Basic. Hah I wrote it when I was 13 or 14. Srsly I had multiplayer and 2 characters , though I didn't know what function is and everything was in one large, really large function(automatically generated from a timer I think, I had found that if I double click it shows me editor and I can start typing )

PS. I used the deprecated direct draw for drawing... . My greatest achievement was the moving camera that is following the character. Ohh also I found a vid of my game: http://youtu.be/gYePr5AMBJE hope you like it

Haha, It's great!

0

##### Share on other sites

when i was 14, i only knew(and knew is a very long stretch) actionscript. so be proud of atleast knowing c at such a young age.

Actually this is C++. But at that time I didn't even know what a class or an object was. All I knew was basic functions, variables. So there's nothing really to be proud of.

AT least you knew how to use goto.

0

##### Share on other sites

when i was 14, i only knew(and knew is a very long stretch) actionscript. so be proud of atleast knowing c at such a young age.

Actually this is C++. But at that time I didn't even know what a class or an object was. All I knew was basic functions, variables. So there's nothing really to be proud of.

AT least you knew how to use goto.

Yeah

In the way I wrote that code, it looks more like BASIC, than C++

Edited by Edvinas Kilbauskas
0

##### Share on other sites

When I was 12 I only knew how to put discs on my Playstation :D Later I learnt to put discs on my PC and the rest is history :P

Did you had automatic formatting or you wrote it just like that?

0

##### Share on other sites

When I was 12 I only knew how to put discs on my Playstation Later I learnt to put discs on my PC and the rest is history

Did you had automatic formatting or you wrote it just like that?

Yes, I had automatic formatting enabled.

0

##### Share on other sites

Ahhh, at 12 I was hacking the Half-Life SDK. Added ricochets (if the reflection angle was sufficiently shallow) and bullets that could go through walls. And made the UI green

My first encounter with the horrors that are/were Visual C++ 6 and systems hungarian notation.

Edited by l0calh05t
0

##### Share on other sites

I don't have any code from when I was that age, as around the age of 14 or so, an HDD crash had wiped out everything I had before this point

Same, only my HDD was random girly-pop cassette tapes I "found" somewhere in the vicinity of my sister's tape player...

1

##### Share on other sites

system("cls")...oh how those days were glorious!

1

##### Share on other sites
10 CLS
20 "do stuff"
30 GOTO 20
1

##### Share on other sites

If stdout supports ANSI escape codes (e.g. the terminals on *nix or DOS with ANSI.SYS) you could use the escape codes for even more interesting stuff without moving away from the standard library. Colors everywhere!

0

##### Share on other sites

If stdout supports ANSI escape codes (e.g. the terminals on *nix or DOS with ANSI.SYS) you could use the escape codes for even more interesting stuff without moving away from the standard library. Colors everywhere!

I've been having so much fun with those lately, they are really easy to use as well. Shame they aren't 100% portable, though. I know there's ncurses (and its Windows counterpart PDCurses) but sometimes you just want colors here and there without engineering a complete user interface solution.

0

##### Share on other sites

If stdout supports ANSI escape codes (e.g. the terminals on *nix or DOS with ANSI.SYS) you could use the escape codes for even more interesting stuff without moving away from the standard library. Colors everywhere!

I've been having so much fun with those lately, they are really easy to use as well. Shame they aren't 100% portable, though. I know there's ncurses (and its Windows counterpart PDCurses) but sometimes you just want colors here and there without engineering a complete user interface solution.

Dude, ncurses is as easy as or even easier than standart cout in C++. You don't need to engineer complete UI interface or nothing.

Some guy on youtube was interested in this game, and said I should rewrite it in ncurses, so I began working on it.

Look my simple graphics class, which works very well, you can use it too, if you want to.

// GraphicsSystem.h

#ifndef GRAPHICSSYSTEM_H
#define GRAPHICSSYSTEM_H

class GraphicsSystem
{
private:
static const int SCREEN_WIDTH = 79;
static const int SCREEN_HEIGHT = 24;
char m_frameBuffer[SCREEN_WIDTH][SCREEN_HEIGHT];

void renderBuffer();
public:
GraphicsSystem();
~GraphicsSystem();

void clearFramebuffer();
void renderPixel(int x, int y, char ch);
void render();
int getScreenWidth();
int getScreenHeight();
};

#endif // GRAPHICSSYSTEM_H

//--------------------------------------------------------------
//GraphicsSystem.cpp

#include <curses.h>
#include "GraphicsSystem.h"

GraphicsSystem::GraphicsSystem()
{
clearFramebuffer();
initscr();
cbreak();
timeout(50);
}

GraphicsSystem::~GraphicsSystem()
{
endwin();
}

void GraphicsSystem::render()
{
wclear(stdscr);
renderBuffer();
clearFramebuffer();
wrefresh(stdscr);
}

int GraphicsSystem::getScreenWidth(){
return SCREEN_WIDTH;
}

int GraphicsSystem::getScreenHeight(){
return SCREEN_HEIGHT;
}

void GraphicsSystem::renderPixel(int x, int y, char ch)
{
m_frameBuffer[x][y] = ch;
}

void GraphicsSystem::renderBuffer()
{
for(int y = 0; y < SCREEN_HEIGHT; y++)
for(int x = 0; x < SCREEN_WIDTH; x++)
{
}
}

void GraphicsSystem::clearFramebuffer()
{
for(int y = 0; y < SCREEN_HEIGHT; y++)
for(int x = 0; x < SCREEN_WIDTH; x++)
{
m_frameBuffer[x][y] = ' ';
}
}



And you can draw stuff with ease just like this:

#include <curses.h>
#include <cstdlib>
#include <cmath>
#include "GraphicsSystem.h"

GraphicsSystem graphicsSystem;

int main()
{
while(true){
for(int x = 0; x < graphicsSystem.getScreenWidth(); x++)
{
for(int y = 0; y < graphicsSystem.getScreenHeight(); y++)
{
graphicsSystem.renderPixel(x,y,'x'); // render char 'x', or "pixel" on the screen
}
}
graphicsSystem.render(); //clears screen, and displays all chars
}
return 0;
}


Edited by Edvinas Kilbauskas
0

##### Share on other sites

I think he meant he just wanted to add colors to the terminal as-is and nothing else. Honestly though, if one starts adding things like that one may as well end up just taking over the entire console, which is what ncurses does, pretty much.

0

##### Share on other sites

I think he meant he just wanted to add colors to the terminal as-is and nothing else. Honestly though, if one starts adding things like that one may as well end up just taking over the entire console, which is what ncurses does, pretty much.

Not necessarily. What I meant was doing some minimal coloring of whatever you're outputting, without taking over the entire console, where simply wrapping up a string constant in an ANSI escape sequence is much easier than working with ncurses when the extra flexibility (menu helpers, borders, and so on) are not needed. Different solutions to different problems, really. ncurses is a nifty little library, and is great for making roguelikes and other games which lend themselves well to a 2D ASCII representation, as well as creating complete console interfaces, but that doesn't mean you need to use it every time you need to push a few colors to a terminal... sometimes a script is just a script

1

##### Share on other sites

Not necessarily. What I meant was doing some minimal coloring of whatever you're outputting, without taking over the entire console

That's exactly what I meant... =P

0

##### Share on other sites

If stdout supports ANSI escape codes (e.g. the terminals on *nix or DOS with ANSI.SYS) you could use the escape codes for even more interesting stuff without moving away from the standard library. Colors everywhere!

ANSI codes are nifty...

FWIW, the console in my engine also supports them to some extent, though not to the level that allows a full UI (this currently requires hooking console events and drawing directly into the console buffer), thus leading to the funkiness of doing a DOS-style UI inside of a 3D engine (I actually have an in-engine text editor with a vaguely similar color scheme and style to QBasic and MS Edit, though actually a little worse as it partly handles most non-trivial commands VI-style...).

as-is, it would require some tweaks to the console, and probably something analogous to stdout/stdin, such as to allow "programs" the ability to receive user-input (beyond generally being one-off console commands). at that rate, it would almost be worthwhile to throw together a little logic to allow console-commands to trigger loading/executing self-contained script files.

say something like:

function main(argv:string[]):void
{
var s:string;
var a:string[];
stdout.printf("Greets!\n");
while(!stdin.feof())
{
s=stdin.gets();
a=s.split();
if(a[0]=="north")
{ ... }
...
}
}



I once considered possibly supporting render-to-texture with consoles, say to allow consoles to be textured onto in-game objects, but never did much with this.

Edited by cr88192
0

## Create an account

Register a new account