VSC

티쳐블 머신을 이용한 간단한 가위바위보 게임

qoeka 2025. 2. 9. 23:19

https://www.kaggle.com/datasets/alexandredj/rock-paper-scissors-dataset

 

Rock-Paper-Scissors-Dataset

My dataset contribution to Rock-Paper-Scissors CNN training algorithms.

www.kaggle.com

 

 

 

 

다운받은 모델을 파일을 만들어 넣어준다

 

 

 

 

 

알아보기 쉽고 나중에 수정하기도 쉽게 파일을 나눠준뒤 각각의 파일을 임폴트 시켜준다

 

 

run_game은 Streamlit을 활용하여 "가위바위보 몬스터 배틀" 게임을 실행하는 프로그램이다. 티쳐블 머신이 알려준 아래의 코드를 응용하였다.

 

 

  1. 승리 기록 관리
    • win_records.csv 파일을 사용해 승리 기록을 저장하며, 파일이 없을 경우 자동으로 생성한다.
    • 데이터를 불러와 랭킹을 표시할 수 있도록 준비한다.
  2. Streamlit UI 구성
    • st.title()을 이용해 게임 제목을 표시한다.
    • st.sidebar.radio()를 통해 "게임 설정"과 "게임 시작" 메뉴를 제공한다.
  3. 게임 설정 (게임 설정 메뉴 선택 시)
    • 가위바위보 게임 방법 및 규칙을 안내한다.
    • 사용자가 닉네임을 입력할 수 있도록 st.text_input()을 제공한다.
    • 몬스터의 MP(체력)를 st.radio()를 이용해 선택할 수 있도록 한다.
    • 선택한 MP를 기반으로 기존 승리 기록을 불러와 랭킹을 표시한다.
    • 사용자의 현재 랭킹을 확인할 수 있도록 한다.
  4. 게임 시작 (게임 시작 메뉴 선택 시)
    • run_game() 함수를 호출하여 실제 게임을 실행한다.

 

run_eda()에서는 game_run을 임폴트하여 같이 활용한 코드이

1. 승리 기록 관리

  • win_records.csv 파일을 이용하여 승리 기록을 저장 및 불러온다.
  • 파일이 없을 경우 기본 컬럼을 가진 CSV 파일을 자동으로 생성한다.

2. Streamlit UI 구성

  • st.title()을 이용하여 게임 제목을 표시한다.
  • st.sidebar.radio()를 사용하여 "게임 설명"과 "게임 시작" 메뉴를 제공한다.

3. 게임 설정 (게임 설정 메뉴 선택 시)

  • 게임 규칙을 안내하고, 가위바위보 승패 규칙을 설명한다.
  • 닉네임을 입력할 수 있도록 st.text_input()을 제공한다.
  • 설정한 MP 기준으로 승리 기록을 불러와 랭킹을 표시한다.
  • 사용자의 현재 랭킹을 확인할 수 있도록 한다.

4. 게임 시작 (게임 시작 메뉴 선택 시)

  • run_game() 함수를 실행하여 실제 게임을 진행한다.

 

 

run_home()에서는 웹페이지 첫화면을 꾸몄다.

 

 

 

requirements.txt을 위한 배포 준비를 해준 뒤 스트림릿에서 설정을 해준뒤 배포한다

 

 

 

아래와 같이배포가 완료되었다

 

https://paint-app-flpckrabyugcntjtwf5cjr.streamlit.app/

 

app

This app was built in Streamlit! Check it out and visit https://streamlit.io for more awesome community apps. 🎈

paint-app-flpckrabyugcntjtwf5cjr.streamlit.app