디시인사이드 갤러리

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

갤러리 본문 영역

프갤횽들 C언어 이거 실행좀 되게해주세요

ㅁㅁㅁ(115.20) 2010.11.24 22:07:38
조회 124 추천 0 댓글 5

#include<stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
#include <windows.h>
void play_game();
void get_alphabet();
void clear_screen();
void display_screen();
void free_node();
void initailize();
void gotoxy(int x, int y);
void cursor_off();
void sleep(long wait);
struct S_ALPHA {
int  x, y;
char alphabet;
struct S_ALPHA *next;
};
struct S_ALPHA   *alpha;
int count;

void main()
{
initailize();  // 초기화 함수를 호출한다.
play_game();  // 게임을 시작한다.
free_node();  // malloc()으로 할당한 메모리를 반납한다.
}

void play_game()
{
char keyin; // 키 입력 및 새로 생성된 알파벳

do {
 clear_screen();  // 화면을 지운다.
 sleep(1000); // 1초 동안 대기한다.
 get_alphabet(); // 화면의 임의의 좌표에 대문자 알파벳을 하나 생성한다.
 display_screen(); // 화면에 알파벳들을 표시한다.
 keyin = getch(); // 키보드에서 영문자를 하나 입력하고, 소문자는 대문자로 변경한다.
 if (keyin >= \'a\' && keyin <= \'z\')
  keyin = keyin - 0x20;
} while (keyin == alpha->alphabet);  // 키 입력과 생성된 문자가 같으면 반복한다.
                      // 연결리스트의 첫번째 항목이 새로 추가된 노드이다.
printf("game over your score %d",count);// 게임 오버
// 게임 스코어를 출력한다.
}

void get_alphabet()
{
    int x, y, dup;
    struct S_ALPHA *temp;
 int count = 0;
// x, y 좌표를 생성한다.
do {
srand(time(NULL));
x=rand()%80;//0 ~ 79 사이의 x 좌표를 생성한다.
y=rand()%24;//0 ~ 23 사이의 y 좌표를 생성한다.
dup = 0;
// 리스트에 (x,y)좌표가 등록되어 있는지 검사한다.
temp=alpha;//temp를 alpha로 초기화하고,
//temp가 NULL이 아니면 다음을 반복한다. {
  //만일 x와 temp->x가 같고 또한 y와 temp->y가 같으면
    //  dup를 1로 만든다.
temp->next;//temp를 다음 노드로 옮긴다.
do{
 if(temp->x ==x && temp->y == y)
 {
  dup=1;
 }
}while(temp!=NULL);

} while (dup == 1);    // (x,y)가 이미 등록되어 있으면, 다시 (x,y)를 수행한다.
srand(time(NULL));
temp = (struct S_ALPHA *)malloc(sizeof(struct S_ALPHA));//temp에 struct S_ALPHA 구조체 크기의 메모리를 할당한다.
temp->x=x;//temp->x에 x를 저장하고,
temp->y=y;//temp-y에 y를 저장한다.
temp->alphabet=rand()%26+65;//temp->alphabet에  \'A\' ~ \'Z\'까지 영문자를 하나 생성하여 저장한다.
temp->next=alpha;//temp->next를 alpha 리스트에 연결한다.
count++;//count를 증가시킨다.
}
void clear_screen() // 보너스: 이 함수는 기분 좋게 다 짜 준다.
{
    struct S_ALPHA *temp;

    temp = alpha;
    while (temp != NULL) {
        gotoxy(temp->x, temp->y);
        putch(\' \');
               temp->next=temp;
   }
}

void display_screen()
{
    // clear_screen() 함수를 참고하여 작성하라.
    struct S_ALPHA *temp;

    temp = alpha;
    while (temp != NULL) {
        gotoxy(temp->x, temp->y);
        putch(temp->alphabet);
                temp->next=temp;// 위 함수에서 putch(\' \'); 대신에 putch(temp->alphabet); 을 넣으면 된다.
}

free(temp);
// 프로그램이 끝나기 전에 malloc()으로 할당한 노드들을 반납한다.
}

void free_node()
{
 struct S_ALPHA *temp;
 
 while (alpha != NULL) {   // alpha가 NULL이 아니면 반복한다.
  temp = alpha; // temp가 리스트의 첫번째 노드를 가리킨다.
  alpha = alpha->next; // alpha는 다음 노드를 가리킨다.
  free(temp); // temp를 반납한다.
 }
}

void initailize()
{
srand(time(NULL));//랜덤 함수를 초기화 한다.
count=0;//count를 0으로 초기화하고,
cursor_off();//커서를 제거한다
alpha=NULL;//alpha를 NULL로 초기화 한다.
}

void gotoxy(int x, int y)
{
 COORD Pos = { x, y };
 SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), Pos);
}

