디시인사이드 갤러리

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

갤러리 본문 영역

아아아...런타임에러 원인좀 알려주실분...

ㅁㅌ(115.126) 2012.03.05 21:34:20
조회 64 추천 0 댓글 4

형들 내가 지금 허접하게 스도쿠 게임을 C로 짜고 있는데 런타임 에러에서 막혀부렀어

키 조작 함수에서 숫자를 입력하면 런타임 에러가 뜨네

이런거 익숙치 않아서 당황스러워.. 도와줘요

소스는 아래

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <Windows.h>
#include <conio.h>

#define UP 72
#define DOWN 80
#define LEFT 75
#define RIGHT 77
#define ESC 27
#define space 32
#define Enter 13

void BlankArray_init (int *black_dupli[9]);
void Blank (int blank_dupli[][9], int select);
void Su_Rand (int temp[][9] , int key[][9] , int select);
void Playing_Game ();
void check_n_print(int corr, int key[][9], int x, int y);


void gotoxy(int x,int y)

 COORD xy = {x,y};
 SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),xy); 
}

void SetColor(int bcolor,int tcolor) //bcolor는 배경 색, tcolor는 텍스트 색
{
    HANDLE hcon; 
    hcon = GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleTextAttribute(hcon,(bcolor<<4)|tcolor);

enum Color  //콘솔에서 사용하는 색상
{
 BLACK,    BLUE,    GREEN, CYAN, RED,  MAGENTA,  BROWN, LIGHTGRAY,
  DARKGRAY,  LIGHTBLUE,  LIGHTGREEN, LIGHTCYAN, LIGHTRED,  LIGHTMAGENTA,  YELLOW,  WHITE
};

static int key[9][9]; //정답지
int blank_dupli[9][9]; //빈칸 뚫기 검사

void main ()
{
 int select = 0;
 


 
 //int su2[9][9];
 int temp[9][9] =
  {
   {1,2,3,4,5,6,7,8,9},
   {4,5,6,7,8,9,1,2,3},
   {7,8,9,1,2,3,4,5,6},  
   {2,3,4,5,6,7,8,9,1},
   {5,6,7,8,9,1,2,3,4},
   {8,9,1,2,3,4,5,6,7},   
   {3,4,5,6,7,8,9,1,2},
   {6,7,8,9,1,2,3,4,5},
   {9,1,2,3,4,5,6,7,8}
  };

 Su_Rand (temp, key, 10);
 Blank (blank_dupli, 1);
 Playing_Game();
}

void Su_Rand (int temp[][9] , int key[][9] , int select)
{
 int  a, b, i, j, k, l, Rand, temp1;


 srand(time(NULL));

 for (a = 0 ; a < (select+10) ; a++)
 {
  Rand = rand() % 3;
  i = (rand() % 3) + (Rand * 3);
  j = (rand() % 3) + (Rand * 3);

  for (b = 0 ; b < 9 ; b++)
  {
   temp1 = temp[b][i];
   temp[b][i] = temp[b][j];
   temp[b][j] = temp1;
  }
 }

 for (a = 0 ; a < (select+10) ; a++)
 {
  Rand = rand() % 3;
  k = (rand() % 3) + (Rand * 3);
  l = (rand() % 3) + (Rand * 3);

  for (b = 0 ; b < 9 ; b++)
  {
   temp1 = temp[k][b];
   temp[k][b] = temp[l][b];
   temp[l][b] = temp1;
  }
 }

 for (a = 0 ; a < 9 ; a++)
 {
  for (b = 0; b < 9 ; b++)
  {
   key[a][b] = temp[a][b];
  }
 }
 
 for (i = 0 ; i < 9 ; i++)
 {
  for (j = 0 ; j < 9 ; j++)
  {
   printf ("%d" , temp[i][j]);
  }
  printf ("n");
 }


}


void Blank (int blank_dupli[][9], int select)
{
 int i, k, l;
 
 BlankArray_init (blank_dupli); //배열을 0으로 초기화

 for (i = 0 ; i < (5*select)+10 ; i++)
 {
  k = rand() % 9;
  l = rand() % 9;
  //k = (4*(rand() % 9))+3;
  //l = (2*(rand() % 9))+1;
  if (blank_dupli[k][l] == 0)
  {
   SetColor(WHITE,NULL);
   gotoxy(k,l);
   printf(" ");
   blank_dupli[k][l] = 1; //중복으로 빈칸이 생성되는걸 방지
  }
 }
 SetColor (BLACK,WHITE);
 gotoxy (30,30);
}

void BlankArray_init (int blank_dupli[][9])
{
 int i, j;

 for (i = 0; i < 9; i++)
 {
  for (j = 0; j < 9; j++)
  {
   blank_dupli[i][j] = 0;
  }
 }
}

void Playing_Game (int black_dupli[][9])
{
 int i, j, buffer, corr;
 int x = 0, y = 0;
 gotoxy (x,y);

 while (buffer = getch())
 {
  switch (buffer)
  {
  case UP:
   if (y == 0)
    break;
   y -= 1;
   gotoxy (x,y);
   break;
  
  case DOWN:
   if (y == 8)
    break;
   y += 1;
   gotoxy (x,y);
   break;

  case LEFT:
   if (x == 0)
    break;
   x -= 1;
   gotoxy(x,y);
   break;

  case RIGHT:
   if (x == 8)
    break;
   x += 1;
   gotoxy (x,y);
   break;

  case ESC:
   gotoxy(0,9);
   return;
   break;
  default :
   break;

  }
  if ( 49 <= buffer && buffer <= 58 )
  {
   corr = buffer - 48;

   if (black_dupli[x][y] == 0) //0이면 빈칸이 아닌 곳  <-------------디버깅해보니까 여기서 에러가 남 ㅠㅠ
   {
    gotoxy(0,20);
    printf("문제지 숫자입니다. 변경할 수 없습니다n");
    gotoxy(x,y);
   }
   else //1이면 빈칸이 뚫린 곳
   {
    check_n_print (corr, key, x, y);
   }

  }
 }
}
void check_n_print(int corr, int key[][9], int x, int y)
{
 if (corr == key[x][y])
 {
  SetColor (NULL,BLUE);
  printf("%d", corr);
 }
 else
 {
  SetColor (NULL,RED);
  printf("%d", corr);
 }
}

시간되는 고수님들 도와줘요 ㅠ
그리고 디버그모드에서는 에러뜨는데 릴리즈 모드에서는
에러 안뜨는 이유가 뭐죠

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 대박 날 것 같아서 내 꿈에 나와줬으면 하는 스타는? 운영자 25/11/17 - -
AD 대학생 필수템! What's in my Bag 운영자 25/11/21 - -
306194 삼성 스드스 인턴갔던 선배 왈 [7] 고기호빵갤로그로 이동합니다. 12.03.06 350 0
306193 c언어 갓배우기 시작한 플망주인데 질문하나만 할게요 [5] (114.199) 12.03.06 103 0
306192 System Call 이랑 SuperVisor Call 뭐가 다른가요? [3] d(218.209) 12.03.06 71 0
306190 컴공 할때 필요할까봐 이산수학, 공학수학 [8] (121.157) 12.03.06 156 0
306189 보슬 까면서 낄낄대면 좋냐? [1] 바보플머(218.155) 12.03.06 80 0
306187 대학교 신입생의 패기 [상급 떡밥] [19] 생물학(175.115) 12.03.06 310 0
306186 미친놈들 아직도 학교에서 지구가 둥글다고 가르친다메??? [2] 찌부된초코빵갤로그로 이동합니다. 12.03.06 70 1
306185 프갤아 아프지마 ㅠㅠ 의사(211.117) 12.03.06 30 0
306184 아 시작값부터 종료값까지의 합을 구하는 c언어소스인데 어디가잘못된거임 ㅠ [27] ㅇㅇ(59.30) 12.03.06 156 0
306183 좌절하고 있는 신입 있나?? [1] 이런개새끼갤로그로 이동합니다. 12.03.06 101 0
306182 리니어 시스템이 뭐라고 깔끔하게 표현 할 수 있는 언니? [6] dot(59.5) 12.03.06 81 0
306181 안드로이드 공부하는 대학생인데 질문점 [3] 메리프갤로그로 이동합니다. 12.03.06 83 0
306178 9일날 s/w 관리병 면접땜에 오랜만에 코드를 좀보고있는데 [2] 추상화갤로그로 이동합니다. 12.03.06 151 0
306177 coLinux 땡칠도사갤로그로 이동합니다. 12.03.06 50 0
306175 횽들 리눅스 컴파일러를 돌리려면 리눅스를 깔아야하나여? [3] ,,.(222.117) 12.03.06 91 0
306174 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ ㅁㄴㅇㅇ(125.182) 12.03.06 91 0
306173 후샏............ 보슬은 답이 읍다. 서현빠돌이갤로그로 이동합니다. 12.03.06 74 0
306172 형들 5분이면 짤거를 나 1박2일째 못풀고 있음ㅠ [12] 두더지(1.212) 12.03.06 167 0
306169 일단 dll로 만들면 어떤 언어든 불러 쓸 수 있는 거냐? [1] ㅁㄴㄻㄹ갤로그로 이동합니다. 12.03.06 72 0
306166 형아들 HCL프로그래밍이 뭔가요? [1] 펴펴갤로그로 이동합니다. 12.03.06 56 0
306165 ㅋㅋ 보슬도 많지만 요즘은 남자들도 여자 능력 존나 따진다 쿄스케갤로그로 이동합니다. 12.03.06 241 0
306164 형들 ㅠ 드디어 앱스토어에 만든거 내놨어 ㅠ 엉엉 [1] 4학년(222.107) 12.03.06 81 0
306163 산업쪽 임베디드는 수요 있긴 함? [1] 가리온↘갤로그로 이동합니다. 12.03.06 100 0
306162 기계공학과 C 프로그래밍 첫 과제 [5] 가리온↘갤로그로 이동합니다. 12.03.06 165 0
306160 이제는 '브로그래머(bro+programmer)' 시대 [4] ㅇㅇ(210.113) 12.03.06 1302 0
306157 프갤이 죽었슴다 [1] Dawnwalkre갤로그로 이동합니다. 12.03.06 40 0
306156 비주얼스튜디오2005이랑 2010얼마나차이나나요? [2] 이힝(1.216) 12.03.06 79 0
306152 진지하게 나좀 도와줄형 없음? 계냐갤로그로 이동합니다. 12.03.06 75 0
306151 '여성가족부 싫다'…10대들 디도스 공격 [1] ㅇㅇ(210.113) 12.03.06 94 0
306150 추상 대수학? [1] ㅋㄱ(110.70) 12.03.06 95 0
306149 JAVA로 만든 게임이 빠른가요, C언어로 만든게임이 빠른가요? [10] 찌부된초코빵갤로그로 이동합니다. 12.03.06 232 1
306148 산업이 계속 발전하다 한계에 봉착하면 분당살람갤로그로 이동합니다. 12.03.06 58 0
306146 클래스 안에 멤버 함수 본문 다 넣어도 되나요 [4] 모미지(61.251) 12.03.06 59 0
306145 지금 네이버와서 일하면서 느낀건데... [4] 퓨리님(211.234) 12.03.06 197 0
306144 복사 금지 해제 프로그램?? [2] 플밍(210.107) 12.03.06 376 0
306142 프로세스 핸들테이블에서... [4] 부경인갤로그로 이동합니다. 12.03.06 79 0
306139 어제 이직할 회사, 회식에 갔다옴.. [7] 쿄스케갤로그로 이동합니다. 12.03.06 214 0
306137 아아 빨리 묵혀놨던 os 개발 공부는 언제 할라나~~ 서현빠돌이갤로그로 이동합니다. 12.03.06 77 0
306136 프로그래머는 포기하지 않는자가 승리한다 서현빠돌이갤로그로 이동합니다. 12.03.06 92 0
306135 아아 너무 많이 쌌다 오늘의 걸그룹은 여기까지 서현빠돌이갤로그로 이동합니다. 12.03.06 62 0
306134 점심시간을 이용한 걸그룹 뮤비 퍼레이드5 서현빠돌이갤로그로 이동합니다. 12.03.06 45 0
306133 점심시간을 이용한 걸그룹 뮤비 퍼레이드4 서현빠돌이갤로그로 이동합니다. 12.03.06 33 0
306132 점심시간을 이용한 걸그룹 뮤비 퍼레이드3 서현빠돌이갤로그로 이동합니다. 12.03.06 49 0
306131 점심시간을 이용한 걸그룹 뮤비 퍼레이드2 서현빠돌이갤로그로 이동합니다. 12.03.06 36 0
306130 점심시간을 이용한 걸그룹 뮤비 퍼레이드1 서현빠돌이갤로그로 이동합니다. 12.03.06 62 0
306128 객체지향 수업들을때 [4] 모미지(61.251) 12.03.06 86 0
306127 크롬은 왜 악성코드 있다고 그러나염.. ㅋㄱ(183.96) 12.03.06 67 0
306126 안드로이드앱 scsoft의 피해피해온라인과 안렉산더의 여중생마케팅. [1] 베스트클리너갤로그로 이동합니다. 12.03.06 75 1
306125 아이폰 프로그래밍 하나도 모르는데 ㅋㄱ(183.96) 12.03.06 34 0
306124 횽들!! 자바스크립트 도움이 필요해!! [6] 늅늅하고운다(99.252) 12.03.06 95 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2