C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[64332] 가능합니다.
조대현.Clau [casanebula] 962 읽음    2011-05-11 14:15
1. 소스를 보니 DLL을 쓰지도 않고 기본 헤더만 사용하네요.

빌더에서 무리없이 컴파일 가능합니다.


2. 빌더에서 하신다면 크게 다음의 순서로 하시면 됩니다.
1) 빌더 설치(버전에 따라 다르겠네요^^)
2) 새프로젝트->Other->Console Application->C Type선택->VCL, Multi Thread 체크해제->OK
3) 기본 빈 프로젝트가 생성됩니다.
4) 가지고 계신 소스 복사&붙여넣기
5) 컴파일 후 실행



박태호 님이 쓰신 글 :
: #include<stdio.h>
: #include<conio.h>
: #include<stdlib.h>
: #include<windows.h>
:
: #define SCREEN_X 12
: #define SCREEN_Y 28
: #define MAX_EN 3
: #define MAX_SPEED 100
: #define MIN_SPEED 2000
:
: char arr[SCREEN_X][SCREEN_Y],
:         en_xy[2][MAX_EN],
:      frame, life, player_st;
:     
: int i, h, score, speed;
: char player_x, player_y;
:
: void clear_arr(){
:     for(i=0; i<SCREEN_Y; i++)
:     {
:         for(h=0; h<SCREEN_X; h++)
:         {
:             arr[h][i]='"';
:         }
:     }
: }
:
: void reset()
: {   
:     for(i = 0; i < MAX_EN; ++i){
:         en_xy[0][i] = 100;
:     }
:     clear_arr();
:     player_x=SCREEN_X /2;
:     player_y=SCREEN_Y-8;
:     arr[player_x][player_y]='A';
:     life = 5;
:     score = 0;
:     frame = 0;
:     player_st = 0;
:     speed = MIN_SPEED;
: }
:
:
: void key()
: {
:     switch(getch()){
:         case 'K' :
:             if(player_x != 0) player_x-=3;
:         break;
:         case 'M' :
:             if(player_x !=9) player_x+=3;
:         break;
:         case 'r' :
:             if(life == 0) reset();
:         break;
:    }
: }
:
: void drowscreen()
: {
:     if(life == 0 && player_st >0){
:         arr[player_x][player_y]= (i%2 == player_st%2)?' ' : 'X';
:         arr[player_x+1][player_y]= (i%2 == player_st%2)?'X' : 'N';
:         arr[player_x][player_y+1]= (i%2 == player_st%2)?'N' : 'X';
:         arr[player_x+1][player_y+1]=(i%2 == player_st%2)?' ' : 'M';
:         arr[player_x+2][player_y+1]=(i%2 == player_st%2)?'N' : 'X';
:         arr[player_x][player_y+2]=(i%2 == player_st%2)?'X' : ' ';
:         arr[player_x+1][player_y+2]=(i%2 == player_st%2)?'N' : 'X';
:         arr[player_x][player_y+3]=(i%2 == player_st%2)?'X' : 'M';
:         arr[player_x+1][player_y+3]=(i%2 == player_st%2)?'N' : 'M';
:         arr[player_x+2][player_y+3]=(i%2 == player_st%2)?'X' : ' ';
:         player_st--;
:     }
:     else if(!player_st && !life == 0){
:         arr[player_x+1][player_y]='A';
:         arr[player_x][player_y+1]= (i%2 == frame%2)?'Z' : 'E';
:         arr[player_x+1][player_y+1]='A';
:         arr[player_x+2][player_y+1]=(i%2 == frame%2)?'Z' : 'E';
:
:         arr[player_x+1][player_y+2]='A';
:         arr[player_x][player_y+3]=(i%2 == frame%2)?'Z' : 'E';
:         arr[player_x+1][player_y+3]='A';
:         arr[player_x+2][player_y+3]=(i%2 == frame%2)?'Z' : 'E';
:     }
:     else if(player_st >0){
:         arr[player_x+1][player_y]= (i%2 == frame%2)?'N' : 'M';
:         arr[player_x][player_y+1]= (i%2 == frame%2)?'N' : 'M';
:         arr[player_x+1][player_y+1]=(i%2 == frame%2)?'N' : 'M';
:         arr[player_x+2][player_y+1]=(i%2 == frame%2)?'N' : 'M';
:        
:         arr[player_x+1][player_y+2]=(i%2 == frame%2)?'N' : 'M';
:         arr[player_x][player_y+3]=(i%2 == frame%2)?'N' : 'M';
:         arr[player_x+1][player_y+3]=(i%2 == frame%2)?'N' : 'M';
:         arr[player_x+2][player_y+3]=(i%2 == frame%2)?'N' : 'M';
:         player_st--;
:     }
:    
:    
:     for(i = 0; i < MAX_EN; ++i){
:     if(en_xy[0][i] != 100)
:     {
:         arr[en_xy[0][i]+1][en_xy[1][i]] = 'E';
:         arr[en_xy[0][i]][en_xy[1][i]+1] = (i%2 == frame%2)?'Z' : 'E';
:         arr[en_xy[0][i]+1][en_xy[1][i]+1] = 'E';
:         arr[en_xy[0][i]+2][en_xy[1][i]+1] = (i%2 == frame%2)?'Z' : 'E';
:
:         arr[en_xy[0][i]+1][en_xy[1][i]+2] = 'E';
:         arr[en_xy[0][i]][en_xy[1][i]+3] = (i%2 == frame%2)?'Z' : 'E';
:         arr[en_xy[0][i]+1][en_xy[1][i]+3] = 'E';
:         arr[en_xy[0][i]+2][en_xy[1][i]+3] = (i%2 == frame%2)?'Z' : 'E';
:     }
:     }
:
:      for(i=0; i<SCREEN_Y-4; i++)
:      {
:          for(h=0; h<SCREEN_X; h++)
:         {
:             if(!(h % 3))
:             {
:                 printf("%s", (i%2 == frame%2)?"┃" : "  ");
:             }       
:            
:             switch(arr[h][i]){
:                 case'A':
:                     printf("▣");
:                     break;
:                  case'E':
:                     printf("□");
:                     break;
:                 case'Z':
:                     printf("■");
:                     break;
:                  case'N':
:                     printf("△");
:                     break;
:                 case'M':
:                     printf("▽");
:                     break;
:                 case'X':
:                     printf("※");
:                     break;
:                  default:
:                     printf("  ");               
:             }
:             
:         }
:         printf("%s", (i%2 == frame%2)?"┃" : "  ");
:        
:      switch(i){
:         case 0:
:         case 1:
:         printf("▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒", score);
:         break;
:         case 2:
:         printf("▒     ☜ 자동차 게임 ☞    ▒", score);
:         break;
:         case 3:
:         case 4:
:         case 5:
:         printf("▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒", score);
:         break;  
:         case 6:
:         printf("▒  SPEED: %3dKm            ▒", ((MIN_SPEED+400) - speed) / 10);
:         break;  
:         case 7:
:         printf("▒  SCORE: %5d            ▒", score);
:         break;
:         case 8:
:         printf("▒   LIFE: %5d            ▒", life);
:         break;
:         case 12:
:         printf("%s", (life == 0)? "▒    OH~ SHIT! GAME OVER   ▒" : "▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒");
:         break;
:         case 13:
:         printf("%s", (life == 0)? "▒R키를 누르시면 계속됩니다!▒" : "▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒");
:         break;
:         default:
:         printf("▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒", score);
:        
:      }
:    
:    
:      printf("\n");
:      }
:
: }
:
: void en(){
:     if(!frame){
:     for(i = 0; i < MAX_EN; ++i){
:         if(en_xy[0][i] == 100)
:         {
:             en_xy[0][i] = (rand()%4)*3;
:             en_xy[1][i] = 0;
:             break;
:         }
:     }
:     }
:
:     for(i = 0; i < MAX_EN; ++i){
:         if(en_xy[0][i] != 100)
:         {
:             en_xy[1][i]++;
:            
:             if(en_xy[1][i]+3 >= player_y && en_xy[0][i] == player_x){
:                 life--;
:                 player_st = 10;
:                 en_xy[0][i] = 100;
:                 speed = MIN_SPEED;
:             }
:
:             if(en_xy[1][i] >= SCREEN_Y-4){
:                 en_xy[0][i] = 100;
:                 score += 50;
:             }
:         }
:     }
: }
:
: void gotoxy(int x, int y)
: {
:     COORD Cur;
:     Cur.X=x;
:     Cur.Y=y;
:     SetConsoleCursorPosition (GetStdHandle ( STD_OUTPUT_HANDLE),Cur);
: }
:
: void main()
: {
:     reset();
:     while(1)
:     {       
:         if(life)
:         {
:             en();   
:             frame = frame > 10? 0 : frame+1;
:             speed = (speed > MAX_SPEED)? speed-=7 : MAX_SPEED;
:             score++;           
:        
:         }       
:         gotoxy(0,0);
:         drowscreen();          
:         clear_arr();
:         for(i=0; i<speed; i++) if(kbhit()) key();   
:     }
: }
:
:
: 이소스를 빌더로 돌려볼려고하는데 가능한건가요? 한번도 못써봐서요.. 꼭빌더로해야하는데.. 휴...
:
: 어디 강좌같은거없나요 빠르게 익혀야해서요..

+ -

관련 글 리스트
64331 빌더를 한번도 써보지못했어요.. 박태호 1231 2011/05/11
64369     Re:꼭 빌더로 해야하는 이유가 궁금합니다. +_ + 남병철.레조 1111 2011/05/17
64372         Re:Re:꼭 빌더로 해야하는 이유가 궁금합니다. +_ + 박태호 952 2011/05/18
64332     가능합니다. 조대현.Clau 962 2011/05/11
64368         Re:가능합니다. 박태호 955 2011/05/17
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.