디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

허세 부리지 말고 까놓고 말해서...

qxq(59.24) 2012.01.15 06:27:24
조회 189 추천 0 댓글 3

내가 테트리스를 winapi.co.kr사이트에서 도움받아서 만들었거든.


근데 만들어 놓은걸 형이 보더니 피씩하면서, '태트리스는 초딩도 다 만드는건데 ㅋㅋㅋ' 라고 말하면서 개무시를 함.


나는 진심 내 초딩때 기억을 되살려봤을 때, 6학년때를 기준으로도 아래의 소스를 이해할 수 있을 것 같지는 않은데,


진짜 초딩들도 아래의 테트리스 소스정도는 걍 짜내는거야?


winapi사이트의 c 고급강좌 수준이 초등학생수준?


아래 소스는 winapi사이트에 등록된 코드.




#include <Turboc.h>

 <o:p></o:p>

#define LEFT 75

#define RIGHT 77

#define UP 72

#define DOWN 80

#define ESC 27

#define BX 5

#define BY 1

#define BW 10

#define BH 20

 <o:p></o:p>

void DrawScreen();

void DrawBoard();

BOOL ProcessKey();

void PrintBrick(BOOL Show);

int GetAround(int x,int y,int b,int r);

BOOL MoveDown();

void TestFull();

 <o:p></o:p>

struct Point {

     int x,y;

};

Point Shape[][4][4]={<o:p></o:p>

     { {0,0,1,0,2,0,-1,0}, {0,0,0,1,0,-1,0,-2}, {0,0,1,0,2,0,-1,0}, {0,0,0,1,0,-1,0,-2} },<o:p></o:p>

     { {0,0,1,0,0,1,1,1}, {0,0,1,0,0,1,1,1}, {0,0,1,0,0,1,1,1}, {0,0,1,0,0,1,1,1} },<o:p></o:p>

     { {0,0,-1,0,0,-1,1,-1}, {0,0,0,1,-1,0,-1,-1}, {0,0,-1,0,0,-1,1,-1}, {0,0,0,1,-1,0,-1,-1} },<o:p></o:p>

     { {0,0,-1,-1,0,-1,1,0}, {0,0,-1,0,-1,1,0,-1}, {0,0,-1,-1,0,-1,1,0}, {0,0,-1,0,-1,1,0,-1} },<o:p></o:p>

     { {0,0,-1,0,1,0,-1,-1}, {0,0,0,-1,0,1,-1,1}, {0,0,-1,0,1,0,1,1}, {0,0,0,-1,0,1,1,-1} },<o:p></o:p>

     { {0,0,1,0,-1,0,1,-1}, {0,0,0,1,0,-1,-1,-1}, {0,0,1,0,-1,0,-1,1}, {0,0,0,-1,0,1,1,1} },<o:p></o:p>

     { {0,0,-1,0,1,0,0,1}, {0,0,0,-1,0,1,1,0}, {0,0,-1,0,1,0,0,-1}, {0,0,-1,0,0,-1,0,1} },<o:p></o:p>

};<o:p></o:p>

 <o:p></o:p>

enum { EMPTY, BRICK, WALL };

char *arTile[]={". ","■","□"};

int board[BW+2][BH+2];

int nx,ny;

int brick,rot;

 <o:p></o:p>

void main()

{

     int nFrame, nStay;

     int x,y;

 <o:p></o:p>

     setcursortype(NOCURSOR);

     randomize();

     clrscr();

     for (x=0;x<BW+2;x++) {

          for (y=0;y<BH+2;y++) {

              board[x][y] = (y==0 || y==BH+1 || x==0 || x==BW+1) ? WALL:EMPTY;

          }

     }

     DrawScreen();

     nFrame=20;

 <o:p></o:p>

     for (;1;) {

          brick=random(sizeof(Shape)/sizeof(Shape[0]));

          nx=BW/2;

          ny=3;

          rot=0;

          PrintBrick(TRUE);

 <o:p></o:p>

          if (GetAround(nx,ny,brick,rot) != EMPTY) break;

          nStay=nFrame;

          for (;2;) {

              if (--nStay == 0) {

                   nStay=nFrame;

                   if (MoveDown()) break;

              }

              if (ProcessKey()) break;

              delay(1000/20);

          }

     }

     clrscr();

     gotoxy(30,12);puts("G A M E  O V E R");

     setcursortype(NORMALCURSOR);

}

 <o:p></o:p>

