글쎄 진흙탕 같은 것을 만들고 다른 곳에서도 사용할 수있는 연습을하기로 마음 먹었습니다.하지만 한 가지 문제가 있습니다 ... 나는 사용자를 어떻게 만들지 모르겠다. 대신 실제 상자에 입력 할 수있는 텍스트 필드자바에서 진흙 프로그래밍에 대한 도움말
내가 더 잘 설명하고 싶지만 난 정말
글쎄 진흙탕 같은 것을 만들고 다른 곳에서도 사용할 수있는 연습을하기로 마음 먹었습니다.하지만 한 가지 문제가 있습니다 ... 나는 사용자를 어떻게 만들지 모르겠다. 대신 실제 상자에 입력 할 수있는 텍스트 필드자바에서 진흙 프로그래밍에 대한 도움말
내가 더 잘 설명하고 싶지만 난 정말
것은 당신이 머드 클라이언트에 대해 이야기하고 같은 창에 텍스트를 입력하는 경우 어떻게 생각할 수 없다 결과물은 터미널에서 맨 처음 텔넷을 통해 MUD를 재생할 때와 동일한 문제가 발생하는 것처럼 들립니다. 입력하는 텍스트는 입력 할 때 사라져 보이지 않으므로 편집 할 때 등 내가 할 수있는 별도의 필드가 있다고 생각합니다. 입력하기 전에 필요한 경우 편집하는 것은 좋은 일입니다.
그냥 서버에 집중할 수 있으며 사용자 (관리자)도 zMUD와 같은 MUD 클라이언트 중 하나를 통해 연결할 수 있습니다. 나는 당신의 질문을 잘못 해석 할 수도 있습니다. MUD를 만드는 데는 엄청난 양의 물건이 포함되어 있기 때문에 대부분의 사람들은 처음부터 시작할 때 실행 가능한 게임을 실행하고 실행하지 않습니다.하지만 그 노력으로 인해 많은 것을 배울 수 있습니다. 나는 그 자신을했지만 서버 만 - 클라이언트 프로그램이나 GUI 인터페이스로는 아무것도하지 않았다.
는 편집은 영업 이익의 코멘트 응답 한 후, 추가 : 도움이된다면
보고이 일 튜토리얼에서 살펴 보자 :
http://java.sun.com/docs/books/tutorial/uiswing/components/textarea.html
첫 번째 예는 입력에 대해 별도의 필드를 사용하여, 아래로 스크롤하여 "TextAreaDemo"예제에 필요한 것을 보여줄 수 있습니다.
오, 아니, 내 질문에 맞아, 나는 또한 내가 만들고있는 다른 프로그램에 대한 내 자신의 명령 프롬프트 유형 일을 만들기 위해 사용하고자하는 kindof했다, 나는 문제를 스크롤 텍스트 인식하지만 여전히 방법을 알고 싶습니다 해. –
나는 그 모든 예제 코드를 잘 이해하지 못한다. 그러나 내가 얻은 것이 정확하다면, 문서가 단어의 끝에 캐럿 위치에서 거꾸로 읽히도록 만드는 것이 전부 일까? –
아니요 - 내가보고있는 부분에서 프로그램이 자동 완성할 단어를 확인하고 있습니다. 기본적으로 필드의 텍스트에 0부터 시작하는 인덱스로 작업합니다. 이 예제에서 프로그램이 감지하는 사용자의 삽입 이벤트의 경우 해당 색인은 ev.getOffset()을 사용하여 가져오고 프로그램 자체가 텍스트를 필드에 삽입 할 때 textArea.insert를 사용하여 수행합니다. 한 곳에서 그들은 그것을 오프셋과 다른 위치로 부르고 있지만, 두 경우 모두 동작이 일어나는 곳의 인덱스는 0입니다. – Anon
진흙은 그렇게 복잡하지 않습니다. 내 생각에 당신이 묻는 질문에 대한 대답은 TCP/IP 텔넷 포트를 사용해야한다는 것입니다.
텔넷은 아주 간단합니다. 포트를 열고 데이터 읽기를 시작합니다. 정보가 많으며 도움이되는 몇 가지 라이브러리가 있습니다. (텔넷은 표준 포트 일 뿐이지 만 처음에는 계속 진행되는 "협상"이라는 예외가 있습니다. 단지 몇 바이트를 앞뒤로 보내는 것이지만, 그렇게하지 않으면 아무 일도 일어나지 않습니다) .
그래서 코드를 작성하고 포트 청취를 시작합니다 (4444는 일반적인 MUD 포트 iirc였습니다). 그런 다음 텔넷 클라이언트를 실행하고 해당 포트에 연결합니다. 전화를 걸면 각 포트마다 새 포트 연결이 생성됩니다. 입력하는 내용을 감시하고 백 스페이스를 처리하며 완료된 명령을 주된 진흙 시스템에 보낼 수있는 스레드를 가지고 있습니다 (많은 포트가 한 번에 명령 보내기).
실제로는 꽤 쉽습니다. 자바가 시작될 텔넷 라이브러리를 찾으십시오.
빠른 검색은 telnet도 처리하는 JavaSSH입니다.
편집 : 나는 그들 중 하나를 만들기가 쉽지 않다는 것을 지적해야합니다! 지도, 장비 및 괴물을 모든 데이터를 조작하여 모든 괴물에 대해 다시 작성할 필요가 없도록하는 것은 몇 가지 고려 사항입니다. 첫 번째 기사를 작성하고 결정하기 전에 한 달 동안 사용하게 될 것 중 하나입니다 그것은 처음부터 다시 써야합니다.
이미 밖으로 나가고있는 진흙 소스를 조사하고 싶을 수도 있습니다. 나는 작고 이해하기 쉬운 diku를 발견했습니다.
좋아, 이걸 찌를거야.'텔넷 (telnet) '이나 다른 머드 클라이언트로 연결할 수있는 서버를 만드는 방법을 모른다는 뜻입니까? – erickson
아니 사용자 입력에 대한 의미, 나는 사용자가 출력 섹션에 입력 할 수있는 방법을 모르겠다, 그것은 사용자 정의 GUI입니다. –
아 - 모든 MUD 관심사를 가진 우리 모두는 그 일에 집중하기를 열망했습니다. 내 대답에 추가 한 내용을 참조하십시오. – Anon