void cursor_off()
{
 CONSOLE_CURSOR_INFO Coff = { 100, 0 };
 SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &Coff);
}
void sleep(long wait) {
 long goal;

 // clock()은 프로그램이 실행된 후의 지연시간을 밀리초 단위로 리턴한다.
 goal = wait + clock(); // goal = 현재시간 + 지연시간
 while (goal > clock()) ; // 목표 시간에 도달할 때까지 대기
}
연결리스트에서 잘못한거같은데 ㅜㅜ 능력자 프갤형들 부탁해요

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 연예인 안됐으면 어쩔 뻔, 누가 봐도 천상 연예인은? 운영자 24/06/17 - -
233540 삼성들어가면 ㅋㅋ [9] ㅋㅋ(58.230) 11.02.05 313 0
233539 유리한 횽은 레전드??? [56] 컴돌이(58.77) 11.02.05 440 1
233538 횽들 서비스개시해서 3주만에 300명이면... [6] 맨틀맨(58.230) 11.02.05 157 0
233537 나 sds신입사원으로 들어왔는데 쫌 힘든듯....ㅠ [9] ㅇㅇㅇㅇ(121.174) 11.02.05 650 0
233536 수학과 나와서 플머하면 어때? [7] 울렁굴렁꿀렁(211.51) 11.02.05 250 0
233535 요 근방에서 덕후들을 보면 참 안쓰럽다 [2] 땡칠도사갤로그로 이동합니다. 11.02.05 198 0
233534 Java Exception개체 Reflection해서 Field 못가져와? [7] 물속의다이아갤로그로 이동합니다. 11.02.05 120 0
233533 형들덕뿐에 게시판 제작 거의 완료됐어!! 자동 넘어가기 메타 질문!! [5] 횽들(221.149) 11.02.05 107 0
233532 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 나름 역사깊은갤이네 가시지옼갤로그로 이동합니다. 11.02.05 82 0
233531 존나막 수억가지경우로 프로그래밍하면 뇌가탄생하지않음? [7] 가시지옼갤로그로 이동합니다. 11.02.05 200 0
233530 님들아 c언어 공부할 수 있는 사이트 아시는분? [3] ㅁㄴㅇ(1.177) 11.02.05 138 0
233529 글리젠이 없어서 최민수 개그 [2] 꿀레(14.33) 11.02.05 140 0
233528 흠냐 이거 가능합닌까??? [4] ㅇㅇㅇ(116.40) 11.02.05 121 0
233526 님들 매크로 같은거 만들려면 [3] 금고래갤로그로 이동합니다. 11.02.05 131 0
233525 지금 내 뇌 구조도 [1] 써니덕후갤로그로 이동합니다. 11.02.05 109 0
233524 노키아 폰에 QT 쓰인다고 하지 않았음? [7] 분당살람갤로그로 이동합니다. 11.02.05 135 0
233522 횽들~ JAVa잇잔아요~ [1] 복학생2(116.36) 11.02.05 89 0
233521 이게 뭐징?.jpg [1] Mayu갤로그로 이동합니다. 11.02.05 289 0
233520 그루폰 창업자 ㄷㄷ [1] 흠냐리(61.255) 11.02.05 253 0
233519 보통 학교에서 c언어 구조체까지 배우나? [3] 금호족기(61.75) 11.02.05 195 0
233518 간단한 포인터 질문 [1] 금호족기(61.75) 11.02.05 84 0
233517 이거 왜 이미지 퀄차이가 나는겅미? [3] 흠냐리(61.255) 11.02.05 178 0
233515 마크주커버그가 페이스북... [5] 낰칰(58.230) 11.02.05 301 0
233513 [김지수갤러리] 감성뮤지션 김지수의 22번째 생일떡 돌리러왔어요! [10] ♪옥뚤♬갤로그로 이동합니다. 11.02.05 186 0
233512 안녕하세요 프로그래밍 입갤하려는 젖밥입니다 [1] 개밥바라기.갤로그로 이동합니다. 11.02.05 148 0
233510 올리디버거 스트링에 안뜨는 문구는 어떻게 찾죠? [5] 123(116.34) 11.02.05 124 0
233509 파이썬 이제 배워보려고 하는데요.. [4] 아오(220.79) 11.02.05 185 0
233508 카울리에서 개인 블로그를 무료APP로 만들어주는 서비스를 하잖소? 흠냐리(61.255) 11.02.05 89 0
233507 Best GUI designer for eclipse? [7] VL갤로그로 이동합니다. 11.02.05 231 0
233506 친구가 집을 불태워먹었습니다 [3] 꿀레(14.33) 11.02.05 238 0
233505 음~ [10] 배스커빌갤로그로 이동합니다. 11.02.05 109 0
233504 배치파일 초고수님있나요? [2] ☣➎➊➎☣갤로그로 이동합니다. 11.02.05 138 0
233503 했당!!! 쿄쿄쿄나는야 해결사! [2] 흠냐리(61.255) 11.02.05 101 0
233502 노키아가 안드로이드 폰을 만들면 좋을텐데.. [3] sadf(119.193) 11.02.05 90 0
233501 헐 이거 어떻게 없애여? [2] 흠냐리(61.255) 11.02.05 120 0
233500 맥주가 생각나서 사왔다만 [1] 건꼬(211.59) 11.02.05 126 0
233499 백지에게 c언어 책추천좀요 [3] 늅늅이(211.41) 11.02.05 240 0
233498 php [3] SODmaster갤로그로 이동합니다. 11.02.05 91 0
233497 아뢰옵기 황송하오나 답답한 마음에 php질문하나 올립니다. [25] 형님들(125.129) 11.02.04 162 0
233496 놋북에 개발툴 세팅하는데 .3(203.223) 11.02.04 97 0
233495 C# ] 프로세스에 관해서 허허벌판갤로그로 이동합니다. 11.02.04 149 0
233493 제일 낮은 계층이라고 하면 역시 [1] Rei@디씨갤로그로 이동합니다. 11.02.04 103 0
233492 v4가 포화상태라서 v6체제로 가는거임? [5] (220.94) 11.02.04 145 0
233491 아 형들 그리고 리눅스 멀티부팅이여 [6] 늅늅이(211.41) 11.02.04 106 0
233490 형들 뉴비가 리눅스 부팅 질문좀여! [4] 늅늅이(211.41) 11.02.04 87 0
233489 공익중인넘인데여 [3] ㅇㅇㅇ(220.94) 11.02.04 100 0
233488 오늘 프갤은 흥했군!! [2] SODmaster갤로그로 이동합니다. 11.02.04 57 0
233487 아래 레지스터 저장 머시기 글... [1] 116.44(116.44) 11.02.04 84 0
233485 수학 잘하면 좋은거 있당 [2] ㅇㅇ(121.130) 11.02.04 145 0
233484 그래도 영어보다는 수학이 재미있지 않나?? [4] SODmaster갤로그로 이동합니다. 11.02.04 130 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2