#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 | 516 |
공지 | 키보드 화살표값 출력 | 좋은아빠되기 | 2016.11.19 | 1281 |
공지 | 원하는 좌표에 값 출력하기 | 좋은아빠되기 | 2016.11.19 | 2602 |
공지 | Python(파이썬) 학습 자료 PDF 1 | 좋은아빠되기 | 2014.12.10 | 10582 |
공지 | dev C++ 텍스트 색상변경 WinApi사용(textcolor 대용) | 좋은아빠되기 | 2014.06.07 | 4936 |
공지 | DEV-C++ 기본 코드 | 좋은아빠되기 | 2013.06.19 | 8523 |
공지 | 무료 C++ 컴파일러(윈도우용) DEV-C++ | 좋은아빠되기 | 2013.06.18 | 19160 |
공지 | 이클립스 C++ 설치 파일들 | 좋은아빠되기 | 2013.06.18 | 38072 |
488 | 3의 배수 5의 배수 빼기(승민) | 승민 | 2016.03.05 | 212 |
487 | 3의배수를 출력하는 프로그램 | 그냥학생 | 2014.02.08 | 5587 |
486 | 534 : 선택제어문 - 자가진단7 | adbdcd123 | 2018.08.25 | 176 |
485 | 535 : 선택제어문 - 자가진단8 | adbdcd123 | 2018.08.25 | 155 |
484 | 536 : 반복제어문1 - 자가진단1 | adbdcd123 | 2018.08.25 | 108 |
483 | >> | 박윤택 | 2013.12.07 | 1692 |
482 | A 20번 반복해서 출력하기(승민) | 승민 | 2016.03.12 | 86 |
481 | ABCD | 박윤택 | 2013.12.07 | 1951 |
480 | c언어 p.221 | 하품팬더 | 2014.02.22 | 1948 |
479 | c언어 곱셈 처리 2 (선우_) | 선우 | 2016.03.05 | 141 |
478 | c언어 곱셈 처리(선우) | 선우 | 2016.03.05 | 147 |
477 | dd | 선우 | 2016.11.19 | 90 |
» | dd | 승민 | 2016.11.19 | 131 |
475 | ddd | 선우 | 2016.03.05 | 58 |
474 | dev C++ 입력키값 숫자로 알아보기 | killerjack | 2014.06.07 | 1327 |
473 | for문 입력한숫자만큼 입력받고 평균구하기(승민) | 승민 | 2016.03.19 | 4423 |
472 | for문 하나만 사용해서 일정수 몇번나오는지 구하는거(승민) | 승민 | 2016.05.25 | 160 |
471 | for문(승민) | 승민 | 2016.03.05 | 89 |