본문 바로가기

Python Basics

[패스트캠퍼스 수강 후기] 파이썬 인강 자기계발 챌린지 15 회차 미션

패스트캠퍼스 파이썬 웹개발 올인원 패키지 후기(15)

파이썬 웹개발 올인원 패키지 15 일차 후기 겸 학습기록 입니다.

패스트캠퍼스 파이썬 인강 파이썬 웹개발 올인원 패키지 중 파이썬 기초 마지막 강의 였습니다.

지금까지 배운 개념을 토대로 간단한 게임을 제작해 보았습니다.

프로젝트 - 타이핑 게임 제작

파이썬 타이핑 게임 제작 기본 완성

import random
import time

words = []  # 영어 단어 리스트(1000개 로드)

n = 1 # 게임 시도 횟수
cor_cnt = 0 # 정답 개수

with open('./resource/word.txt', 'r') as f:
    for c in f:
        words.append(c.strip())

print(words) # 단어 리스트 확인

input("Ready? Press Enter Key!") # Enter Game Start!

start = time.time()

새로운 개념 : 사용자 키보드 입력

input() 함수를 통해 사용자로 부터 키보드로 입력을 받았습니다.

 

기본적인 게임 완성본입니다.

 

import random
import time

words = []  # 영어 단어 리스트(1000개 로드)

n = 1 # 게임 시도 횟수
cor_cnt = 0 # 정답 개수

with open('./resource/word.txt', 'r') as f:
    for c in f:
        words.append(c.strip())

# print(words) # 단어 리스트 확인

input("Ready? Press Enter Key!") # Enter Game Start!

start = time.time()

while n <= 5:
    random.shuffle(words)
    q = random.choice(words)

    print()

    print("*Question # {}".format(n))
    print(q)    # 문제 출력

    x = input() # 타이핑 입력

    print()

    if str(q).strip() == str(x).strip(): # 입력 확인(공백 제거)
        print("Pass!")
        cor_cnt += 1
    else:
        print("Wrong!")

    n += 1

end = time.time() # End Time
et = end - start # 총 게임 시간
et = format(et, ".3f") # 소수 셋째 자리 출력(시간)

if cor_cnt >= 3:
    print("Pass")
else:
    print("Fail")

# 수행 시간 출력
print("게임 시간 : ", et, "초", "정답 개수 : {}".format(cor_cnt))

# 시작 지점
if __name__ == '__main__':
    pass

 

파이썬 인강 게임제작 > 효과음 적용, DB 연동

마지막으로 사운드 출력을 위해 winsound 패키지를 사용하였습니다.

아래 예제 코드를 확인해보세요!

import random
import time
# 사운드 출력 필요 모듈
import winsound
import sqlite3
import datetime

# DB 생성 & Auto Commit
# 본인 DB 경로
conn = sqlite3.connect('./resource/records.db', isolation_level=None)

# Cursor 연결
cursor = conn.cursor()

cursor.execute("CREATE TABLE IF NOT EXISTS records(id INTEGER PRIMARY KEY AUTOINCREMENT, cor_cnt INTEGER, record TEXT, reg_date TEXT)")

words = []  # 영어 단어 리스트(1000개 로드)

n = 1 # 게임 시도 횟수
cor_cnt = 0 # 정답 개수

with open('./resource/word.txt', 'r') as f:
    for c in f:
        words.append(c.strip())

# print(words) # 단어 리스트 확인

input("Ready? Press Enter Key!") # Enter Game Start!

start = time.time()

while n <= 5:
    random.shuffle(words)
    q = random.choice(words)

    print()

    print("*Question # {}".format(n))
    print(q)    # 문제 출력

    x = input() # 타이핑 입력

    print()

    if str(q).strip() == str(x).strip(): # 입력 확인(공백 제거)
        print("Pass!")
        # 정답 소리 재생
        winsound.PlaySound('./sound/good.wav', winsound.SND_FILENAME)
        cor_cnt += 1
    else:
        # 오답 소리 재생
        winsound.PlaySound('./sound/bad.wav', winsound.SND_FILENAME)
        print("Wrong!")

    n += 1

end = time.time() # End Time
et = end - start # 총 게임 시간
et = format(et, ".3f") # 소수 셋째 자리 출력(시간)

if cor_cnt >= 3:
    print("Pass")
else:
    print("Fail")

# 기록 DB 삽입
cursor.execute("INSERT INTO records('cor_cnt', 'record', 'reg_date') VALUES (?, ?, ?)", (cor_cnt, et, datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')))

# 수행 시간 출력
print("게임 시간 : ", et, "초", "정답 개수 : {}".format(cor_cnt))

# 시작 지점
if __name__ == '__main__':
    pass

 

이것으로 파이썬 기초에 대한 강의를 모두 수강해보았습니다.

이제 웬만한 프로그램은 개발 할 수 있을거 같은 느낌이 드네요!

내일 부터는 웹 프론트 엔드에 대한 기본적인 내용을 학습할 계획입니다.

감사합니다!

 

 

 

패스트캠퍼스 파이썬 인강 자세한 내용은 아래 링크를 참고해 주세요!

 

https://bit.ly/2WG0IXN