contact 머드클럽 문의하기 카카오톡
즐겨찾기 추가plus 머드클럽이 새롭게 오픈하였습니다!
sub image
[hanlp]마군님 질문입니다. 알려주세요.
member photo 새천사 9 1,659 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을 해준다고 방파일에 저장이 되는건 아니네요.. 와우... 하하하... 정말 재밌네요.... 일단은 저렇게 해 줬는데.. 분명히 부하는 덜 가겠네요... 감사합니다.
코멘트를 삭제할 비밀번호를 입력하세요.
비밀번호:
정회원 이상만 코멘트 쓰기가 가능합니다.
총 게시물 954개 / 검색된 게시물: 954개
글번호   제목 작성자 조회수 싫어요 작성일
  [기타]질문 답변 외 글은 자유 게시판에 올려 주세요... 머드클럽 4341 0 0 2004-01-01
154 [hanlp] 아이디에 대한 질문입니다 [1] verde 1546 0 0 2004-02-02
153 [hanlp] hanlp에서 직업별 능력치 상승치를; [4] verde 1613 0 0 2004-02-02
152 [hanlp] 으아아아~~ 안되~~ [1] 박대성 1581 0 0 2004-02-02
151 [hanlp] 사용횟수 부문..좀 가르쳐주세요 &미카엘& 1670 0 0 2004-02-01
150 [hanlp] 몹이 죽으면 에러가...... [1] 탈퇴 1802 0 0 2004-02-01
149 [hanlp] 머드게임을 만들려면 C언어를 배우면 되나요 [2] 머드제작자 2042 0 0 2004-02-01
148 [hanlp] 아이템떨굼 방지... [1] Xerxes 1674 0 0 2004-02-01
147 [hanlp] 이것저것 질문 -_-. 궁금한거 [1] 박대성 1785 0 0 2004-02-01
146 [hanlp] [참고] 횟수가 저장되는 아이템 예제 ( 쥬데식용 조명탄.c ) [1] MaGuN 2502 0 0 2004-02-01
145 [hanlp] 경매,아탬 사용횟수 이부분 너무 어렵내요 [1] &미카엘& 1664 0 0 2004-02-01
144 [hanlp] 전투할때 몹을 포획해서 같이 하는 식으로 하려고하는데.. [2] &미카엘& 1651 0 0 2004-02-01
143 [hanlp] 아이템에서.. [4] Xerxes 1641 0 0 2004-02-01
142 [hanlp] [참고] 무한대전식 '가' 명령 루틴. 예제. [5] MaGuN 1688 0 0 2004-02-01
141 [hanlp] 이런 -_-. 질문이 너무 많아서.. 이번엔 이동에 관한 질문 -_-a [2] 박대성 1568 0 0 2004-02-01
140 [hanlp] 아이템 기능... [2] 5sigo 2005 0 0 2004-02-01
139 [hanlp] 쥬데직에서요 자동으로 짧게 받는 명령어 --:; 뭐라고하지.. [8] 박대성 1918 0 0 2004-02-01
138 [hanlp] 마군님 질문입니다. 알려주세요. [9] 새천사 1660 0 0 2004-01-31
137 [hanlp] 도움말에 글이 안 나옵니다. [2] 탈퇴 1688 0 0 2004-01-31
136 [hanlp] 쥬데직에서... [1] Xerxes 2024 0 0 2004-01-31
135 [hanlp] 지도 문제..해결좀 부탁해요..ㅠㅠ [2] &미카엘& 1740 0 0 2004-01-31
쪽지를 전송하고 있습니다. 잠시 기다려주세요.
쪽지보내기
받는이(ID/닉네임)
내용
쪽지가 도착하였습니다.
쪽지 내용을 읽어오고 있습니다. 잠시 기다려주세요.
--