메뉴 건너뛰기

자유롭게 이야기를 적는 공간

<번갈아 가면서 출력, 어찌 하는가?>

혼돈님께서 잘 보셨군요. 반복문(for)갖다가 한 거 맞습니다.
흑곰님께서 말씀하신 타이머라는 것은 아마 VB의 그것인가 본데,
타이머고 뭐고 무지 간단하게 했으니 알려드리죠.

에, 그러니까. 제가 'a'라는 그림과 'b', 'c'라는 그림을
jdd->LoadPicture(); 로 불러왔다고 칩시다.

그럼 이제  a,b,c,를 차례로 출력하고 싶을 때 어떻게 하는지 이제부터 설명해보겠습니다.

while(!_GetKeyState(VK_ESCAPE))

라는 부분이 이해가 안 가셨을 수도 있는데, while문은 for랑 사용법과
특징의 차이만 있을 뿐이지 똑같은 반복문입니다.
지금 저 위의 while문은 _GetKeyState 클래스 함수가 VK_ESCAPE에
해당하는 값을  돌려줬을 때,
그러니까 사용자가 ESC를 누를 때까지 무한 반복한다는 뜻입니다.

즉 이 게임이 돌아가는 근본적인 메커니즘은 같은 명령을 반복 수행
하는 것이죠. 뭐 이건 뭐 그럭저럭 중요한 내용일지도 모르지만 복잡하니 건너 뛰고..

흑곰님께서 while문이 뭔지 모르실 수도 있으니 이렇게 바꿔볼까요.

for(;;) // 무한 반복문
{
     if(_GetKeyState(VK_ESCAPE))break; // break는 빠져나간다는 것
}

이제 아시겠죠? 지금 이 for문과 위의 while문은 모양만 틀리고 똑같습니다.
그럼 이렇게 한번 해보죠.

int flag = 0;
for(;;)
{
     if(_GetKeyState(VK_ESCAPE))break;
  
     if(flag >= 0 && flag <= 5){jdd->DrawPicture('a');flag++;} // 이건 이렇게 쓰면 에러가 나지만 설명을 간단히 하기 위해 임시로..
     if(flag>=5 && flag <= 10){jdd->DrawPicture('b');flag++;}
     if(flag>=10 && flag <= 15){jdd->DrawPicture('c');flag+=;}
     if(flag>=16){jdd->DrawPicture('c');flag=0;}
}


이제 다 썼으니 설명.

반복문 위에서 flag라는 변수를 초기값을 0으로 잡고 선언했습니다.
int는 VB에서 변수 선언할 때 "~ as integer(스펠링이 맞나)"하고 같습니다.

아무튼 그래서 반복문 안에서 이걸 계속 더 해주면서, 만약
flag의 값이 0 이상, 5 이하일 경우에는 그림 'a'를, 5 이상 10 이하일 땐 'b'를,
10 이상 15이상 일 땐 'c'를 출력하는 겁니다. 그리고 16이상이 되면
다시 0으로 돌려주는 거지요.

이해가 안될 수도 있겠지만 소스를 보시면 이해가 가실겁니다.


조회 수 :
263
등록일 :
2004.06.20
20:47:37 (*.151.)
엮인글 :
게시글 주소 :
https://hondoom.com/zbxe/index.php?mid=free&document_srl=74356

철없는 아이

2008.03.19
09:34:35
(*.81.198.146)
이게 뭐지...

행방불명

2008.03.19
09:34:35
(*.213.29.126)
그러게 말입니다.
List of Articles
번호 제목 글쓴이 조회 수 추천 수 날짜sort 최근 수정일
공지 (대피소) 혼돈과 어둠의 디스코드 노루발 111   2023-09-05 2023-09-05 16:05
공지 글 작성을 위해서는 회원 가입이 필요합니다. 노루발 4678   2016-02-22 2021-07-06 09:43
465 파병 철회를 반대한다. [5] 행방불명 272   2004-06-22 2008-03-19 09:34
파병을 보내면 100여명의 교민들도 죽는다. 그렇지만 우리가 살아야한다. 그러니까 보내자. 우리는 미국에게 소국에 불과하다. 안보내면 경제가 망한다. 보내자, 보내야 한다. 현실에 직면해라. 배째라가 아니다. 그래도 김선일씨, 너무 불쌍한데요. 흑  
464 이라크인들이 한국인 납치했다네요. [4] Deicide 258   2004-06-22 2008-03-19 09:34
http://tvnews.media.daum.net/foreigntv/200406/21/ytni/v6863116.html?nil_profile=g&nil_NewsImg=1 그냥 힘없는저로써는 무사히살아남으라고 기도나해야겠습니다. 제기럴  
463 동헌이~ [2] ☆철없는Orol★친구☆ 363   2004-06-21 2008-03-19 09:34
동헌이 아이조아. 꿀꺽 이동헌 게임을 하눈데요. 아이 재미있어요. 울반 남자 11명 했뚬.. ㅋㅋ 동헌이 Pan  
462 컴퓨터 실 에서... [7] ☆철없는Orol★친구☆ 261   2004-06-21 2008-03-19 09:34
새로운 갑자 입니다.. 환영해 주세욤. 글구 철없는아이의 친구. 잘 부탁 드림 안늉 철없는아이.  
461 행방불명님 [3] 사과 182   2004-06-21 2008-03-19 09:34
Message 생성되지 않은 게시판입니다. 게시판을 생성후 사용하십시요 .... 라는데요? 게시판이 사용하고 싶어서 몸이다 근질거림  
460 흑곰에게 [3] 大슬라임 221   2004-06-21 2008-03-19 09:34
받는 입장이면서 그렇게 굴면 내가 주고 싶어지겠소? 내가 그 개판 같은 소스 가지고 째는 건 아니지만, 큰소리 떽떽치면 얄밉잖아요. 크르릉. 아무튼 간에, 도대체 뭐가 어쨌길레 에러가 93개? 위하고 아랫 부분 다 필요 없습니다. 그 부분만 있으면 됨. 왜...  
459 내 사진 대공개 [5] file 혼돈 243   2004-06-21 2008-03-19 09:34
 
