디시인사이드 갤러리

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

갤러리 본문 영역

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

ㅁㅁㅁ(115.20) 2010.11.24 22:07:38
조회 138 추천 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
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 끝까지 다 본 걸 후회하게 만든 용두사미 드라마는? 운영자 25/07/07 - -
AD 디지털 액세서리 기간한정 세일! 운영자 25/07/11 - -
349923 지잡대 컴공 vs IT병크 [3] CS_Sniper(125.180) 13.03.16 149 0
349922 C언어 파일 입출력 할 때 말인데여 [2] ㅇㅇ(175.193) 13.03.16 82 0
349921 75주년 할인에 에버랜드도 있다.. [2] ㅋㄱ(183.96) 13.03.16 76 0
349920 ㅇㅇ 형 마감됨?? ddd(1.228) 13.03.16 44 0
349919 ㅇㅇ성님 성씨 맞춰봄 CS_Sniper(125.180) 13.03.16 57 0
349918 [7] 루비•‿•갤로그로 이동합니다. 13.03.16 135 0
349917 꼬리꺾기 이런 느낌? [7] ?(175.203) 13.03.16 142 0
349915 형들 구제좀 [2] 재귀(175.123) 13.03.16 70 0
349914 자바 소스파일 어디서 볼 수 있음요? 소스(222.116) 13.03.16 33 0
349912 꼬리펴주기?? [21] 개발개발(110.47) 13.03.16 195 0
349911 야구게임 [6] ㅇㅇ(121.190) 13.03.16 99 0
349910 그지새끼들만 모였냐 [1] ㅈㅈ(183.99) 13.03.16 67 0
349909 새벽에 노트북물어본사람인데요 [2] 김민성(223.62) 13.03.16 95 0
349908 나도 피자 줘 돌아온yoi(124.153) 13.03.16 49 0
349903 아까 ㅇㅇ형이 내 핸드폰에 피자 20개 쿠폰 넣어줬는데 [8] ㅇㅇ(121.163) 13.03.16 176 0
349902 피자 레알 쐈구나. [4] HiKiKoMoRi갤로그로 이동합니다. 13.03.16 113 0
349896 while문 중첩문제 [3] 백이(182.214) 13.03.16 117 0
349894 프갤러는 사람이 얼마 없어서 좋다. [1] ㅇㅇ(115.41) 13.03.16 81 0
349893 이제 뇌파로 글쓰는 분도 등장하셧네요.. [2] 입에붙는거갤로그로 이동합니다. 13.03.16 75 0
349892 형들 존나기초적인거 질문좀 급해요 ㅠㅠ [5] javashit(119.192) 13.03.16 82 0
349889 프로그래밍 하는 애들은 다 씹덕후냐? [9] 갤로그로 이동합니다. 13.03.16 224 0
349887 c++ 소수구하는 프로그램 질문드릴께요 [6] ㅇㅇ(110.45) 13.03.16 264 0
349886 사랑니 나온거같은데 백이(182.214) 13.03.16 34 0
349884 저 어제 새벽에 잤다가 지금 일어났는데 피자 남았나요? [1] ?(175.203) 13.03.16 70 0
349883 피자 10시에 예약했다. ㅇㅇ(115.41) 13.03.16 67 0
349882 프갤응 끼요미가 정.복.했.찌.롱^3^♥ 움하하하-3-!!! [5] 끼요미^3^갤로그로 이동합니다. 13.03.16 99 0
349881 프통령 ㅇㅇ성님의 글을 모아보자 [2] ㅇㅇ(218.51) 13.03.16 160 0
349880 곽가 떡밥 갑자기 질린다. [1] 생물학(58.76) 13.03.16 77 0
349879 ㅇㅇ형과 곽가 구별법 생물학(58.76) 13.03.16 96 0
349878 c++ 개초보 질문드립니다 제발 ㅜㅜ [2] c++개초보(59.18) 13.03.16 61 0
349877 리눅스 옵션 잘못 건드려서 부팅할때마다 memtest로 계속 빠지는데 [3] 물구나무(112.148) 13.03.16 66 0
349876 백왕형 곽가 번호 좀 주라 생물학(58.76) 13.03.16 56 0
349875 코딩할때 배경 깜장색 vs 회색 [4] 이힝(175.215) 13.03.16 105 0
349874 프갤형들.. 자바 기초 질문좀.. [3] 개평갤로그로 이동합니다. 13.03.16 78 0
349873 airwig 개새끼 [1] ㅇㅇ(223.33) 13.03.16 139 0
349870 식물인간이나 다름없는 삶이지만 피자가 먹고 싶습니다. [4] 불구(223.62) 13.03.16 101 0
349868 ㅇㅇ성님 피자쿠폰 주문완료! @앱벌이갤로그로 이동합니다. 13.03.16 87 0
349866 메모장 창크기 변경할때 어떻게 그렇게 깔끔하게 텍스트가 표시되요? [3] 이힝(175.215) 13.03.16 51 0
349864 살아숨쉬는 화석 목록.txt [1] 생물학(58.76) 13.03.16 106 0
349863 퇴근 삼십분전 LastCorona갤로그로 이동합니다. 13.03.16 86 0
349862 이러다 ㅇㅇ 곽가설 나오겠다. [3] 생물학(58.76) 13.03.16 119 1
349860 그러고보니 아스트랄로테 어디갔느뇨? 생물학(58.76) 13.03.16 38 0
349859 근데 백준 이놈 요즘도 프갤오냐? [3] 백준(203.226) 13.03.16 106 0
349858 겨우 지웠다. 비번이 asdf였음. ㄷㄷ [1] 생물학(58.76) 13.03.16 62 0
349856 어라 5분 지나서 글 지울려고 하는데 비번이 틀렸다고 뜬다. 시망 생물학(58.76) 13.03.16 50 0
349854 그러고보니 airwig은 결국 피자 안쏘고 버로우탔네 dd(1.214) 13.03.16 66 0
349852 프갤형들 질문좀ㅇㅇ [2] Firefish(121.64) 13.03.16 73 0
349850 프갤러들이 정모 나오는 때가 언제라고 생각하나? [4] 생물학(120.50) 13.03.16 110 0
349848 사과문 [2] 징기스칸4갤로그로 이동합니다. 13.03.16 115 0
349847 ㅋㅋㅋㅋㅋㅋㅋ 생물학(120.50) 13.03.16 56 0
뉴스 이솔로몬, 메이저나인과 전속계약 체결…발라드 본가에서 새로운 출발  디시트렌드 07.11
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2