>

TIL

2주차 Day 5. 가위 바위 보 게임 웹으로 만들기

ekdud 2024. 7. 5. 17:55

목차

    가위 바위 보 게임을 웹으로 구현하는 과제를 하는 중인데 정말 맨땅에 헤딩하듯(?) 무작정 찾아보면서 하고 있다.. 강의 학습 후 하는 것이지만 실제로 만들려니 모르는 게 거의 90프로..ㅎㅎ 아래는 새롭게 알게 된 내용들 중 나중에 다시 보고 싶은 것들!

     

    git repository에서 개인 git 저장소(로컬 컴퓨터)로 변경내용 가져오기

    전체 복사본을 가져올 때: git clone 주소  => Git repository로 초기화. repository의 모든 파일 및 commit이 받아짐.

     

    로컬 repository가 이미 있는 경우: git fetch REMOTE-NAME  => 모든 새 정보를 가져옴.

     

    변경 내용을 로컬분기에 병합: git merge REMOTE-NAME/BRANCH-NAME

     

    원격 repository에서 변경 내용 가져오기: git pull REMOTE-NAME BRANCH-NAME  => fetch + merge 라고 이해. 반드시 로컬 작업 커밋 후 !!!

     

     

    git 명령 취소하고 되돌리기

    git pull 취소: git reset --hard ORIG-HEAD

     

    git merge 취소: git reset --merge ORIG-HEAD

     

    git commit 취소: git reset --hard HEAD

     

    git add 취소: git reset HEAD

     


    os.path

    우선 당연히 import os 해주고 시작. path 관련 method로 경로를 선언하는 이유는 운영체제에 따라 경로를 표시하는 syntax가 다르기 때문. 호환성을 높이기 위해 필요 !!

     

    os.path.abspath(path)

    : 절대경로를 반환한다. path에 __file__(python 예약어. 실행되는 스크립트 파일명 나타냄)을 써줄 수 있다.

     

    os.path.dirname(path)

    : path의 상위 디렉토리 반환

     

    os.path.join(path, path)

    : 경로 합치기  ex. ↴

    os.path.join('/Users/dy/Desktop', 'join/test')
    
    >>> 'path.py'

     

    os.getcwd()

    : 현재 실행경로 반환.

     


     

    과제 코드 내용

    - 데이터베이스 설정 및 모델 정의:
    SQLALCHEMY_DATABASE_URI  => 사용할 SQLite 데이터베이스 파일의 경로를 설정.
    RPSGame 클래스는 게임 기록을 저장하는 데이터베이스 테이블을 정의. => 게임 ID, 사용자, 컴퓨터, 결과(승리, 패배, 무승부), 승/패/무 횟수, 게임 날짜 등을 포함함.

    - Flask 라우팅:
    @app.route("/") 데코레이터 - 사용자가 가위바위보를 선택하는 페이지를 나타냄.
    home() - 최근 게임 기록을 데이터베이스에서 불러와 화면에 표시.

     

    - 데이터 처리:
    get_data() - 사용자가 선택한 가위바위보와 컴퓨터의 선택을 비교하여 승패 결정.
    결과를 데이터베이스에 저장하고, 승/패/무 횟수를 업데이트.

    'TIL' 카테고리의 다른 글

    3주차 Day 1. html  (0) 2024.07.08
    2주차 Day 4. 미니프로젝트 중..  (0) 2024.07.04
    2주차 Day 3. 해싱  (2) 2024.07.03
    2주차 Day 2. 파이썬 심화  (0) 2024.07.03
    2주차 Day 1. up&down 게임과 가위바위보 게임을 만들어보자  (0) 2024.07.01