contact 머드클럽 문의하기 카카오톡
즐겨찾기 추가plus 머드클럽이 새롭게 오픈하였습니다!
sub image
[hanlp]마군님 질문입니다. 알려주세요.
member photo 새천사 9 1,620 0 2004-01-31 17:02:34
0
9Comments
member photo
MaGuN 2004.01.31(토) 오후 05:15:56
어디서 사용할건지에 따라서 여러가지 방법이 있습니다만..

루프를 돌려서 처리하는 방법도 있겠구요..
가령 여러줄로 되어 있는 화일을 읽어 들여서..
이것을 \n 으로 나눈다음에 루프를 돌리면서 한줄씩 처리하는 방법...이라든지..

아니면 replac_string() 함수를 이용해서 변환하는 방법도 있습니다.
예를 들어서....
string msg;
msg = "abcd123";
msg = replac_string(msg,"cd","CD");
write(msg);
이렇게 하면 adCD123 이렇게 출력이 될겁니다.

만약.. 룸의 설명(긴설명)을 출력할때..
앞에 두칸의 공백을 두고 싶다면..
보는 루틴에서 일일히 루프를 돌린다든지 하면 사용자가
룸을 볼때나 이동할때 그만큼 부하가 더 갈테니깐요..
저 같으면 아예 룸을 컨버팅 하는 명령을 하나 만들어서
디렉토리에 있는 룸.c 화일들을 하나씩 불러들여서.. 수정하고
다시 저장해주는 방식으로 처리할것 같습니다.
member photo
MaGuN 2004.01.31(토) 오후 05:32:12
참고로 replac_string() 함수는 잘 사용되진 않지만..
간간히 아주 유용한 부분에 사용할수 있습니다.
예를 들어서 말에 "나쁜놈" 이라는 단어가 있는지 보고..
이 단어를 "***" 이렇게 나오게 출력해 준다든지..

