python
python - 타이핑 게임 제작하기
myfreetime
2020. 4. 30. 08:25
기획 -
영어단어 타이핑 게임으로 일종의 한컴타자연습 게임과 같다.
무작위로 영어단어가 콘솔에 나오고 그대로 따라 치면 "띵동 소리"와 함께 그다음으로 넘어가고
틀리면 "삑" 소리와 함께 다음 으로 넘어간다.
총 5개의 영어 단어를 다치고 나면 종료가 되면서 처음 시작 시간과 종료 시간을 빼서 총 걸린 시간이
표시되고 맞은 개수에 따라 합격과 불합격으로 나뉜다. 총 3개 이상을 맞춰야 합격이 된다.
직접 Repl.it 에 해보면서 익힐 예정이다.
# Section 13-1
# 업그레이드 타이핑 게임 제작
# 타이핑 게임 제작 및 기본 완성
import random
import time
# 사운드 출력 필요 모듈
import winsound
import sqlite3
import datetime
# DB 생성 & Auto Commit
# 본인 DB 경로
conn = sqlite3.connect('C:/Users/ifjiej/Desktop/python_basic/resource/recode.db', isolation_level=None)
# Cursor 연결
cur = conn.cursor()
cur.execute("CREATE TABLE IF NOT EXISTS records(id INTEGER PRIMARY KEY AUTOINCREMENT, cor_cnt INTEGER, record text, regdate 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!") # 게임 준비 시작!
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("합격")
else:
print("불합격")
# 기록 DB 삽입
cur.execute("INSERT INTO records('cor_cnt','record','regdate') VALUES(?, ?, ?)",(cor_cnt, et, datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')))
# 수행 시간 출력
print("게임 시간 :", et, "초", "정답 개수 : {}".format(cor_cnt))
# 시작 시점
if __name__ == '__main__' :
pass