본문 바로가기
CODING/Python

[파이썬:Python]타자게임

by NOBLESSE 2019. 6. 13.
728x90
반응형

요즘 공부하는 파이썬 기본문법을 가지고 간단한 타자게임 하나 만들어봤습니다!

변수가 많지는 않아서 직접해보면 금방 이해하실듯 합니다.

간단한 랜덤함수(난수)와 배열과 반복문, 조건문으로 충분히 만들 수 있습니다.

아래에 플레이 사진과 소스코드 올려놓겠습니다.

import random
import time
 
 
animal_en = ['horse','monkey','lion','tiger','leopard','giraffe','hippopotamus','snake','bear','otter','cat','dog','pig','cow','bison','sloth','weasel']
animal_kr = ['캥거루','토끼','강아지','고양이','코알라','고릴라','원숭이','고래','낙타','뱀','물개','쥐','소','말','돼지','거북이']
animal_mix = ['horse','monkey','lion','tiger','leopard','giraffe','hippopotamus','snake','bear','otter','cat','dog','pig','cow','bison','sloth','weasel','캥거루','토끼','강아지','고양이','코알라','고릴라','원숭이','고래','낙타','뱀','물개','쥐','소','말','돼지','거북이']
aq=0
 
    
print("영어는 1번 한글은 2번 믹스는 3번 랭크전은 4번")
s=int(input())
 
 
 
if s == 1:
    print("몇 문제를 푸실 건가요?")
    b=int(input())
    print("\n엔터를 누르면 시작합니다. \n//선택하신 문제의 수:",b,"//")
    
    print("//선택하신 버전: 영어//")
    input()
 
    start = time.time()
    a=0
 
    while a<b:
    
        num = random.randint(0,16)
        print()
        print(animal_en[num])
 
        answer = input()
 
        if(answer==animal_en[num]):
            #print("정답입니다.")
            a+=1
            aq+=1
        else:
            print("한 번더 하세요.")
            answer = input()
        
            if(answer==animal_en[num]):
                #print("정답입니다.")
                a+=1
                aq+=1
            else:
                print("틀렸습니다")
                a+=1
 
    recordtime = round(time.time() - start,2)
    print("\n소요된 시간:", recordtime)
    print("정답 갯수:", aq)
    print("오답 갯수:", b-aq)
    
 
elif s == 2:
    print("몇 문제를 푸실 건가요?")
    b=int(input())
    print("\n엔터를 누르면 시작합니다. \n//선택하신 문제의 수:",b,"//")
 
    print("//선택하신 버전: 한글//")
    input()
    
    start = time.time()
    a=0
 
    while a<b:
    
        num = random.randint(0,15)
        print()
        print(animal_kr[num])
 
        answer = input()
 
        if(answer==animal_kr[num]):
            print("정답입니다.")
            a+=1
            aq+=1
        else:
            print("한 번더 하세요.")
            answer = input()
        
            if(answer==animal_kr[num]):
                print("정답입니다.")
                a+=1
                aq+=1
            else:
                print("틀렸습니다")
                a+=1
 
    recordtime = round(time.time() - start,2)
    print("\n소요된 시간:", recordtime)
    print("정답 갯수:", aq)
    print("오답 갯수:", b-aq)
                
elif s == 3:
    print("몇 문제를 푸실 건가요?")
    b=int(input())
    print("\n엔터를 누르면 시작합니다. \n//선택하신 문제의 수:",b,"//")
 
    print("//선택하신 버전: 믹스//")
    input()
    
    start = time.time()
    a=0
 
    while a<b:
    
        num = random.randint(0,32)
        print()
        print(animal_mix[num])
 
        answer = input()
 
        if(answer==animal_mix[num]):
            print("정답입니다.")
            a+=1
            aq+=1
        else:
            print("한 번더 하세요.")
            answer = input()
        
            if(answer==animal_mix[num]):
                print("정답입니다.")
                a+=1
                aq+=1
            else:
                print("틀렸습니다")
                a+=1
    recordtime = round(time.time() - start,2)
    print("\n소요된 시간:", recordtime)
    print("정답 갯수:", aq)
    print("오답 갯수:", b-aq)
 
 
elif s == 4:
    print("//선택하신 버전: 랭크전//")
    print("//랭크전은 10문제이고 믹스버전입니다..//")
    input()
    
    start = time.time()
    a=0
 
    while a<10:
    
        num = random.randint(0,32)
        print()
        print(animal_mix[num])
 
        answer = input()
 
        if(answer==animal_mix[num]):
            print("정답입니다.")
            a+=1
            aq+=1
        else:
            print("한 번더 하세요.")
            answer = input()
        
            if(answer==animal_mix[num]):
                print("정답입니다.")
                a+=1
                aq+=1
            else:
                print("틀렸습니다")
                a+=1
 
    recordtime = round(time.time() - start,2)
    print("\n소요된 시간:", recordtime)
    print("정답 갯수:", aq)
    print("오답 갯수:", 10-aq)
 
    f = open("C:/Users/user/Downloads/rank.txt", 'r')
    lines = f.readlines()
    for line in lines:
        if recordtime<float(line):
            print("신기록 갱신을 축하합니다!")
    f.close()

 
    f = open("C:/Users/user/Downloads/rank.txt",'a')
    nextw="\n"
    f.write(nextw)
    f.write(str(recordtime))
    f.close()

 

728x90
반응형