2016.11.19 12:24

dd

조회 수 119 추천 수 0 댓글 0

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <windows.h> // WinApi header
void design(char (*a)[70], int f_maxr, int f_maxc, int dr, int dc);
void output(char (*a)[70], int f_maxr, int f_maxc, int *cnt);
int setcolor(int k);
int setsim(char (*a)[70], char (*p)[3], int x, int y,int k, int *cnt);
int Removesim(char (*a)[70], int x, int y);

int main(void)
{
	int oldk=0;
    int cnt=0;
    int i=0;
    int j;
    int maxr=20;
    int maxc=70;
    char ch=0;
    
    int r=10, c=35;
    char a[20][70];
    int x=10, y=10, k=0;
    
 	char p[4][3]={"▲","▼","◀","▶"}; 
 	design(a, maxr, maxc, r, c);
 	
 	
 	while(1){
 		//y=(70+y)%70;
 		//x=(20+x)%20;
 		setsim(a, p, x, y, k, &cnt);
 		
 		if(y>=66) y=66;
 		if(y<=4) y=4;
 		
 		if(x>=18) x=17;
 		if(x<=2) x=2;
 		
		output(a, maxr, maxc,  &cnt);
    	Removesim(a, x, y);
		ch=getch( );

		if(ch==-32) ch=getch();		

		oldk=k;
		switch(ch){
			case 72:

				k=0;
				break;

			case 80:

				k=1;
				break;

			case 75:

				k=2;
				break;

			case 77:

				k=3;
				break;
			}


			if(oldk==k){
		switch(ch){
			case 72:
				x--;

				break;

			case 80:
				x++;

				break;

			case 75:
				y=y-2;

				break;

			case 77:
				y=y+2;

				break;
			}//switch
		}//if

		setcolor(7);
		    	
  	
    	system("cls");
   
    }
    
        
    return 0;
 
}

void output(char (*a)[70], int f_maxr, int f_maxc, int *cnt){
    //출력 
    int i,j;
    int y;
    int u;
        for(i=0; i<f_maxr; i++){
        for(j=0; j<f_maxc; j++){
        	
        	setcolor((i%15)+1);
            printf("%c",a[i][j]);  
        }
        printf("\n"); 
    } 
    printf("cnt : %d",*cnt);
}

int setcolor(int k)
{
   HANDLE hConsole; //핸들러 정의
   hConsole = GetStdHandle(STD_OUTPUT_HANDLE);//핸들러 생성
   SetConsoleTextAttribute(hConsole, k);//값 셋팅 k 값에 맞는 색상이 출력)
   } 
 
void design(char (*a)[70], int f_maxr, int f_maxc,int dr, int dc){
    //디자인
 
    int i,j; 
    for(i=0; i<f_maxr; i++){
        for(j=0; j<f_maxc; j++){
            a[i][j]='A';
            if(i==0) a[i][j]='A';
            if(j==0 || j==f_maxc-1) a[i][j]='A';
            if(i==f_maxr-1) a[i][j]='A'; 

		}
    }
    
}
int setsim(char (*a)[70], char (*p)[3], int x, int y,int k, int *cnt)
{
	if(a[x][y]=='A') *cnt=*cnt+2;
	a[x][y]=p[k][0];
	a[x][y+1]=p[k][1];		
}
int Removesim(char (*a)[70], int x,int y)
{	
	a[x][y]=' ';
	a[x][y+1]=' ';
	return 0;
}



List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 글쓰기는 하루 5개, 댓글은 10개만 가능합니다. 좋은아빠되기 2019.02.15 299
공지 키보드 화살표값 출력 좋은아빠되기 2016.11.19 1079
공지 원하는 좌표에 값 출력하기 좋은아빠되기 2016.11.19 2397
공지 Python(파이썬) 학습 자료 PDF 1 file 좋은아빠되기 2014.12.10 10317
공지 dev C++ 텍스트 색상변경 WinApi사용(textcolor 대용) 좋은아빠되기 2014.06.07 4719
공지 DEV-C++ 기본 코드 좋은아빠되기 2013.06.19 8279
공지 무료 C++ 컴파일러(윈도우용) DEV-C++ 좋은아빠되기 2013.06.18 18956
공지 이클립스 C++ 설치 파일들 좋은아빠되기 2013.06.18 37861
250 정올 - 알고리즘 - 영역구하기(1457) 조정미 2018.03.31 442
249 정올 - 알고리즘 - 색종이만들기(1335) 조정미 2018.03.31 599
248 정올 - 알고리즘 - 색상환(2264) - Time Limit Exceed 조정미 2018.05.05 267
247 정올 - 알고리즘 - 벽장문의 이동(1409) 조정미 2018.02.10 558
246 정올 - 알고리즘 - 배낭채우기1(1077) 조정미 2018.03.31 836
245 정올 - 알고리즘 - 동전자판기(下)(1183) 조정미 2018.02.24 824
244 정올 - 알고리즘 - 돌다리건너기(1014) - Time Limit Exceed 조정미 2018.04.07 421
243 정올 - 알고리즘 - 냉장고(1828) 조정미 2018.03.03 831
242 정올 - 알고리즘 - 꿀꿀이 축제(2109) - Time Limit Exceed 조정미 2018.04.28 340
241 정올 - 알고리즘 - 극장좌석(1848) 조정미 2018.04.21 460
240 정올 - 실전대비 - 질량계산(1091) 조정미 2018.06.02 304
239 정올 - 실전대비 - 줄 세우기(1003) 조정미 2018.05.26 569
238 정올 - 실전대비 - 오류교정(1037) 조정미 2018.06.09 178
237 정올 - 실전대비 - 소수369(1011) 조정미 2018.05.26 329
236 정올 - 실전대비 - 선 긋기 게임(1094) - Accepted(92) 조정미 2018.06.02 220
235 정올 - 실전대비 - 비밀번호(1344) 조정미 2018.06.16 186
234 정올 - 실전대비 - 단어맞추기(1034) 조정미 2018.05.26 701
233 정올 - 실전대비 - 개미수열(1354) - Runtime Error 조정미 2018.06.09 344
232 정올 - 실전대비 - RESETO(1232) 조정미 2018.06.02 155
231 정올 - 실전대비 - PERKET(1127) 조정미 2018.06.02 152
Board Pagination Prev 1 ... 9 10 11 12 13 14 15 16 17 18 ... 26 Next
/ 26