View Full Version : Console Functions Help
Quantrizi
06-21-2002, 08:35 PM
Ok, this is for people who have played "Dungeon of Moria", search for it on the forum if you don't know what I'm talking about, but back to the point. I would like to know how exactly he got the frames like he did, and how he go the message selection stuff *if anyone needs clearification on the latter, just ask*. I looked at the source, but I am not currently using MSVC++.
sean345
06-22-2002, 12:51 PM
You can find a description of the window console functions at http://msdn.microsoft.com. I think this is what you are talking about.
- Sean
Quantrizi
06-22-2002, 12:53 PM
I've already been there, couldn't find anything
red_baron
06-22-2002, 01:24 PM
i basically made a window making function:
http://www.cprogramming.com/cboard/showthread.php?s=&threadid=18827&pagenumber=1
(scroll down a little on the page)
then i made the message thingy so that it is up to a specific lenght (check out the msg.h file) and then go to my source and check out line 393 which is this:
void printmessage (int last)
{
HANDLE hStdout;
hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hStdout, FOREGROUND_RED);
for(count=0; count<=43; count++)
message1[count]=message2[count];
for(count=0; count<=43; count++)
message2[count]=message3[count];
for(count=0; count<=43; count++)
message3[count]=msg[last][count];
gotoxy(1,20);
printf("%s", message1);
gotoxy(1,21);
printf("%s", message2);
gotoxy(1,22);
printf("%s", message3);
SetConsoleTextAttribute(hStdout, FOREGROUND_RED | FOREGROUND_BLUE | FOREGROUND_GREEN);
}
message1/2/3 are all global so that their content isn't cleared when the function is exited, so basically each message is 43 characters long, the 2 first for statements take the mesage below it and take it up one so lets say your screen looks like this:
dungeon
of
moria
the next time the function is called it prints the stuff like this
of
moria
(new message)
msg[last][count] is the variable (2 dimensional char array) that has all the messages, when i wanted to print a message i just type something like: printmessage(7); it goes in the function takes up the messages one space up and finds message 7 in msg.h it then takes the content to message3, and then message1/2/3 are all printed on 3 consecutive lines.
hope that was clear.
Quantrizi
06-22-2002, 01:28 PM
most of it was, thank you
Quantrizi
06-22-2002, 02:29 PM
I have a problem with the game function, I get this: "error before '}' ", and here's the code that it's talking about:
void game ()
{
HANDLE hStdout;
hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
do{
SetConsoleTextAttribute (hStdout, 14);
SetConsoleTextAttribute (hStdout, bluef | greenf | redf);
} //<- this do loop is the error
}
void updateitems()
{
*Note, rest of updateitems() code is working and such*
C_Coder
06-22-2002, 04:56 PM
>> this do loop is the error
Well, a do loop needs a while condition at it's end.
do
{
// something
}while( you still need to );
Why do you need to loop just the changing of the colour?
vBulletin® v3.7.0, Copyright ©2000-2009, Jelsoft Enterprises Ltd.