<div>다보여드리면 안읽으실거 같아서 부분만 올려봅니다</div> <div><br></div> <div>Bullet *pB = new Bullet[50];</div> <div>int pos = 0;</div> <div><br></div> <div>if (whatkey(VK_SPACE))</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>pB[pos].user_shoot();<span class="Apple-tab-span" style="white-space:pre;"> </span>// pos번째 유저슛 함수를 부름 user_bullet이란 char형 변수에 총알 i를 넣음.</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>pB[pos].set_userbullety(-1);<span class="Apple-tab-span" style="white-space:pre;"> </span>// pos번째 총알y좌표를 -1함(총알이 위로올라가죠)</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>gotoxy(user.set_nowx(0) + 2, pB[pos].get_userbullety()); // 비행기의 x좌표와 pos번째 총알의 y좌표로 이동</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>cout << pB[pos].get_userbullet();<span class="Apple-tab-span" style="white-space:pre;"> </span>//pos번째 총알i를 출력</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>Sleep(20);<span class="Apple-tab-span" style="white-space:pre;"> </span>//약간의 텀</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>gotoxy(user.set_nowx(0) + 2, pB[pos].get_userbullety());<span class="Apple-tab-span" style="white-space:pre;"> </span>//같은위치로 커서이동</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>cout << " ";<span class="Apple-tab-span" style="white-space:pre;"> </span>//총알의 흔적을 지움</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>RemoveCursor();</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>pos++;<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>일단 이 부분이 구현이 안되고 있습니다</div> <div>메모리 부분은 문제가 없을줄 알았는데 메모리 부분도 문제가 있는것같고..</div> <div>무엇도다 안에서 포문으로 돌릴수가 없어서 총알 y좌표값을 계속 -1 시키면서 총알을 위로 날려야하는데.. 너무 어려워요 ㅠㅠ</div> <div><br></div> <div> <div>while (-1)</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 (count % 5 == 0) </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 (whatkey(VK_LEFT))</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>{ 왼쪽방향키 눌렀을때 비행기 왼쪽이동<span style="font-size:9pt;line-height:1.5;">}</span></div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>if (whatkey(VK_RIGHT))</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>{ 비행기 오른쪽 이동 <span style="font-size:9pt;line-height:1.5;">}</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>if (whatkey(VK_SPACE))</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> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>count++;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><br></div> <div>이런식으로 count 를 이용해 돌리기때문에 안에서 포문을 쓸수가 없습니다 ㅠㅠ </div> <div>더 공부하고 만들고 싶지만 프로젝트발표가 코앞이라 일단 뭐가 됐든 만들어야하는데 여기가 너무 어려워요</div> <div>조언부탁드립니다</div> <div><br></div> <div><br></div> <div><br></div> <div>전체 소스도 올려볼게요</div> <div>============================================================</div> <div><br></div> <div> <div><br></div> <div>// 맵 크기 36x36</div> <div>#include <iostream></div> <div>#include <Windows.h></div> <div>#include <conio.h></div> <div>using namespace std;</div> <div>//#define LEFT 75<span class="Apple-tab-span" style="white-space:pre;"> </span>// 좌측방향키</div> <div>//#define RIGHT 77<span class="Apple-tab-span" style="white-space:pre;"> </span>// 우측방향키</div> <div>//#define UP 72<span class="Apple-tab-span" style="white-space:pre;"> </span>// 위쪽방향키</div> <div>//#define DOWN 80<span class="Apple-tab-span" style="white-space:pre;"> </span>// 아래방향키</div> <div>//#define SPACEBAR 32<span class="Apple-tab-span" style="white-space:pre;"> </span>// 스페이스바</div> <div><br></div> <div>void gotoxy(int x, int y)</div> <div>{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>COORD Cur;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>Cur.X = x;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>Cur.Y = y;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), Cur);</div> <div>}</div> <div><br></div> <div>void RemoveCursor() {</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>CONSOLE_CURSOR_INFO curinfo;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>GetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &curinfo);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>curinfo.bVisible = 0;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &curinfo);</div> <div>}</div> <div><br></div> <div>BOOL whatkey(int Key)</div> <div>{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>return ((GetAsyncKeyState(Key) & 0x8000) != 0);</div> <div>}</div> <div><br></div> <div><br></div> <div>class Airplane</div> <div>{</div> <div>protected:</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>int hp;<span class="Apple-tab-span" style="white-space:pre;"> </span>// user, enemy 모두 100으로 고정</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>int power;<span class="Apple-tab-span" style="white-space:pre;"> </span>// 공격력</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>int nowx = 36;<span class="Apple-tab-span" style="white-space:pre;"> </span>// 유저 현재 좌표</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>int nowy = 36;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>int oldx = nowx;<span class="Apple-tab-span" style="white-space:pre;"> </span>// 유저 이전 좌표</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>int oldy = nowy;</div> <div>public:</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>Airplane() {}//없애자</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>Airplane(int h, int p) : hp(h), power(p) {}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>int set_nowx(int 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>nowx += n;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>return nowx;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>int set_nowy(int 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>nowy += m;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>return nowy;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>int get_oldx(int 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>oldx = nowx;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>return oldx;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>int get_oldy(int 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>oldy = nowy;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>return oldy;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div>};</div> <div><br></div> <div>class Bullet</div> <div>{</div> <div>private:</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>char user_bullet = NULL;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>int user_bulletx = 36;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>int user_bullety = 36;</div> <div>public:</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>friend class User;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>Bullet b() {}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>void set_userbulletx(int 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>user_bulletx += 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>void set_userbullety(int 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>user_bullety += 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>int get_userbulletx()</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>return user_bulletx;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>int get_userbullety()</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>return user_bullety;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>char get_userbullet()</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>return user_bullet;</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 user_shoot()</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>user_bullet = 'i';</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div>};</div> <div><br></div> <div>//void init()</div> <div>//{</div> <div>//<span class="Apple-tab-span" style="white-space:pre;"> </span>pB = NULL;</div> <div>//}</div> <div><br></div> <div><br></div> <div>class User : public Airplane</div> <div>{</div> <div>private:</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>char user_unit[2][7] = { " ψ ","∈※∋" };</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>int cnt = 0;</div> <div>public:</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>User() {}//없애자</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>User(int h, int p) : Airplane(h, p) {}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>void user_airplane(int x, int 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>gotoxy(x, y);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>cout << user_unit[0] << endl;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>gotoxy(x, y + 1);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>cout << user_unit[1] << endl;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>RemoveCursor();</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 clear_user()<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>gotoxy(set_nowx(0) + 5, set_nowy(0));</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>cout << " ";</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>gotoxy(set_nowx(0) + 3, set_nowy(0) + 1);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>cout << " ";</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 del_bullet()</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>delete[] pB;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}*/</div> <div>};</div> <div><br></div> <div>//class Enemy : public Airplane</div> <div>//{</div> <div>//private:</div> <div>//<span class="Apple-tab-span" style="white-space:pre;"> </span>char enemy_unit[2][7] = { "◁▩▷", " Π " };</div> <div>//public:</div> <div>//<span class="Apple-tab-span" style="white-space:pre;"> </span>Enemy(int h, int p, char b) : Airplane(h, p, b) {}</div> <div>//<span class="Apple-tab-span" style="white-space:pre;"> </span>void enemy_airplane(int x, int y)<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>gotoxy(x, y);</div> <div>//<span class="Apple-tab-span" style="white-space:pre;"> </span>cout << enemy_unit[0] << endl;</div> <div>//<span class="Apple-tab-span" style="white-space:pre;"> </span>gotoxy(x, y + 1);</div> <div>//<span class="Apple-tab-span" style="white-space:pre;"> </span>cout << enemy_unit[1] << endl;</div> <div>//<span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div>//};</div> <div><br></div> <div>int main()</div> <div>{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>//Bullet *pB = new Bullet[20];</div> <div>//<span class="Apple-tab-span" style="white-space:pre;"> </span>init();</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>int count = 0;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>Airplane a();</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>User user(100, 50);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>Bullet *pB = new Bullet[20];</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>//Bullet b;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>int pos = 0;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>//User user(100, 50);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>user.user_airplane(user.set_nowx(0), user.set_nowy(0));</div> <div><br></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>while (-1)</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 (count % 5 == 0)</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 (whatkey(VK_LEFT))</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 (user.set_nowx(0) > 0)</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>user.set_nowx(-1);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>user.clear_user();</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>user.user_airplane(user.set_nowx(0), user.set_nowy(0));</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>if (whatkey(VK_RIGHT))</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 (user.set_nowx(0) < 36)</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>user.set_nowx(1);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>user.clear_user();</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>user.user_airplane(user.set_nowx(0), user.set_nowy(0));</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><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>if (whatkey(VK_SPACE))</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 < 36; 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>pB[pos].user_shoot();<span class="Apple-tab-span" style="white-space:pre;"> </span>// pB[pos] = i</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>pB[pos].set_userbullety(-1);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>gotoxy(user.set_nowx(0) + 2, pB[pos].get_userbullety());</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>cout << pB[pos].get_userbullet();</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>Sleep(20);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>gotoxy(user.set_nowx(0) + 2, pB[pos].get_userbullety());</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>cout << " ";</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>RemoveCursor();</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>pos++;</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><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>/*if (pB[pos].get_userbullety() <= 0)</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>pB[pos].del_bullet();</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}*/</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>count++;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>Sleep(10);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>return 0;</div> <div>}</div></div> <div><br></div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.