|
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();
: }
: }
:
:
: 이소스를 빌더로 돌려볼려고하는데 가능한건가요? 한번도 못써봐서요.. 꼭빌더로해야하는데.. 휴...
:
: 어디 강좌같은거없나요 빠르게 익혀야해서요..
|