DaniWeb IT Discussion Community

DaniWeb IT Discussion Community (http://www.daniweb.com/forums/index.php)
-   C++ (http://www.daniweb.com/forums/forum8.html)
-   -   how to make maze game using "gotoxy" & getch? (http://www.daniweb.com/forums/thread11071.html)

h3rtz Sep 19th, 2004 12:45 am
how to make maze game using "gotoxy" & getch?
 
ey there! i have a problem here regarding this maze stuff... i think using getch and gotoxy is not complicated. our teacher says he will give extra points to who can finish this.. can it be done using switch? a simple code would be much appreciated. - h3rtz-

donn Sep 19th, 2004 8:24 am
Re: how to make maze game using "gotoxy" & getch?
 
what exactly is this maze game. if u giv me a briefing abt it i mite give the code to it

Stack Overflow Sep 19th, 2004 3:18 pm
Re: how to make maze game using "gotoxy" & getch?
 
Greetings,

Writing your own version of gotoxy() and clrscr() would probably be for the best. They can be found all over the place, but the best ones I've found were:

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

void gotoxy(short x, short y) {
        HANDLE hConsoleOutput;
        COORD Cursor_Pos = {x, y};

        hConsoleOutput = GetStdHandle(STD_OUTPUT_HANDLE);
        SetConsoleCursorPosition(hConsoleOutput, Cursor_Pos);
}

void clrscr(void) {
        CONSOLE_SCREEN_BUFFER_INFO csbi;
        HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
        COORD coord = {0, 0};
        DWORD count;
       
        GetConsoleScreenBufferInfo(hStdOut, &csbi);
        FillConsoleOutputCharacter(hStdOut, ' ', csbi.dwSize.X * csbi.dwSize.Y, coord, &count);
        SetConsoleCursorPosition(hStdOut, coord);
}

Doing the rest is quite simple. Here's a simple layout of how this can be accomplished:
  • Create a function to update the player's position. Have it clear the screen everytime this is called
  • Use an infinite while loop and get the key pressed using getch()
  • Call a switch case and find out which key was pressed and where to update the players position

That should get you to a good start, and good luck.


- Stack Overflow


All times are GMT -4. The time now is 10:32 am.

Forum system based on vBulletin Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
©2003 - 2009 DaniWeb® LLC