void DrawScreen()

{

     int x,y;

 <o:p></o:p>

     for (x=0;x<BW+2;x++) {

          for (y=0;y<BH+2;y++) {

              gotoxy(BX+x*2,BY+y);

              puts(arTile[board[x][y]]);

          }

     }

 <o:p></o:p>

     gotoxy(50,3);puts("Tetris Ver 1.0");

     gotoxy(50,5);puts("좌우:이동, 위:회전, 아래:내림");

     gotoxy(50,6);puts("공백:전부 내림");

}

 <o:p></o:p>

void DrawBoard()

{

     int x,y;

 <o:p></o:p>

     for (x=1;x<BW+1;x++) {

          for (y=1;y<BH+1;y++) {

              gotoxy(BX+x*2,BY+y);

              puts(arTile[board[x][y]]);

          }

     }

}

 <o:p></o:p>

BOOL ProcessKey()

{

     int ch,trot;

 <o:p></o:p>

     if (kbhit()) {

          ch=getch();

          if (ch == 0xE0 || ch == 0) {

              ch=getch();

              switch (ch) {

              case LEFT:

                   if (GetAround(nx-1,ny,brick,rot) == EMPTY) {

                        PrintBrick(FALSE);

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 대박 날 것 같아서 내 꿈에 나와줬으면 하는 스타는? 운영자 25/11/17 - -
AD 겨울가전 SALE! 쿨한 겨울 HOT세일 운영자 25/11/12 - -
298746 웹플머가 그렇게 막장인가요? [1] ㅇㅇ(112.144) 12.01.14 105 0
298745 업그레이드 ....//? 학교가자갤로그로 이동합니다. 12.01.14 19 0
298744 프로그래밍 좀 한다 하는 사람들을 이걸 알겠지? [1] SODMaster갤로그로 이동합니다. 12.01.14 80 0
298743 자바스크립트 배열에서 :이 왜 들어가면 [3] ㅇㅇ(112.144) 12.01.14 71 0
298742 성님들 도와주세요 [4] 눈팅싫어서로그인함갤로그로 이동합니다. 12.01.14 60 0
298741 프로그래머와 코더를 왜 분류하죠? [3] ㅇㅇ(112.144) 12.01.14 135 0
298740 컴공여자는취업하기힘들까여? [5] 겸찌니갤로그로 이동합니다. 12.01.14 908 1
298739 보안 배우고있는 고수형들 좀도와줘여 [3] 카리아트갤로그로 이동합니다. 12.01.14 71 0
298738 웹퍼블리셔 10년차 되도 연봉 4000넘기 힘드냐? 으헝(58.122) 12.01.14 129 0
298737 삼소멤 [9] grap(182.210) 12.01.14 481 0
298736 각 학교마다 C언어는 어느정도 가르침? [4] S대인(121.157) 12.01.14 155 0
298735 소소한 2첩 반상을 먹으며 학점에 도움도 안되는 후로그래밍 [2] dot(125.128) 12.01.14 76 0
298731 V3 바이러스 검사 돌리다가 블루스크린을 봤다. 바보플머(222.121) 12.01.14 186 0
298730 갑자기 현 시대의 문제들에 대한 원인이 떠올랐다. 바보플머(222.121) 12.01.14 59 0
298729 너님들의 취향은? [5] SODMaster갤로그로 이동합니다. 12.01.14 132 0
298728 맥북살라는데 [1] 읭읭(122.128) 12.01.14 65 0
298727 짤이 왜 다른게 올라갔지...오랜만에 보는 SODMaster갤로그로 이동합니다. 12.01.14 39 0
298725 이런게 젖절한 수위 [2] elwlwlwk갤로그로 이동합니다. 12.01.14 198 0
298724 적절한 수위의 정화짤 투척! [3] SODMaster갤로그로 이동합니다. 12.01.14 178 0
298723 이번엔 지극히 적절한 수위의 눈정화짤이다 [2] SODMaster갤로그로 이동합니다. 12.01.14 103 0
298722 이게 진짜 노스페이스지 SODMaster갤로그로 이동합니다. 12.01.14 99 0
298721 동기화 존나 개같음 [5] dot(125.128) 12.01.14 60 0
298720 API에서 MFC함수를 사용할수 없을까요? [1] aaa(175.207) 12.01.14 64 0
298719 노스페이스 키보드 [4] elwlwlwk갤로그로 이동합니다. 12.01.14 141 0
298718 정화짤로 달린다 SODMaster갤로그로 이동합니다. 12.01.14 76 0
298717 시발 알바 너무하네 수위높은 짤도 아니었는뎀 [5] SODMaster갤로그로 이동합니다. 12.01.14 98 0
298716 포인터 아주 간단한 질문 [7] 컴공인(121.157) 12.01.14 74 0
298715 아 도저히말뜼을모르겠어 [6] 코딩...?갤로그로 이동합니다. 12.01.14 60 0
298713 엑셀 메크로 질문인데요 ㅠㅠ너무 급해요 ㅠㅠ 너무너무급해(112.169) 12.01.14 65 0
298712 형들 NASM은 뭐라고 부름?? 나셈?? 엔어셈?? [7] ㄴㅇㅁㄹ(59.30) 12.01.14 84 0
298711 여기가 그 유명한 게이갤? [3] SODMaster갤로그로 이동합니다. 12.01.14 86 0
298710 학년이 올라갈수록 느는건 검색능력&짜집기 능력밖에 없는듯... [1] ㅇㅇㅇㅇ(116.121) 12.01.14 98 0
298709 주갤에서 프로그래밍떡밥이 [5] ㅇㅇ(220.78) 12.01.14 102 0
298708 메인함수에 int argc, char* argv[] 왜 씀? [2] 컴공인(121.157) 12.01.14 101 0
298706 오토캐드 좀 아시는분..... 1(155.230) 12.01.14 43 0
298705 개럴들아 질문좀 ㅠㅠ 렝여신갤로그로 이동합니다. 12.01.14 26 0
298702 이런거 질문해도 될까요 ㅠㅠㅠ 스페셜홍갤로그로 이동합니다. 12.01.14 54 0
298701 역시 주말은.. ☎v2.0™갤로그로 이동합니다. 12.01.14 34 0
298700 안드로이드로 여자 몸캠 유도 하려면 이런식으로 해야지.. ㅂㅌ(125.133) 12.01.14 428 0
298697 디아블로 그래픽 정도를 온라인게임으로 만들 수 없나??? [1] 에이시아(125.31) 12.01.14 91 0
298696 친구가 공뭔 공부를 해서 도서관에 있는데 심심하다고 오랜다. 거칠게갤로그로 이동합니다. 12.01.14 64 0
298695 자바 고수형들 리턴에 대해서 좀만 가르쳐주라! [8] 아이잉(118.45) 12.01.14 64 0
298694 안드로이드 어플을 만들어야겠다. [2] 거칠게갤로그로 이동합니다. 12.01.14 100 0
298693 VS2010 이거 디렉토리 설정 프로젝트 단위밖에 이제는 안됨? [1] 어렵네.(182.213) 12.01.14 56 0
298692 형들 자바 리턴에 대해서 답변좀해줘! 쌩뉴비 하나 살리는샘치고~ 아이잉(118.45) 12.01.14 36 0
298691 스마트폰의 대중화는 빅브라더의 시작이다!!! [2] 거칠게갤로그로 이동합니다. 12.01.14 62 0
298689 형들 자바 공부하는데 질문이 있어요 ㅠ [2] ㅎㅎ(112.153) 12.01.14 58 0
298688 프로그래머와 기획자의 갈등 dd(175.211) 12.01.14 107 0
298687 컴공다니는형들 [3] 코딩...?갤로그로 이동합니다. 12.01.14 187 0
298686 컴공 편입.......어케 생각? [6] (121.130) 12.01.14 366 1
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2