//응용프로그램 메인 파일, 지역변수 이용
//응용프로그램 메인 파일, 지역변수 이용
//응용프로그램 메인 파일, 지역변수 이용
//응용프로그램 메인 파일, 지역변수 이용
#include "common.h"
char design[6][2+1];
void main(void)
{
int hexa[MAPY][MAPX];
int __design[3];
int ____design[3];
int xpos, ypos;
int __xpos, __ypos;
int score;
int ch;
int k, j;
init(hexa, &xpos, &ypos, __design);
f_display_all(hexa);
score = 0;
__xpos = xpos;
__ypos = ypos;
____design[0] = __design[0];
____design[1] = __design[1];
____design[2] = __design[2];
while(1)
{
if(kbhit())
{
ch = getch();
if(ch == 224) //방향키를 눌렀을때에는,,ㅡㅡ,ㅡㅡㅡ RIGHT,LEFT,UP,DOWN
{
ch = getch();
if(ch == RIGHT_KEY)
{
k = f_rightkey(hexa, &xpos, &ypos, __design);
}
else if(ch == LEFT_KEY)
{
k = f_leftkey(hexa, &xpos, &ypos, __design);
}
else if(ch == DOWN_KEY)
{
k = f_downkey(hexa, &xpos, &ypos, __design);
}
}
else if(ch == ENTER_KEY)
{
k = f_enterkey(hexa, &xpos, &ypos, __design);
}
else if(ch == SPACE_KEY)
{
k = f_spacekey(hexa, &xpos, &ypos, __design);
}
else if(ch == ESC_KEY)
{
break;
}
}
//위치가 변경되었을때에만 DRAWING
if( xpos != __xpos || ypos != __ypos)
{
f_display(hexa, xpos, ypos);
__xpos = xpos;
__ypos = ypos;
}
//디자인모양이 변경되었을때에만 DRAWING
if( ! (__design[0] == ____design[0] && __design[0] == ____design[0] && __design[0] == ____design[0]))
{
f_display(hexa, xpos, ypos);
____design[0] = __design[0];
____design[1] = __design[1];
____design[2] = __design[2];
}
k=0;
while(1)
{
Sleep(10);
if(kbhit()) break;
k++;
if(k==30) break;
}
k = f_downkey(hexa, &xpos, &ypos, __design);
if(k==0)
{
if(ypos == 0)
{
break;
}
else
{
while(1)
{
j=0;
if( f_check_horizontal(hexa, &score) == 0 ) j++;
if( f_check_vertical(hexa, &score) == 0 ) j++;
if( f_check_left_to_right(hexa, &score) == 0 ) j++;
if( f_check_right_to_left(hexa, &score) == 0 ) j++;
if(j == 4) break;
}
}
xpos = MAPX / 2;
ypos = 0;
__design[0] = 1 + ( rand() % 5 );
__design[1] = 1 + ( rand() % 5 );
__design[2] = 1 + ( rand() % 5 );
hexa[ypos+0][xpos] = __design[0];
hexa[ypos+1][xpos] = __design[1];
hexa[ypos+2][xpos] = __design[2];
}
if( xpos != __xpos || ypos != __ypos)
{
f_display(hexa, xpos, ypos);
__xpos = xpos;
__ypos = ypos;
}
}//END WHILE
f_quitmsg(score);
}
'c 언어 > 중급과정' 카테고리의 다른 글
WINDOWS, WIN, HEXA프로그램(메인) (0) | 2019.10.31 |
---|---|
WINDOSW, CMD, HEXA프로그램(공통) (0) | 2019.10.31 |
WINDOWS, CMD, HEXA프로그램(헤더) (0) | 2019.10.31 |
엔디안 (0) | 2019.10.30 |
LINUX,기본적인 JSON 데이타포맷 파싱 (0) | 2019.10.30 |