Python Refleks Oyunu

refleks_oyunu

import time
import tkinter
import threading
import simpleaudio
import random

yesil = 0
baslama_zamani = 0
bitis_zamani = 0
refleks_zamani = 0
zamanlar = []
ses = simpleaudio.WaveObject.from_wave_file("ping.wav")

def durum_mtd():
    global refleks_zamani
    if refleks_zamani < 0.2:
        return "İnanılmaz!"
    elif refleks_zamani < 0.5 and refleks_zamani > 0.2:
        return "Harika!"
    elif refleks_zamani < 1.0 and refleks_zamani > 0.5:
        return "İdare eder."
    else:
        return "Berbat!"

def geri_sayim():
    global yesil,mesaj,baslama_zamani,ses
    baslama_zamani = random.randint(1,10)
    while baslama_zamani > 0:
        time.sleep(1)
        baslama_zamani -= 1
    
    ses.play()
    yesil = time.time()

def tiklama():
    global bitis_zamani,yesil,refleks_zamani,zamanlar,liste,durum
    thr = threading.Thread(target=geri_sayim)
    if baslama_zamani == 0:
        bitis_zamani = time.time()
        refleks_zamani = bitis_zamani - yesil
        liste.insert(0,refleks_zamani)
        zamanlar.append(refleks_zamani)
        durum["text"] = durum_mtd()
        thr.start()
    else:
        toplam = 0
        for i in zamanlar:
            toplam += i
        try:
            print("Ortalama zamanınız:",toplam / len(zamanlar))
        except ZeroDivisionError:
            pass
        exit("Lütfen sesi bekleyin!")


pencere = tkinter.Tk()
pencere.title("Refleks Oyunu")
pencere.geometry(("300x300"))
durum = tkinter.Label(text="")
durum.pack()
liste = tkinter.Listbox(height=10,width=30)
liste.pack()
buton = tkinter.Button(text="Tıkla!",command=tiklama)
buton.pack()
thr2 = threading.Thread(target=geri_sayim)
thr2.start()
pencere.mainloop()

ping.wav yerine internetten bulduğunuz bir wav dosyasını koymayı unutmayın. Ben Freesound - Ping.wav by MATRIXXX_ dosyasını kullandım. Kolay gelsin.

1 Beğeni

baya hoş olmuş elinize emeğinize sağlık pyqt kullanırsanız daha etkileyici Uİlar ortaya çıkacaktır hocam sizide geliştirir hem

1 Beğeni