유저 간에 숫자 카드 대결을 진행하는 게임
게임을 통해 점수를 획득하거나 잃으며, 누적 점수에 따라 랭킹이 매겨짐
- 회원가입
- Django 기본 로그인을 위한 회원가입이 가능함
- 로그인
- Django 기본 로그인 또는 소셜 로그인(카카오) 중 선택
-
공격하기 (유저
n이 유저m을 선택하여 공격)- 1~10 사이의 숫자 중 랜덤으로 5개가 제공됨
- 그중 하나를 선택하여 상대 유저
m에게 게임을 걸 수 있음
-
게임 요청 확인 (유저
m이 로그인 후 확인)m이 로그인하여 게임 리스트에서n이 보낸 도전을 확인m또한 숫자 카드를 선택하여 반격할 수 있음
-
대결 결과 확인
- 랜덤하게 결정된 승리 조건에 따라 자신의 카드 숫자만큼 점수 획득/차감
- 숫자가 같으면 무승부 (점수 변동 없음)
-
게임 전적 관리
- 진행 중인 게임은 취소 가능 (
n이 상대의 반격 전 취소 가능) - 종료된 게임은 결과 확인 가능
- 진행 중인 게임은 취소 가능 (
-
랭킹 시스템
- 모든 게임에서 획득/차감된 점수를 합산하여 랭킹으로 표시
- 로그인 전: 일반 로그인 또는 소셜 로그인 선택 가능
- 로그인 후: 유저의 게임 진행 현황 및 시작 버튼 제공
- 랜덤 숫자 카드 5개 제공, 그중 하나 선택
- 공격할 상대 유저 선택 가능
- 진행 중인 게임: 상대가 반격하지 않았다면 취소 가능
- 반격 가능 게임: 상대가 도전한 게임을 확인 후 반격 가능
- 종료된 게임: 결과 확인 가능
- 진행 중인 게임
- 반격 대기 중인 게임
- 완료된 게임의 결과
- 반격 완료 후 즉시 결과 확인 가능
- 반격 버튼이 사라지고 게임 결과가 표시되는 것을 확인할 수 있음
- 모든 유저의 누적 점수를 기준으로 랭킹화
- Frontend: HTML, CSS
- Backend: Python, Django
- Database: SQLite
- Authentication: Django Allauth (소셜 로그인 포함)
- 피로그래밍 22기 4주차 팀 과제
- 장재훈: 카카오 로그인 기능, 랭킹 페이지 구현
- 김재원, 한종서: main(list) 페이지, 대결 기능, 반격 기능 구현, 게임 결과 렌더링
- 이주원: CSS
- 조주영: 로그인, 회원가입, 인트로 페이지 구현, background_img 디자인