/Univ_Network_Sutda

가천대학교 AI·소프트웨어학부(소프트웨어전공) 2학년 2학기 컴퓨터네트워크 텀프로젝트

Primary LanguageJava

Network_TermProject

가천대학교 AI·소프트웨어학부(소프트웨어전공) 2학년 2학기 컴퓨터네트워크 프로젝트
섯다게임을 변형한 섯다 족보와 패를 통한 게임 구성

구현 기능

  • 로그인, 회원가입
    • 회원가입
    • 로그인
  • 로비
    • 로비 채팅
    • 로비 대기 유저 목록
    • 개설된 게임룸 리스트 출력
  • 게임 룸 대기방
    • 게임 룸 대기방 채팅, 대기방에서 자신과 상대방의 닉네임과 전적 출력
    • 게임 룸 대기방에서 플레이어 2명 준비 완료 시 게임 시작
    • 게임 룸 대기방에서 로비로 돌아가기
  • 게임 룸 진행방
    • 게임 룸 진행방 채팅, 섯다 패 출력, 섯다 패에 따른 족보 결과 출력
    • 게임 룸 진행방에서 플레이어 2명 준비 완료시 게임 재시작
    • 게임 룸 진행방에서 로비로 1명이라도 돌아간다면 게임 룸 유저 모두 로비로 이동

요약

네트워크를 통해 1대 1 단판 섯다 게임입니다

섯다 족보를 따라 승패가 갈리며 단판 섯다이므로 재결투에 해당하는 족보는 제외하였습니다.

DB를 통해 로그인 데이터를 저장하며 로그인, 회원가입, 전적 검색 시에 사용됩니다.

서버가 room 과 DB 각각의 클라이언트와 연결되어있습니다

각 클라이언트는 Frame을 통해 로그인, 회원가입, 로비, 게임 대기방, 게임 진행방을 갖고 있습니다.

로그인 시에 로비에서는 로비에 접속 중인 유저와 생성된 방의 목록, 채팅 기능을 사용할 수 있습니다.

방을 생성하거나 방을 입장할 시에 DB로부터 최근 전적의 기록을 불러옵니다

게임룸 대기방에서 자신과 상대방의 닉네임과 승패 기록을 볼 수 있습니다.

두 명의 유저가 모두 준비 완료 버튼을 눌렀을때 게임이 시작되며 게임 시작과 동시에 패 4장을 통해 게임이 종료됩니다.

게임 진행방에서는 결과창을 통해 결과를 확인할 수 있습니다.

게임룸 진행방에서 재대결을 원할 시 채팅을 이용해 서로 대화를 통해 두 명의 유저가 재대결 버튼을 누르면 실행됩니다.

한명의 유저라도 진행방에서 로비로 돌아가게되면 남아 있던 한명의 유저 또한 로비로 돌아가게 구현되었습니다.

구동 Demo 영상 링크

https://youtu.be/PX48unh1lgo