<div>할 게 없어서 저번에 뱀게임 만들고,</div> <div><br></div><span style="line-height:16.3636360168457px;">갤러그 게임 만드는데...</span> <div><br></div> <div>도중에 팅깁니다..!!!<br><div><br></div> <div> <div>디버그할 때 중단되는 지점이 여러 곳에서 중단되는데, 에러메세지는 같습니다.</div> <div><br></div> <div>~~에서 액세스 위반이 발생했습니다. 라고 뜹니다.</div> <div><br></div> <div><a target="_blank" href="http://blog.daum.net/sbshope/7787945">http://blog.daum.net/sbshope/7787945</a> </div> <div>라는 블로그에서 보니</div> <div><br></div> <div>예가 두 가지가 있더라구요.</div> <div><br></div> <div>첫번째 예는 포인터를 안써서 아닐거라 생각이 들고,,</div> <div><br></div> <div>두번째 예는 자주 겪던 일이라 아닐거라 생각이 들었을 뿐더러, 디버그할 때 중단되는 지점이 배열을 안쓰는 부분에서 중단됩니다!!!</div> <div><br></div> <div>이를 어떻게 해야할까요..?</div> <div><br></div> <div>짠 건 5시간인데 디버깅만 5시간을 넘게하고 있네용..</div> <div><br></div> <div>아! 대충 보시고 코드 짜는 방식이 괜찮은지만 봐주셔도 감사하겠습니다!</div> <div><br></div> <div> <div>#include <windows.h></div> <div>#include <iostream></div> <div>#include <conio.h></div> <div>#include <random></div> <div>#include <time.h></div> <div>#include <string></div> <div>using namespace std;</div> <div>#define LEFT 75</div> <div>#define RIGHT 77</div> <div>#define UP 72 </div> <div>#define DOWN 80</div> <div>#define OBJ_NUM 10</div> <div>void gotoxy(int x, int y)</div> <div>{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>COORD pos = { x, y }; </div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos);</div> <div>}</div> <div>char pan[50][20];//O는 적을 말하고, M은 본인을 말함</div> <div>struct POSITION{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>int x=25;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>int y=5;</div> <div>};</div> <div>class BULLET{</div> <div>public:</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>BULLET(){};</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>POSITION pos;<span class="Apple-tab-span" style="white-space:pre;"> </span>//총알의 좌표</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>int isON = 0;<span class="Apple-tab-span" style="white-space:pre;"> </span>//총알 활성화되었는지?</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>int origin_speed = 3;<span class="Apple-tab-span" style="white-space:pre;"> </span>//총알의 속도</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>int speed = origin_speed;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>char attack = 'i';<span class="Apple-tab-span" style="white-space:pre;"> </span>//총알의 모양</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>void bulletmove(){<span class="Apple-tab-span" style="white-space:pre;"> </span>//총알 이동</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>if (attack == 'i'){<span class="Apple-tab-span" style="white-space:pre;"> </span>//나의 것</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>if (isON=1){</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>gotoxy(pos.x, pos.y); printf(" "); pan[pos.x][pos.y] = ' ';</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>if (pos.y < 1){</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>isON = 0;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>return;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>pos.y--;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>if (pan[pos.x][pos.y] == 'O'){//총알이 관통 안하게</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>isON = 0;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>pan[pos.x][pos.y] = 'i';</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>return;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>gotoxy(pos.x, pos.y); printf("i"); pan[pos.x][pos.y] = 'i';</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>else {<span class="Apple-tab-span" style="white-space:pre;"> </span>//적의 것</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>gotoxy(pos.x, pos.y); printf(" "); pan[pos.x][pos.y] = ' ';</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>if (pos.y > 19){</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>isON = 0;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>return;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>pos.y++;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>gotoxy(pos.x, pos.y); printf("%c", attack); pan[pos.x][pos.y] = attack;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div>};</div> <div>class SHIP{</div> <div>public:</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>static int del_s;//적 제거수</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>SHIP(){}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>BULLET bullet[5];<span class="Apple-tab-span" style="white-space:pre;"> </span>//총알 최대 5개</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>SHIP(int r, char att, string sh, int x, int y){</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>for (int i = 0; i < 5; i++){</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>bullet[i].origin_speed = r;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>bullet[i].attack = att;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>ship = sh;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>pos.x = x;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>pos.y = y;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>string getship(){</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>return ship;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>void AI(){//양 옆으로 이동하는 AI</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>if (!isON) return;<span class="Apple-tab-span" style="white-space:pre;"> </span>//죽으면 이동안함</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>if (direction == RIGHT){</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>if (pos.x + 5 > 50) {</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>direction = LEFT;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>return;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>else if (pan[pos.x + 5][pos.y] != ' ') {</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>direction = LEFT;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>return;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>else{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>gotoxy(pos.x, pos.y);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>printf(" "); pan[pos.x][pos.y] = ' '; pan[pos.x + 1][pos.y] = ' '; pan[pos.x + 2][pos.y] = ' '; pan[pos.x + 3][pos.y] = ' '; pan[pos.x + 4][pos.y] = ' ';</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>pos.x++;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>gotoxy(pos.x, pos.y);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>printf("mmVmm"); pan[pos.x][pos.y] = 'O'; pan[pos.x + 1][pos.y] = 'O'; pan[pos.x + 2][pos.y] = 'O'; pan[pos.x + 3][pos.y] = 'O'; pan[pos.x + 4][pos.y] = 'O';</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>if (direction == LEFT){</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>if (pos.x - 1 < 1){</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>direction = RIGHT;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>return;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>else if (pan[pos.x - 1][pos.y] != ' '){</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>direction = RIGHT;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>return;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>else{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>gotoxy(pos.x, pos.y);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>printf(" "); pan[pos.x][pos.y] = ' '; pan[pos.x + 1][pos.y] = ' '; pan[pos.x + 2][pos.y] = ' '; pan[pos.x + 3][pos.y] = ' '; pan[pos.x + 4][pos.y] = ' ';</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>pos.x--;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>gotoxy(pos.x, pos.y);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>printf("mmVmm"); pan[pos.x][pos.y] = 'O'; pan[pos.x + 1][pos.y] = 'O'; pan[pos.x + 2][pos.y] = 'O'; pan[pos.x + 3][pos.y] = 'O'; pan[pos.x + 4][pos.y] = 'O';</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>void die(){</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>if (opp == 0){</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>isON = 0; //목숨이 다함</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>del_s++;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>gotoxy(70, 10);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>printf("%d", SHIP::del_s);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>return;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>for (int i = 0; i < 5; i++){</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>if (pan[pos.x + i][pos.y] == 'i'){</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>opp--;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>gotoxy(pos.x, pos.y);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>printf(" ");</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>pan[pos.x][pos.y] = ' ';</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>pan[pos.x + 1][pos.y] = ' ';</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>pan[pos.x + 2][pos.y] = ' ';</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>pan[pos.x + 3][pos.y] = ' ';</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>pan[pos.x + 4][pos.y] = ' ';</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}<span class="Apple-tab-span" style="white-space:pre;"> </span>//총알에 맞았는지</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>POSITION pos;<span class="Apple-tab-span" style="white-space:pre;"> </span>//우주선의 좌표</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>int origin_speed = 10 + rand() % 10;//양옆 이동스피드</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>int speed = origin_speed;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>int isON = 1;<span class="Apple-tab-span" style="white-space:pre;"> </span>//활성화되었는지?</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>int opp = 3;<span class="Apple-tab-span" style="white-space:pre;"> </span>//목숨, 적은 목숨이 3개</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>int origin_bull_go = 50 + rand() % 30;//총알이 나가는 간격</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>int bull_go = origin_bull_go;</div> <div>private:</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>int direction = RIGHT;//양옆 이동방향</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>string ship = "wWAWw";//우주선의 모양</div> <div>};</div> <div>int SHIP::del_s = 0;</div> <div>SHIP mySHIP;</div> <div>int main(){</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>srand(unsigned int(time(NULL)));</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>for (int i = 0; i < 50; i++){</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>for (int j = 0; j < 20; j++){</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>pan[i][j] = ' ';</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>SHIP obj[OBJ_NUM] = </div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>{ SHIP(5 + rand() % 5, '!', "mmVmm", 4, 6), SHIP(5 + rand() % 5, '!', "mmVmm", 4, 5),</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>SHIP(5 + rand() % 5, '!', "mmVmm", 24, 1), SHIP(5 + rand() % 5, '!', "mmVmm", 34, 3) ,</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>SHIP(5 + rand() % 5, '!', "mmVmm", 24, 2), SHIP(5 + rand() % 5, '!', "mmVmm", 44, 1) ,</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>SHIP(5 + rand() % 5, '!', "mmVmm", 14, 3), SHIP(5 + rand() % 5, '!', "mmVmm", 24, 7) ,</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>SHIP(5 + rand() % 5, '!', "mmVmm", 14, 4), SHIP(5 + rand() % 5, '!', "mmVmm", 34, 5) };</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>for (int i = 0; i < 22; i++){</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>gotoxy(55, i); printf("#");</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>for (int i = 0; i < 55; i++){</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>gotoxy(i, 21); printf("#");</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>mySHIP.pos.x = 25;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>mySHIP.pos.y = 18;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>int gameover = 0;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>gotoxy(mySHIP.pos.x, mySHIP.pos.y);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>cout << mySHIP.getship();</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>pan[mySHIP.pos.x][mySHIP.pos.y] = 'M';</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>pan[mySHIP.pos.x + 1][mySHIP.pos.y] = 'M';</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>pan[mySHIP.pos.x + 2][mySHIP.pos.y] = 'M';</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>pan[mySHIP.pos.x + 3][mySHIP.pos.y] = 'M';</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>pan[mySHIP.pos.x + 4][mySHIP.pos.y] = 'M';</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>for (int i = 0; i < OBJ_NUM; i++){<span class="Apple-tab-span" style="white-space:pre;"> </span>//맨처음 적 모양 생성</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>gotoxy(obj[i].pos.x, obj[i].pos.y);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>cout << obj[i].getship();</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>pan[obj[i].pos.x][obj[i].pos.y] = 'O';</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>pan[obj[i].pos.x + 1][obj[i].pos.y] = 'O';</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>pan[obj[i].pos.x + 2][obj[i].pos.y] = 'O';</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>pan[obj[i].pos.x + 3][obj[i].pos.y] = 'O';</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>pan[obj[i].pos.x + 4][obj[i].pos.y] = 'O';</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>gotoxy(57, 10);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>printf("적 제거 수 : 0");</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>while (gameover == 0){</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>Sleep(15);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>for (int i = 0; i < 5; i++)</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>if (pan[mySHIP.pos.x+i][mySHIP.pos.y] == '!')</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>gameover = 1;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>for (int i = 0; i < OBJ_NUM; i++){</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>if (obj[i].isON==1){</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>obj[i].die();<span class="Apple-tab-span" style="white-space:pre;"> </span>//적이 총알에 맞았는지</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>if (--obj[i].bull_go == 0 && obj[i].isON==1){//bullet shot</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>obj[i].bull_go = obj[i].origin_bull_go;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>for (int j = 0; j < 5; i++){</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>if (obj[i].bullet[j].isON==0){</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>obj[i].bullet[j].pos.x = obj[i].pos.x + 2;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>obj[i].bullet[j].pos.y = obj[i].pos.y + 1;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>gotoxy(obj[i].bullet[j].pos.x, obj[i].bullet[j].pos.y);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>printf("!");</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>obj[i].bullet[j].isON = 1;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>break;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>if (--obj[i].speed == 0){//obj ship move</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>obj[i].AI();</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>obj[i].speed = obj[i].origin_speed;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>for (int i = 0; i < OBJ_NUM; i++){//obj ship bullet</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>for (int j = 0; j < 5; j++){</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>if (obj[i].bullet[j].isON==1){</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>if (--obj[i].bullet[j].speed == 0){</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>obj[i].bullet[j].speed = obj[i].bullet[j].origin_speed;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>obj[i].bullet[j].bulletmove();</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>for (int i = 0; i < 5; i++){//my ship bullet</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>if (mySHIP.bullet[i].isON==1){</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>if (--mySHIP.bullet[i].speed == 0){</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>mySHIP.bullet[i].speed = mySHIP.bullet[i].origin_speed;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>mySHIP.bullet[i].bulletmove();</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>if (_kbhit()){<span class="Apple-tab-span" style="white-space:pre;"> </span>//이동, 공격</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>int tmp = _getch();</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>if (tmp == LEFT && mySHIP.pos.x > 0){</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>gotoxy(mySHIP.pos.x, mySHIP.pos.y);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>printf(" "); pan[mySHIP.pos.x][mySHIP.pos.y] = ' '; pan[mySHIP.pos.x + 1][mySHIP.pos.y] = ' '; pan[mySHIP.pos.x + 2][mySHIP.pos.y] = ' '; pan[mySHIP.pos.x + 3][mySHIP.pos.y] = ' '; pan[mySHIP.pos.x + 4][mySHIP.pos.y] = ' ';</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>mySHIP.pos.x--;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>gotoxy(mySHIP.pos.x, mySHIP.pos.y);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>printf("wWAWw"); pan[mySHIP.pos.x][mySHIP.pos.y] = 'M'; pan[mySHIP.pos.x + 1][mySHIP.pos.y] = 'M'; pan[mySHIP.pos.x + 2][mySHIP.pos.y] = 'M'; pan[mySHIP.pos.x + 3][mySHIP.pos.y] = 'M'; pan[mySHIP.pos.x + 4][mySHIP.pos.y] = 'M';</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>else if (tmp == RIGHT && mySHIP.pos.x < 50){</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>gotoxy(mySHIP.pos.x, mySHIP.pos.y);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>printf(" "); pan[mySHIP.pos.x][mySHIP.pos.y] = ' '; pan[mySHIP.pos.x + 1][mySHIP.pos.y] = ' '; pan[mySHIP.pos.x + 2][mySHIP.pos.y] = ' '; pan[mySHIP.pos.x + 3][mySHIP.pos.y] = ' '; pan[mySHIP.pos.x + 4][mySHIP.pos.y] = ' ';</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>mySHIP.pos.x++;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>gotoxy(mySHIP.pos.x, mySHIP.pos.y);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>printf("wWAWw"); pan[mySHIP.pos.x][mySHIP.pos.y] = 'M'; pan[mySHIP.pos.x + 1][mySHIP.pos.y] = 'M'; pan[mySHIP.pos.x + 2][mySHIP.pos.y] = 'M'; pan[mySHIP.pos.x + 3][mySHIP.pos.y] = 'M'; pan[mySHIP.pos.x + 4][mySHIP.pos.y] = 'M';</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>else if (tmp == UP&&mySHIP.pos.y > 10){</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>gotoxy(mySHIP.pos.x, mySHIP.pos.y);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>printf(" "); pan[mySHIP.pos.x][mySHIP.pos.y] = ' '; pan[mySHIP.pos.x + 1][mySHIP.pos.y] = ' '; pan[mySHIP.pos.x + 2][mySHIP.pos.y] = ' '; pan[mySHIP.pos.x + 3][mySHIP.pos.y] = ' '; pan[mySHIP.pos.x + 4][mySHIP.pos.y] = ' ';</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>mySHIP.pos.y--;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>gotoxy(mySHIP.pos.x, mySHIP.pos.y);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>printf("wWAWw"); pan[mySHIP.pos.x][mySHIP.pos.y] = 'M'; pan[mySHIP.pos.x + 1][mySHIP.pos.y] = 'M'; pan[mySHIP.pos.x + 2][mySHIP.pos.y] = 'M'; pan[mySHIP.pos.x + 3][mySHIP.pos.y] = 'M'; pan[mySHIP.pos.x + 4][mySHIP.pos.y] = 'M';</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>else if (tmp == DOWN&&mySHIP.pos.y < 20) {</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>gotoxy(mySHIP.pos.x, mySHIP.pos.y);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>printf(" "); pan[mySHIP.pos.x][mySHIP.pos.y] = ' '; pan[mySHIP.pos.x + 1][mySHIP.pos.y] = ' '; pan[mySHIP.pos.x + 2][mySHIP.pos.y] = ' '; pan[mySHIP.pos.x + 3][mySHIP.pos.y] = ' '; pan[mySHIP.pos.x + 4][mySHIP.pos.y] = ' ';</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>mySHIP.pos.y++;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>gotoxy(mySHIP.pos.x, mySHIP.pos.y);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>printf("wWAWw"); pan[mySHIP.pos.x][mySHIP.pos.y] = 'M'; pan[mySHIP.pos.x + 1][mySHIP.pos.y] = 'M'; pan[mySHIP.pos.x + 2][mySHIP.pos.y] = 'M'; pan[mySHIP.pos.x + 3][mySHIP.pos.y] = 'M'; pan[mySHIP.pos.x + 4][mySHIP.pos.y] = 'M';</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>else if (tmp == 'x'){</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>for (int i = 0; i < 5; i++){</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>if (mySHIP.bullet[i].isON==0){</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>mySHIP.bullet[i].pos.x = mySHIP.pos.x + 2;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>mySHIP.bullet[i].pos.y = mySHIP.pos.y - 1;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>gotoxy(mySHIP.pos.x + 2, mySHIP.pos.y - 1);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>printf("i");</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>mySHIP.bullet[i].isON = 1;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>break;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>if (SHIP::del_s == OBJ_NUM){//적의 수만큼 잡았을 때</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>printf("\n게임 클리어!\n스페이스 바를 누르면 종료합니다.\n");</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>gotoxy(mySHIP.pos.x, mySHIP.pos.y);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>break;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>if (gameover == 1){</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>system("cls");</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>printf("적 제거 수 : %d", SHIP::del_s);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>gotoxy(mySHIP.pos.x, mySHIP.pos.y);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>printf("\n게임 오버\n스페이스 바를 누르면 종료합니다.\n");</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>while (_getch() != ' '){};</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>return 0;</div> <div>}</div></div></div></div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.