메뉴 건너뛰기

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

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

혼돈님께서 잘 보셨군요. 반복문(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 추천 수 날짜 최근 수정일
공지 (대피소) 혼돈과 어둠의 디스코드 노루발 119   2023-09-05 2023-09-05 16:05
공지 글 작성을 위해서는 회원 가입이 필요합니다. 노루발 4683   2016-02-22 2021-07-06 09:43
14726 寫寫 file 70   2006-07-06 2008-03-21 06:43
 
14725 로젠메이든은 [3] 키아아 70   2006-03-23 2008-03-21 06:45
만화와 애니가 미묘하게다름  
14724 머리 file 슈퍼타이 70   2006-12-30 2008-03-21 15:43
 
14723 혼돈님 [1] 이재철 70   2007-01-31 2008-03-21 15:44
혼돈님집견학가능~?  
14722 워크샵 갑니다. 혼돈 70   2007-03-09 2008-03-21 15:58
그럼 토요일에 봅시다. 슝~  
14721 한국 대 독일 2:0 [1] 노루발 70   2018-06-28 2018-07-23 22:21
독일이 2인가 했는데 한국이 2였네. 어리둥절.  
14720 오토체스 진짜 잘 만든 게임인듯 노루발 70   2019-03-27 2019-03-27 02:50
오토체스가 갓겜인 이유 1. 이기면 내 실력이고, 지면 운 탓이 가능함. 2. 과금 요소가 없음. 3. 사기치면 기분좋음.  
14719 히오스 팀 레벨을 빠르게 올리는 방법 [3] 노루발 70   2021-05-20 2021-05-26 17:28
혼둠에 불어온 히오스 열풍이 당황스럽지만 물 들어올 때 노 젓자는 생각으로 히오스 관련 글을 몇개 써봅니다. 저자약력: - 폭풍리그 최고등급 브론즈4 - 다인큐 빠대 버스충 - 포브스 선정 "레벨값을 못하는 사람" 1위 ------------------------------------...  
14718 계십니까? [5] 흑곰 71   2018-08-09 2018-08-23 10:45
방문하신 분들 댓글 하나씩 달아주세요. 혼둠에 대한 이런저런 의견도 주시면 좋고요. (반영된다곤 안했음) 최근 다시 혼둠을 찾고 있고, 조금씩 조금씩 바꿔보려 생각 중인데, 시간이 따라주지 않네요. 가끔 근황이라도 적어주세요. 뭐하고 지내시나요?  
14717 펌글 아카이브 동굴로 옮겼음 흑곰 71   2020-03-12 2020-03-12 10:12
글바위가 너무 정신 없어진 것 같아서...  
14716 오토배틀 챌린저스! 마스코트 조합에 관해 노루발 71   2023-07-04 2023-07-04 13:18
목차 1. 마스코트 조합이란? 2. 마스코트 조합의 장점과 단점 3. 마스코트 조합을 어떻게 플레이해야 하는가? 3-1. 마스코트 조합을 선택하는 경우 3-2. 집어야 하는 카드들 3-3. 라운드 별 운영법 4. 마스코트 조합 상대로 어떻게 플레이해야 하는가? 5. 마...  
14715 세상의진리 키아아 72   2006-02-12 2008-03-21 06:44
그것은 인간 인간이라는것은 無에서 나와 有로 살다가 다시 無 로 돌아가는것이다. 그런삶을 왜 사는가. 그것은 더욱더 보람있게 살아서 자신의 心身을 충족시키고 세상을 깨닫는것. 그성이 세상의 진리이자 원칙. 세상은 우왕웅  
14714 기분을 전환시키는 방법좀... [3] 방랑의이군 72   2007-02-03 2008-03-21 15:44
하는 일이 잘 되지 않아서 지루하고 짜증나고 그렇습니다... 기분을 전환하고 즐거워질 수 있는 방법 추천좀  
14713 . 기린의똥 72   2007-06-10 2008-03-21 15:59
생각해봤는데어둠대륙은어두워서안보이지않나 ?  
14712 멘트가 시멘트였어 [1] file 흑곰 72   2019-07-15 2019-07-15 17:41
 
14711 처음으로 학점 4점대를 넘겨봤네요. [8] 외계생물체 72   2019-01-04 2019-01-04 19:57
자랑할 곳이 없어서 여기라도 자랑해봅니다. 헤헤헤헤헤헿헤헿ㅎㅎㅎ  
14710 땅거지라 3일동안은 집에서 인터넷 못 쓰겠네 헣헣 노루발 72   2016-11-28 2016-11-28 08:46
다음달엔 유튜브 보지 말아야겠다....  
14709 [3] ㅋㄹㅅㅇ 73   2019-10-10 2020-03-01 04:52
 
14708 노루발의 퇴계로5가 여행기 [2] 노루발 73   2019-07-04 2020-03-02 01:14
CG125를 사려고 충무로에 왔다. 지하철역 출구를 빠져나오자 화석이 된 오토바이가 보인다. 저런 걸 타는 할아버지들은 3일에 한번씩 센터에 가서 고장난 무엇인가를 고칠 것 같은데 어떻게 타지?? 퇴계로는 생각보다 크지 않다. 동네를 돌아다니다 보면 있는...  
14707 히오스 어떤 특성을 찍어야 할지 모를 때 [2] file 노루발 73   2021-06-09 2021-06-11 11:09