458 게임 못만들겠다. [2] 케르메스 234   2004-06-21 2008-03-19 09:34
만화가 중간에서 끝난느낌이 강해서 최대한 늘릴려고 별의별짓 다 해봤지만 플레이시간 총 3분인가 정도뿐. 그래서 그냥 삭제함. 뭐 게임같지도 않은걸.... -보물을 찾아 떠난 선비- 이건 너무 짧아. 후곰님 만화를 게임으로 구현하기엔 만화에 심도가 너무 ...  
457 우와와. [1] 케르메스 186   2004-06-21 2008-03-19 09:34
비주얼 C 플러스 플러스네. 난 꾸준히 VB하고있는데 언젠가 나도 비주얼 C 플러스플러스 하겠다. 솔직히 VB랑 비주얼 C 플러스플러스가 비슷하다지만 천지차이.  
456 내 사진 공개 [10] file 혼돈 355   2004-06-21 2008-03-19 09:34
 
455 대화방에서 벌어진일 [4] 사과 312   2004-06-21 2008-03-19 09:34
'혼돈과 어둠의 강당'에 입장하셨습니다. 대화방 운영자 메세지 ▶ 어서오세요. lakh9033 ▶ 짜잔!! 혼돈▶ 흐음... 흑곰▶ 이런 대슬라임같은 혼돈▶ 누구시지? 흑곰▶ 어디서 봤는데 흑곰▶ 이 사람. 흑곰▶ 혼둠 인 흑곰▶ 확실한건 혼둠인이고 lakh9033 ▶ 보기를줄...  
454 슬라임 소스 최적화 [2] 혼돈 266   2004-06-21 2008-03-19 09:34
최적화하면 할 곳이 더 많지만, 귀찮아서 대강 이것만... int frame=0; void animate_self() // 애니메이션 함수 { if(++flag>=5) { if(++frame>=4)frame=0; flag=0; } char surfname[4]; strcpy(surfname,"s0x"); if(frame<3)surfname[2]='1'+frame; else sur...  
453 동흥님 패밀리 ( 그림 ) [3] file 초싸릿골인 289   2004-06-20 2008-03-19 09:34
 
452 새 학살 main.cpp 공개 [4] 大슬라임 554   2004-06-20 2008-03-19 09:34
int x=320,flag=0,flag2=0,flag3=0,missleX,missleY; //움직임 관련 변수 int bird[10]={0,},birdX[10]={0,},birdY[10]={0,},birdS[10]={0,},doa[10]={0,}; void animate_self() // 애니메이션 함수 { if(flag >= 0 && flag <= 10){jdd->DrawPicture(backbuffe...  
» 음, 지금 내가 데스크탑에 접근을 못하니 일단 흑곰님이 물어보는 것만 답하죠. [2] 大슬라임 263   2004-06-20 2008-03-19 09:34
<번갈아 가면서 출력, 어찌 하는가?> 혼돈님께서 잘 보셨군요. 반복문(for)갖다가 한 거 맞습니다. 흑곰님께서 말씀하신 타이머라는 것은 아마 VB의 그것인가 본데, 타이머고 뭐고 무지 간단하게 했으니 알려드리죠. 에, 그러니까. 제가 'a'라는 그림과 'b', ...  
450 나의 고민 [6] 이소룡선생 269   2004-06-20 2008-03-19 09:34
내가 짝사랑하는 여자애A라는 애 가 있었는데 나의 학원에 요즘에 들어온 여자애B라는 애 가 절 좋아하네욥 난 마음이 약해 B의 마음을 거절할수도 없고 이일을 어쩐당 누구를 선택하지?  
449 으아앜 20세기 소년 16권 구했닫 [4] 포와로 272   2004-06-20 2008-03-19 09:34
다운중... 스캔만화 보고있자니 찔려서 만화방에 갔지만 15권밖에 업ㅂ었다 ㅡㅡ  
448 정말 슬라임이 만든 프로그램을 보고 있자면 [2] 혼돈 268   2004-06-20 2008-03-19 09:34
슬라임은 재능이다. 뭐 기본은 노력으로 닦았겠지만... 내가 가르쳐 준 것도 없는데 벌써 저 정도이다. 그러니 흑곰님께서는 실망하지 마시길. 하지만 슬라임은 천재는 아니고 백재정도 흑곰님은 십재가 되겠군. 그나저나 그전엔 흑곰이라서 흑곰이라 막 불렀...  
447 남극은 살아있다. [4] 행방불명 282   2004-06-20 2008-03-19 09:34
http://kfgenius_hb.ilen.net/ 남극을 잊지 않았다면 눌러.  
446 싸릿골에게 C++ 학습에 대한 조언. [9] 大슬라임 397   2004-06-20 2008-03-19 09:34
아무리 모로가도 서울이라지만, 혼돈이 지금 우리[흑곰과 나]에게 가르쳐주는 것으로 봐서 C언어의 쌩기초도 모르는 상태에서 배우기에는 조금 벅찬 것 같소. 자고로 기술의 발전이란 것은 큰 것에서 작은 쪽으로 세분화 되는 것이니 우선은 기초를 다지는게 ...