#include<stdio.h>
#include<stdlib.h>
#include<Windows.h>
#include<time.h>
#include<conio.h>
void gotoxy(int x,int y);
void move();
void map();
int x=3,y=2;
int chr;
char map1[] = {"┏━┳━┳━┳━┳━┳━┳━┳━┓"};
char map2[] = {"┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃"};
char map3[] = {"┣━╋━╋━╋━╋━╋━╋━╋━┫"};
char map4[] = {"┗━┻━┻━┻━┻━┻━┻━┻━┛"};
int main(void)
{
map();
while(1)
{
map();
if(_kbhit())
{
move();
}
gotoxy(x,y);
printf("[]");
system("cls");
}
system("pause");
return 0;
}
void map()
{
printf("%s\n", map1);
printf("%s\n", map2);
printf("%s\n", map3);
printf("%s\n", map2);
printf("%s\n", map3);
printf("%s\n", map2);
printf("%s\n", map3);
printf("%s\n", map2);
printf("%s\n", map3);
printf("%s\n", map2);
printf("%s\n", map3);
printf("%s\n", map2);
printf("%s\n", map3);
printf("%s\n", map2);
printf("%s\n", map3);
printf("%s\n", map2);
printf("%s\n", map4);
}
void move()
{
chr = getch();
if(chr == 0 || chr == 224)
{
chr = getch();
if(chr == 72)
{
y-=2;
if(y<1)y=2;
}
if(chr == 80)
{
y+=2;
if(y>16)y=16;
}
if(chr == 75)
{
x-=4;
if(x<1)x=3;
}
if(chr == 77)
{
x+=4;
if(x>33)x=31;
}
}
}
void gotoxy(int x,int y)
{
COORD Pos = {x-1,y-1};
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),Pos);
}
이거 네모난 8x8 칸 만들고 그안에 키보드로 움직일수 있게 하는데 지금 저건 완성된상태긴한데
system("cls") 때문에 미친듯이 깜빡거린다 ... 어떻게 안되나 ??
windows.h 에서 gotoxy 인가 를 써보세용?
아 이미 썼네 goto로 가서 그위에 덮어 쓰는형식으로 해서 중복되는것들은 다시 쓰지말고 해보세욥..
무슨뜻이죠 ??
cls를 안 쓰면 된다에요? - DCW
cls 를 안쓰면 저 [] 가 움직이는 칸마다 찍힘 초기화 안되고
옛위치에 맵을 프린트하로 새위치에 []를 프린트하면 된다에요? - DCW
그걸 어떻게 함??
옛위치로 gotoxy 가능? - DCW
gotoxy의 기능도 잘모르고있음
읭읭 ㅠㅠ - DCW
읭읭 ㅠㅠ - DCW
알려주라 ㅠㅠ 제발 ㅠㅠㅠㅠ
너의 덧글만을 기다리고 있어 ㅠㅠ
일단 cls 대신 gotoxy(1,1) 사용해본다에요? 여전히 깜빡깜빡? - DCW
http://dblack.tk
커뮤니티 사이트 입니다 많은 이용 부탁 드립니다.