#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; }
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
공지 | 글쓰기는 하루 5개, 댓글은 10개만 가능합니다. | 좋은아빠되기 | 2019.02.15 | 312 |
공지 | 키보드 화살표값 출력 | 좋은아빠되기 | 2016.11.19 | 1091 |
공지 | 원하는 좌표에 값 출력하기 | 좋은아빠되기 | 2016.11.19 | 2405 |
공지 | Python(파이썬) 학습 자료 PDF 1 | 좋은아빠되기 | 2014.12.10 | 10357 |
공지 | dev C++ 텍스트 색상변경 WinApi사용(textcolor 대용) | 좋은아빠되기 | 2014.06.07 | 4730 |
공지 | DEV-C++ 기본 코드 | 좋은아빠되기 | 2013.06.19 | 8312 |
공지 | 무료 C++ 컴파일러(윈도우용) DEV-C++ | 좋은아빠되기 | 2013.06.18 | 18969 |
공지 | 이클립스 C++ 설치 파일들 | 좋은아빠되기 | 2013.06.18 | 37869 |
89 | 반올림 | 박윤택 | 2014.08.15 | 442 |
88 | 반복제어문3 형성평가 7 | 선우 | 2016.03.19 | 216 |
87 | 반복제어문3 형성평가 6 | 선우 | 2016.03.19 | 209 |
86 | 반복제어문3 형성평가 5 | 선우 | 2016.03.19 | 337 |
85 | 반복제어문3 형성평가 4 | 선우 | 2016.03.19 | 286 |
84 | 반복제어문3 형성평가 3 | 선우 | 2016.03.19 | 187 |
83 | 반복제어문3 형성평가 2 | 선우 | 2016.03.19 | 287 |
82 | 반복제어문3 형성평가 1 | 선우 | 2016.03.19 | 264 |
81 | 반복문을 탈출 | 그냥학생 | 2014.02.22 | 1578 |
80 | 반복문 몇번 하는지 초기치(승민) | 승민 | 2016.03.05 | 88 |
79 | 문제1~5(p.74) 유수진 1 | 하품팬더 | 2014.01.04 | 2110 |
78 | 문자열2 형성평가2 | 갓초딩 | 2017.05.06 | 236 |
77 | 문자열2 형성평가1 | 갓초딩 | 2017.05.06 | 290 |
76 | 문자10개 띄어쓰기 무시하는거랑 역순으로 출력하기(승민) | 승민 | 2016.04.02 | 268 |
75 | 문자 열출력이랑 문자크기 비교하기(승민) | 승민 | 2016.05.07 | 406 |
74 | 문자 몇번째 알파벳 몇번나왔는지 숫자 세기(승민) | 승민 | 2016.05.14 | 1938 |
73 | 문자 10개 거꾸로 출력하기(승민) | 승민 | 2016.05.07 | 4768 |
72 | 링크드 리스트 예제 | 조정미 | 2018.03.03 | 260 |
71 | 띄어쓰기까지 프로그램 출력하기(승민) | 승민 | 2016.04.02 | 1916 |