9Comments
MaGuN
2004.01.31(토) 오후 05:15:56
어디서 사용할건지에 따라서 여러가지 방법이 있습니다만..
루프를 돌려서 처리하는 방법도 있겠구요..
가령 여러줄로 되어 있는 화일을 읽어 들여서..
이것을 \n 으로 나눈다음에 루프를 돌리면서 한줄씩 처리하는 방법...이라든지..
아니면 replac_string() 함수를 이용해서 변환하는 방법도 있습니다.
예를 들어서....
string msg;
msg = "abcd123";
msg = replac_string(msg,"cd","CD");
write(msg);
이렇게 하면 adCD123 이렇게 출력이 될겁니다.
만약.. 룸의 설명(긴설명)을 출력할때..
앞에 두칸의 공백을 두고 싶다면..
보는 루틴에서 일일히 루프를 돌린다든지 하면 사용자가
룸을 볼때나 이동할때 그만큼 부하가 더 갈테니깐요..
저 같으면 아예 룸을 컨버팅 하는 명령을 하나 만들어서
디렉토리에 있는 룸.c 화일들을 하나씩 불러들여서.. 수정하고
다시 저장해주는 방식으로 처리할것 같습니다.
루프를 돌려서 처리하는 방법도 있겠구요..
가령 여러줄로 되어 있는 화일을 읽어 들여서..
이것을 \n 으로 나눈다음에 루프를 돌리면서 한줄씩 처리하는 방법...이라든지..
아니면 replac_string() 함수를 이용해서 변환하는 방법도 있습니다.
예를 들어서....
string msg;
msg = "abcd123";
msg = replac_string(msg,"cd","CD");
write(msg);
이렇게 하면 adCD123 이렇게 출력이 될겁니다.
만약.. 룸의 설명(긴설명)을 출력할때..
앞에 두칸의 공백을 두고 싶다면..
보는 루틴에서 일일히 루프를 돌린다든지 하면 사용자가
룸을 볼때나 이동할때 그만큼 부하가 더 갈테니깐요..
저 같으면 아예 룸을 컨버팅 하는 명령을 하나 만들어서
디렉토리에 있는 룸.c 화일들을 하나씩 불러들여서.. 수정하고
다시 저장해주는 방식으로 처리할것 같습니다.
MaGuN
2004.01.31(토) 오후 05:32:12
참고로 replac_string() 함수는 잘 사용되진 않지만..
간간히 아주 유용한 부분에 사용할수 있습니다.
예를 들어서 말에 "나쁜놈" 이라는 단어가 있는지 보고..
이 단어를 "***" 이렇게 나오게 출력해 준다든지..
무한대전식의 안시 사용법처럼 {빨 이런 부분을 안시코드로 바꿔준다든지
할때 유용하게 사용됩니다.
간간히 아주 유용한 부분에 사용할수 있습니다.
예를 들어서 말에 "나쁜놈" 이라는 단어가 있는지 보고..
이 단어를 "***" 이렇게 나오게 출력해 준다든지..
무한대전식의 안시 사용법처럼 {빨 이런 부분을 안시코드로 바꿔준다든지
할때 유용하게 사용됩니다.
새천사
2004.01.31(토) 오후 05:42:13
1줄:아름다운 방입니다.\n
2줄:당신은 알수 없는 힘에 이끌려 갑니다.\n
3줄:바보같은 소리인가요?\n
이렇게 하면여? *^^* 어디에 사용할꺼냐면여. 천명 지도 같이 나오게 해 달라고 하셔서 그거 만들어 볼려구여.
좋은 방법이 있나요? *^^*
2줄:당신은 알수 없는 힘에 이끌려 갑니다.\n
3줄:바보같은 소리인가요?\n
이렇게 하면여? *^^* 어디에 사용할꺼냐면여. 천명 지도 같이 나오게 해 달라고 하셔서 그거 만들어 볼려구여.
좋은 방법이 있나요? *^^*
MaGuN
2004.01.31(토) 오후 05:48:55
천명이 어떻게 되어있는지를 몰라서요 -_-;;;; 잠시 접속해 보고 오겠습니다. ㅠㅠ
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];
이라고 해 주면 될것 같습니다.
지도를 출력해 주는 부분에서 처리를 하면 될거 같습니다.
음... 예를 들어서
룸의 설명이 다음과 같다고 가정을 해 보겠습니다.
아름다운 방입니다.\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];
이라고 해 주면 될것 같습니다.
MaGuN
2004.01.31(토) 오후 06:08:15
근데 매번 봐를 할때마다 그런식의 루틴들이 실행이 되는부분에는
좀 불만이네요... 일단 정상적으로 한번 출력하고 난 뒤에는 그 부분을
룸에다가 set 해 놓고.. 사용자가 봐 라고 치거나 이동할때 사용하는 부분에서
셋팅된 값이 있으면 그냥 불러서 뿌려 주고.. 없으면 루틴이 동작하게 하는것도
생각해 볼만 하네요 ^^
좀 불만이네요... 일단 정상적으로 한번 출력하고 난 뒤에는 그 부분을
룸에다가 set 해 놓고.. 사용자가 봐 라고 치거나 이동할때 사용하는 부분에서
셋팅된 값이 있으면 그냥 불러서 뿌려 주고.. 없으면 루틴이 동작하게 하는것도
생각해 볼만 하네요 ^^
새천사
2004.01.31(토) 오후 07:35:58
아... 고맙습니다. *^^*
역시 고수님은 다르십니다. *^^*
음.. 해결 됐네요... 음... 근데 한번 읽은거 어떻게 음....
아직 LP에 익숙하지 않아서... 음.. set을 한다.. 음... *^^*
역시 고수님은 다르십니다. *^^*
음.. 해결 됐네요... 음... 근데 한번 읽은거 어떻게 음....
아직 LP에 익숙하지 않아서... 음.. set을 한다.. 음... *^^*
MaGuN
2004.01.31(토) 오후 07:46:25
사용자에게 지도와 룸의 설명을 뿌려줄때.. 아마 특정한 string 변수에다가 저장을
시켜서 화면에 뿌려 주지 않나요?
예를 들어서...
msg += "지도의1번째줄";
msg += "지도의2번째줄"+" "+"룸설명1번째줄";
.........
이런식으로 말입니다..
그렇다면 사용자에게 출력해 주기전에..
room->set("방설명",msg);
이걸 하나 해 놓고 뿌려 주는겁니다.
그리고 룸을 보는 함수의 윗쪽에
if( room->query("방설명") ) ==>방설명을 뿌려준다.
else ==> 방설명을 만들어서 뿌려준다.
이런식으로 하면 제일 처음에 누군가가 룸에 오게 되면..
방설명을 만들기 때문에 약간의 부하는 걸리겠지만...
두번째 부터는 룸에 있는 문자열셋팅을 읽어서 뿌려만
주면 되니깐.. 부하가 훨씬 덜 가게 됩니다.
시켜서 화면에 뿌려 주지 않나요?
예를 들어서...
msg += "지도의1번째줄";
msg += "지도의2번째줄"+" "+"룸설명1번째줄";
.........
이런식으로 말입니다..
그렇다면 사용자에게 출력해 주기전에..
room->set("방설명",msg);
이걸 하나 해 놓고 뿌려 주는겁니다.
그리고 룸을 보는 함수의 윗쪽에
if( room->query("방설명") ) ==>방설명을 뿌려준다.
else ==> 방설명을 만들어서 뿌려준다.
이런식으로 하면 제일 처음에 누군가가 룸에 오게 되면..
방설명을 만들기 때문에 약간의 부하는 걸리겠지만...
두번째 부터는 룸에 있는 문자열셋팅을 읽어서 뿌려만
주면 되니깐.. 부하가 훨씬 덜 가게 됩니다.
새천사
2004.01.31(토) 오후 08:28:12
하하.. LP 디게 좋네요.. 저게 set을 해준다고 방파일에 저장이 되는건 아니네요.. 와우... 하하하... 정말 재밌네요.... 일단은 저렇게 해 줬는데.. 분명히 부하는 덜 가겠네요... 감사합니다.
코멘트를 삭제할 비밀번호를 입력하세요.
정회원 이상만 코멘트 쓰기가 가능합니다.
총 게시물 954개 / 검색된 게시물: 954개
글번호 | 제목 | 작성자 | 조회수 | 좋아요 | 싫어요 | 작성일 | |
---|---|---|---|---|---|---|---|
[기타]질문 답변 외 글은 자유 게시판에 올려 주세요... | 머드클럽 | 4341 | 0 | 0 | 2004-01-01 | ||
154 | [hanlp] 아이디에 대한 질문입니다 [1] | verde | 1548 | 0 | 0 | 2004-02-02 | |
153 | [hanlp] hanlp에서 직업별 능력치 상승치를; [4] | verde | 1616 | 0 | 0 | 2004-02-02 | |
152 | [hanlp] 으아아아~~ 안되~~ [1] | 박대성 | 1581 | 0 | 0 | 2004-02-02 | |
151 | [hanlp] 사용횟수 부문..좀 가르쳐주세요 | &미카엘& | 1672 | 0 | 0 | 2004-02-01 | |
150 | [hanlp] 몹이 죽으면 에러가...... [1] | 탈퇴 | 1804 | 0 | 0 | 2004-02-01 | |
149 | [hanlp] 머드게임을 만들려면 C언어를 배우면 되나요 [2] | 머드제작자 | 2044 | 0 | 0 | 2004-02-01 | |
148 | [hanlp] 아이템떨굼 방지... [1] | Xerxes | 1676 | 0 | 0 | 2004-02-01 | |
147 | [hanlp] 이것저것 질문 -_-. 궁금한거 [1] | 박대성 | 1787 | 0 | 0 | 2004-02-01 | |
146 | [hanlp] [참고] 횟수가 저장되는 아이템 예제 ( 쥬데식용 조명탄.c ) [1] | MaGuN | 2505 | 0 | 0 | 2004-02-01 | |
145 | [hanlp] 경매,아탬 사용횟수 이부분 너무 어렵내요 [1] | &미카엘& | 1666 | 0 | 0 | 2004-02-01 | |
144 | [hanlp] 전투할때 몹을 포획해서 같이 하는 식으로 하려고하는데.. [2] | &미카엘& | 1652 | 0 | 0 | 2004-02-01 | |
143 | [hanlp] 아이템에서.. [4] | Xerxes | 1643 | 0 | 0 | 2004-02-01 | |
142 | [hanlp] [참고] 무한대전식 '가' 명령 루틴. 예제. [5] | MaGuN | 1690 | 0 | 0 | 2004-02-01 | |
141 | [hanlp] 이런 -_-. 질문이 너무 많아서.. 이번엔 이동에 관한 질문 -_-a [2] | 박대성 | 1569 | 0 | 0 | 2004-02-01 | |
140 | [hanlp] 아이템 기능... [2] | 5sigo | 2008 | 0 | 0 | 2004-02-01 | |
139 | [hanlp] 쥬데직에서요 자동으로 짧게 받는 명령어 --:; 뭐라고하지.. [8] | 박대성 | 1920 | 0 | 0 | 2004-02-01 | |
138 | [hanlp] 마군님 질문입니다. 알려주세요. [9] | 새천사 | 1662 | 0 | 0 | 2004-01-31 | |
137 | [hanlp] 도움말에 글이 안 나옵니다. [2] | 탈퇴 | 1688 | 0 | 0 | 2004-01-31 | |
136 | [hanlp] 쥬데직에서... [1] | Xerxes | 2027 | 0 | 0 | 2004-01-31 | |
135 | [hanlp] 지도 문제..해결좀 부탁해요..ㅠㅠ [2] | &미카엘& | 1742 | 0 | 0 | 2004-01-31 |