I have come to the part in my rpg game where I need to start making the character move around . I just wanted to make sure that I am going about it all the right away. Here is my code:
Code:
//testing the gotoxy() function :)
#include <iostream>
#include <windows.h>
#include <stdio.h>
#include <conio.h>
using namespace std;
void gotoxy();
int x,y,oldx,oldy;
void gotoxy(int, int)
{
COORD coord;
coord.X = x;
coord.Y = y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);
}
/* System dependent key codes */
enum
{
KEY_ESC = 27,
ARROW_UP = 256 + 72,
ARROW_DOWN = 256 + 80,
ARROW_LEFT = 256 + 75,
ARROW_RIGHT = 256 + 77
};
static int get_code ( void )
{
int ch = getch();
if ( ch == 0 || ch == 224 )
ch = 256 + getch();
return ch;
}
char smiley = 1;
int main ( void )
{
x=0,y=0;
int ch;
putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);
putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);
putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);
putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);
putchar(2);putchar(2);
putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);putchar(2);
putchar(2);putchar(2);
while ( ( ch = get_code() ) != KEY_ESC ) {
switch ( ch ) {
case ARROW_UP:
gotoxy(x,y--);
putchar(1);
gotoxy(x,y++);
putchar(2);
gotoxy(x,y--);
break;
case ARROW_DOWN:
gotoxy(x,y++);
putchar(1);
gotoxy(x,y--);
putchar(2);
gotoxy(x,y++);
break;
case ARROW_LEFT:
gotoxy(x--,y);
putchar(1);
gotoxy(x++,y);
putchar(2);
gotoxy(x--,y);
break;
case ARROW_RIGHT:
gotoxy(x++,y);
putchar(1);
gotoxy(x--,y);
putchar(2);
gotoxy(x++,y);
break;
}
}
system("PAUSE");
return 0;
}
it works the way I want, but is it right? Thanks!