// 삼각형 맵 밖으로 플레이어 움직임 제한하기 (시도 코드)
//>>>>>>>>>>>>>>>>GAME 인트로 만들기!! 게임을 시작하시겠습니까?? 나오는거 만들기
//컴파일
#include <conio.h>
#include <stdio.h>
#include <windows.h>
#include <stdlib.h>
//위치이동
void move(int x, int y)
{
COORD Pos;
Pos.X = x;
Pos.Y = y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), Pos);
}
int main()
{
system("mode con:cols=100 lines=47");
//랜덤의 랜덤
srand(time(NULL));
//입력받기
char c;
int pc,pd;
int pa,pb;
int pi,pj;
int pf,pg;
int score=0;
int your_best_score=0;
//pi,pj(시작위치) 설정하기
pi=1;
pj=2;
SetConsoleTitle("콘솔");
//맵 경계 출력
int i,j;
for(int i=0;i<=44;i++)
{
for(int j=0;j<=44;j++)
{
if(j==0 || i==44 || i==0 || j==44)
{
printf("#");
}
else
{
printf(" ");
}
}
printf("\n");
}
//아이템 위치 설정 및 출력
pc=4;
pd=10;
move(pc,pd);
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 5);
printf("@");
//먹으면 줄어드는 아이템 만들기
pf=4;
pg=11;
move(pf,pg);
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 3);
printf("%%");
//움직이기
move(pi,pj);
printf("*");
while(1)
{
if(_kbhit()){
c = _getch();
if(c==-32) //방향키가 입력되었나요??
{
c = _getch();//23 10
move(pi,pj);
printf(" ");
if(c==72) //위
{
pj--;
// printf("위쪽방향키가 눌렸습니다\n");
}
else if(c==80) //아래
{
pj++;
//printf("아래쪽방향키가 눌렸습니다\n");
}
else if(c==75)//왼쪽
{
pi--;
//printf("왼쪽방향키가 눌렸습니다\n");
}
else if(c==77)//오른쪽
{
pi++;
//printf("오른쪽방향키가 눌렸습니다\n");
}
if(pj<=0)
{
pj++;
}
if(pj>43)
{
pj--;
}
if(pi<=0)
{
pi++;
}
if(pi>43)
{
pi--;
}
move(pi,pj);
printf("*");
if(pi == pc && pj == pd)
{
your_best_score++;
move(pc,pd);
printf(" ");
score++;
pc=rand()%43+1;//
pd=rand()%43+1;//
move(pc,pd);
printf("@");
}
if(pf==pi && pg==pj)
{
if(score==0)
{
system("cls");
// 게임이 끝났다는 메세지 출력
move(40,23);
printf("E");
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 11);
Sleep(500);
move(41,23);
printf("N");
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 12);
Sleep(500);
move(42,23);
printf("D");
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 9);
Sleep(100);
move(43,23);
printf(".");
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 10);
Sleep(100);
move(44,23);
printf(".");
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 11);
move(38,24);
printf("your best score : %d",your_best_score);
return 0; //프로그램 종료
}
move(pf,pg);
printf(" ");
score--;
pf=rand()%43+1;
pg=rand()%43+1;
move(pf,pg);
printf("%%");
}
pa=55;
pb=10;
move(pa,pb);
printf("score : %2d ",score);
move(55,11);
printf(" %% 아이템 pf = %2d pg = %2d",pf,pg);
move(55,12);
printf(" @ 아이템 pc = %2d pd = %2d",pc,pd);
move(55,13);
printf(" 플레이어 pi = %2d pj = %2d",pi,pj);
}
}
}
}