Skip to content

[Client] Console Text MUD Game Project using TCP/IP with Java

Notifications You must be signed in to change notification settings

yuny0623/Java-MUD-Game-Client

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

82 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎮 Java MUD Game Project - Client

🍀 Project Intro

🌊 프로젝트 소개
    1️⃣ MUD: Multi User Dungeon은 초기 온라인 게임의 한 형태이다. 
    2️⃣ 여러 사용자가 RPG 배경의 던전을 탐험한다는 이름에서 MUD라는 이름이 붙었다. 
    3️⃣ 당시 GUI가 없었기 때문에 텍스트로 입력을 주고 텍스트 출력을 얻는 형태이다.
    4️⃣ 해당 MUD 게임용 Server와 Client를 만들어보도록 한다. 
 
💾 클라이언트 기능 소개 
   1️⃣ 사용자 입력 처리 
   2️⃣ 서버로부터 받은 텍스트 출력 처리 
   
📑 게임 명령어 
   1️⃣ move x y
   2️⃣ attack
   3️⃣ monsters
   4️⃣ users
   5️⃣ chat <username> <message>
   6️⃣ potion hp
   7️⃣ potion str 
   8️⃣ bot 
   9️⃣ exit bot 

👍 Game Rule

🌏 Map 
   1️⃣ 게임은 30x30 크기의 던전을 가정한다. 
   
🏃 User 
   1️⃣ 사용자는 최초 로그인하면 던전의 임의의 위치에 떨어진다. 
   2️⃣ 5분 이내에 재접속하지 않으면 로그인 정보가 사라진다. 
   3️⃣ 동시 접속 시 기존 접속을 강제 종료한다. 
   4️⃣ 사용자의 체력 기본값은 30이다. 
   5️⃣ 사용자의 기본 공격력은 3이다.
   6️⃣ 사용자의 기본 체력 회복 포션은 1개이다. 
   7️⃣ 사용자의 기본 공격력 강화 포션은 1개이다. 
   
🐞 Monster 
   1️⃣ 1분에 한번씩 몬스터가 10마리가 되도록 생성된다. 
   2️⃣ 몬스터의 생성 위치는 랜덤이다. 
   3️⃣ 몬스터는 5~10 사이의 랜덤한 체력(hp)을 부여받는다. 
   4️⃣ 몬스터는 3~5 사이의 랜덤한 공격력(str)을 부여받는다. 
   5️⃣ 몬스터는 랜덤한 개수의 체력 회복 포션과 공격력 강화 포션을 갖고 있다. 
   6️⃣ 사용자가 몬스터를 죽이면 몬스터가 갖고 있던 포션이 사용자에게 주어진다. 
   7️⃣ 몬스터는 자기 좌표 기준 주변의 [-1,-1] ~ [1,1] 사이의 9칸의 유저를 5초 간격으로 공격한다. 

🍹 Item 
   1️⃣ 체력 회복 포션: 체력(hp)을 10 회복시킨다. 
   2️⃣ 공격력 강화 포션: 1분 동안 공격력(str)을 +3 증가시킨다. 

📓 Command Intro

🏃 move x y
    현재 좌표에서 x, y 만큼 이동한다. x, y는 각각 3이하로 움직인다. 
   
💥 attack 
    현재 좌표 기준 [-1,1] ~ [1,1]까지 9칸 영역에 대해 몬스터를 공격한다.  
    
🐺 monsters
    몬스터들의 좌표를 나열한다. 
    
👪 users
    유저의 이름과 좌표를 나열한다. 
    
📢 chat <username> <message>
    주어진 유저이름의 유저에게 대화 내용을 전달한다. 
    
🍖 potion hp 
    체력 증가 포션을 복용한다.     
        
🍸 potion str 
    공격력 증가 표션을 복용한다. 
    
🎰 bot 
    Bot 모드를 활성화한다. Bot 모드에서는 랜덤한 명령어를 1초마다 임의로 골라 수행한다. 
    
🚧 exit bot 
    Bot 모드를 종료한다. 

❓ How to use

💻 Windows 
    1️⃣ gradlew build 
    2️⃣ *.jar 파일 실행 
   
🍎 Linux/Mac
    1️⃣ ./gradlew build 
    2️⃣ *.jar 파일 실행 

🔗 Game Client Download

🚦 Notice 
    1️⃣ Java 17 권장
    2️⃣ java -jar game-client.jar 

Game Client Download

📲 Tech

⛵ Java 17
⚓ Gradle 
🚣 TCP/IP Socket Programming
🚀 json-simple

📚 Reference

🔗 Game Server Repository

서버 리포지토리

Releases

No releases published

Packages

No packages published