무한대전식의 안시 사용법처럼 {빨 이런 부분을 안시코드로 바꿔준다든지
할때 유용하게 사용됩니다.
member photo
새천사 2004.01.31(토) 오후 05:42:13
1줄:아름다운 방입니다.\n
2줄:당신은 알수 없는 힘에 이끌려 갑니다.\n
3줄:바보같은 소리인가요?\n
이렇게 하면여? *^^* 어디에 사용할꺼냐면여. 천명 지도 같이 나오게 해 달라고 하셔서 그거 만들어 볼려구여.
좋은 방법이 있나요? *^^*
member photo
MaGuN 2004.01.31(토) 오후 05:48:55
천명이 어떻게 되어있는지를 몰라서요 -_-;;;; 잠시 접속해 보고 오겠습니다. ㅠㅠ
member photo
MaGuN 2004.01.31(토) 오후 06:04:41
들어가 보니.. 저번에 들어가서 게임을 해 봤던 기억이 나는군요.. 침핸가 봅니다. ㅠㅠ

지도를 출력해 주는 부분에서 처리를 하면 될거 같습니다.
음... 예를 들어서
룸의 설명이 다음과 같다고 가정을 해 보겠습니다.

아름다운 방입니다.\n
당신은 알수 없는 힘에 이끌려 갑니다.\n
바보같은 소리인가요?\n

그럼 루틴을 대략 다음 처럼 만들면 되지 않을까 싶은데요..

string room_msg, *tmp_msg;

/* 먼저 룸의 긴설명을 room_msg 라는 변수에 넣습니다. */
room_msg = room->query("긴설명");

/* tmp_msg 라는 스트링배열에 긴설명을 한줄씩 넣습니다. */
tmp_msg = explode(room_msg,"\n");

/* 이때 tmp_msg 변수는 ({ "아름다움 방입니다.", "당신은 알수...", "바보같은.." })
이런식으로 저장이 됩니다.
*/

지도를 출력하면서 두번째 줄을 출력하는 부분에서 에서 \n을 출력하기 전에
if( tmp_msg[0] && tmp_msg[0] != "" ) 두번째줄 += tmp_msg[0];
이라고 해 주면 될것 같습니다.
member photo
MaGuN 2004.01.31(토) 오후 06:08:15
근데 매번 봐를 할때마다 그런식의 루틴들이 실행이 되는부분에는
좀 불만이네요... 일단 정상적으로 한번 출력하고 난 뒤에는 그 부분을
룸에다가 set 해 놓고.. 사용자가 봐 라고 치거나 이동할때 사용하는 부분에서
셋팅된 값이 있으면 그냥 불러서 뿌려 주고.. 없으면 루틴이 동작하게 하는것도
생각해 볼만 하네요 ^^
member photo
새천사 2004.01.31(토) 오후 07:35:58
아... 고맙습니다. *^^*
역시 고수님은 다르십니다. *^^*
음.. 해결 됐네요... 음... 근데 한번 읽은거 어떻게 음....
아직 LP에 익숙하지 않아서... 음.. set을 한다.. 음... *^^*
member photo
MaGuN 2004.01.31(토) 오후 07:46:25
사용자에게 지도와 룸의 설명을 뿌려줄때.. 아마 특정한 string 변수에다가 저장을
시켜서 화면에 뿌려 주지 않나요?

예를 들어서...
msg += "지도의1번째줄";
msg += "지도의2번째줄"+" "+"룸설명1번째줄";
.........
이런식으로 말입니다..

그렇다면 사용자에게 출력해 주기전에..
room->set("방설명",msg);
이걸 하나 해 놓고 뿌려 주는겁니다.

그리고 룸을 보는 함수의 윗쪽에
if( room->query("방설명") ) ==>방설명을 뿌려준다.
else ==> 방설명을 만들어서 뿌려준다.

이런식으로 하면 제일 처음에 누군가가 룸에 오게 되면..
방설명을 만들기 때문에 약간의 부하는 걸리겠지만...
두번째 부터는 룸에 있는 문자열셋팅을 읽어서 뿌려만
주면 되니깐.. 부하가 훨씬 덜 가게 됩니다.
member photo
새천사 2004.01.31(토) 오후 08:28:12
하하.. LP 디게 좋네요.. 저게 set을 해준다고 방파일에 저장이 되는건 아니네요.. 와우... 하하하... 정말 재밌네요.... 일단은 저렇게 해 줬는데.. 분명히 부하는 덜 가겠네요... 감사합니다.
코멘트를 삭제할 비밀번호를 입력하세요.
비밀번호:
정회원 이상만 코멘트 쓰기가 가능합니다.
총 게시물 943개 / 검색된 게시물: 943개
글번호   제목 작성자 조회수 싫어요 작성일
  [기타]질문 답변 외 글은 자유 게시판에 올려 주세요... 머드클럽 4281 0 0 2004-01-01
143 [hanlp] 아이템에서.. [4] Xerxes 1604 0 0 2004-02-01
142 [hanlp] [참고] 무한대전식 '가' 명령 루틴. 예제. [5] MaGuN 1652 0 0 2004-02-01
141 [hanlp] 이런 -_-. 질문이 너무 많아서.. 이번엔 이동에 관한 질문 -_-a [2] 박대성 1526 0 0 2004-02-01
140 [hanlp] 아이템 기능... [2] 5sigo 1817 0 0 2004-02-01
139 [hanlp] 쥬데직에서요 자동으로 짧게 받는 명령어 --:; 뭐라고하지.. [8] 박대성 1872 0 0 2004-02-01
138 [hanlp] 마군님 질문입니다. 알려주세요. [9] 새천사 1621 0 0 2004-01-31
137 [hanlp] 도움말에 글이 안 나옵니다. [2] 탈퇴 1650 0 0 2004-01-31
136 [hanlp] 쥬데직에서... [1] Xerxes 1976 0 0 2004-01-31
135 [hanlp] 지도 문제..해결좀 부탁해요..ㅠㅠ [2] &미카엘& 1701 0 0 2004-01-31
134 [hanlp] 잡담이 이상하네요 [7] 5sigo 1851 0 0 2004-01-31
133 [hanlp] 전투방식을 바꿀려고요.. [1] &미카엘& 1627 0 0 2004-01-31
132 [hanlp] 아이템에 능력치제한... [1] Xerxes 1920 0 0 2004-01-31
131 [기타] [제3의눈]에서 패거리 초기화 하는법좀!!!!!!! [1] 데모닉 1568 0 0 2004-01-30
130 [hanlp] 천명이라두 -_-;; 올려주세요 -_-;; [3] &미카엘& 1894 0 0 2004-01-30
129 [hanlp] 초보님 야망 소스좀 올려주세요. [1] &미카엘& 1674 0 0 2004-01-30
128 [hanlp] 십웅기에 천명 지도 부분 추가 시킬려고 삽질 하는데 막혀서 올립니다 ㅠ 초보 1803 0 0 2004-01-30
127 [hanlp] 야망 소스 구합니다. &미카엘& 1727 0 0 2004-01-30
126 [hanlp] 죽을때 경험치,돈 떨어뜨리는거[미해결+] [3] 5sigo 1947 0 0 2004-01-30
125 [hanlp] 십웅기 지도좀 만들어주세요~~ [1] 1607 0 0 2004-01-30
124 [hanlp] 멀티 접속 방지 좀 만들어주세요 ㅠㅠ [3] &미카엘& 1745 0 0 2004-01-29
쪽지를 전송하고 있습니다. 잠시 기다려주세요.
쪽지보내기
받는이(ID/닉네임)
내용
쪽지가 도착하였습니다.
쪽지 내용을 읽어오고 있습니다. 잠시 기다려주세요.
--