Eğlenceli bir dikkat dağıtma arıyorsanız, kelime karmaşası hem oynamak hem de programlamak için iyi bir seçenektir. Python'un Tkinter modülü tarafından desteklenen bu çocukluk oyununu uygun bir GUI uygulamasında oluşturabilir ve oynayabilirsiniz.
Program, orijinal biçimine yeniden düzenlemeniz gereken karışık bir sözcük görüntüler. Sıkışırsanız, her seferinde bir harfi ortaya çıkarmak için İpucu düğmesine tıklayabilirsiniz. Kelimeyi doğru tahmin et ve büyük kazan!
Random ve Tkinter Modülü
Random modülü, sözde rasgele sayılar oluşturmak için kullanılan yerleşik bir Python modülüdür. Bununla rastgele sayılar oluşturabilir, bir listeden rastgele öğeler seçebilir, bir listenin içeriğini karıştırabilir ve daha fazlasını yapabilirsiniz.
Bu modül, bir zar atma simülasyonu, bir liste karıştırıcı veya bir rastgele şifre üreticisi
. gibi oyunlar oluşturmak için de kullanabilirsiniz. el kriket ve sayı tahmini.Tkinter, masaüstü uygulamaları oluşturmanıza olanak tanır. Uygulama geliştirmeyi kolaylaştıran düğmeler, etiketler ve metin kutuları gibi çeşitli widget'lar sunar. Tkinter'ı kurmak için bir terminal açın ve şunu çalıştırın:
pip kurulumu tkinter
Python Kullanarak Word Jumble Oyunu Nasıl Yapılır?
Python kullanan Word Jumble Game'in kaynak kodunu bu yazımızda bulabilirsiniz. GitHub deposu.
Tkinter ve Random modüllerini içe aktarın. Tkinter örneğini başlatın ve kök pencereyi görüntüleyin. Pencerenin boyutlarını, başlığını ve arka plan rengini piksel cinsinden ayarlayın.
itibaren tkinter içe aktarmak *
itibaren rastgele içe aktarmak seçenek
itibaren rastgele içe aktarmak Karıştır
kök = Tk()
root.title("Kelime Karmaşası Oyunu")
kök.geometri("700x500")
root.config (arka plan="su")
Karışık kelimeyi görüntülemek için bir etiket parçacığı tanımlayın. Yerleştirmek istediğiniz ana pencereyi, göstermesi gereken metni, yazı tipi stilini ve arka plan rengini belirtin. Widget'ı düzenleyin ve biraz dolgu ekleyin.
Bir işlev tanımlayın, karıştırıcı. İpucu etiketini başlangıçta boş bir dize gösterecek şekilde yapılandırın ve genel ipucu değişkenini sıfır olarak ayarlayın. Programın daha önce yürütülmesi nedeniyle herhangi bir içeriği silin ve bunun yerine bir giriş dizesi görüntüleyin.
my_label = Etiket (kök, metin="", yazı tipi=("Arial", 48), bg="su")
my_label.pack (çeltik=20)
kesinliklekarıştırıcı():
hint_label.config (metin='')
küresel ipucu_sayısı
ipucu_sayısı = 0
entry_answer.delete(0, SON)
answer_label.config (metin='', bg="su")
Kelime karmaşası oyunu için veri seti görevi görecek kelimelerin bir listesini tanımlayın. Listeden rastgele bir kelime seçin ve tek tek harflerinin bir listesini yapın. Listeyi karıştırın ve kelimeyi yineleyerek ve bir dizgede saklayarak yeniden düzenleyin. Karışık kelimeyi ekrandaki etiket aracılığıyla görüntüleyin.
meyveler = ['elma', 'muz', 'çilek', 'karpuz', 'kivi']
küresel kelime
kelime = seçim (meyveler)
break_apart_word = liste (kelime)
karıştır (break_apart_word)
küresel karışık_kelime
karıştırılmış_kelime = ''için mektup içinde break_apart_word:
shuffled_word += harf
my_label.config (metin=karıştırılmış_kelime)
Bu projenin bir uzantısı olarak bir dosyadan bir dizi sözcük yüklemeyi deneyin. Sözlük dosyası—/usr/share/dict/words Linux/macOS'ta—mükemmel bir sözcük kaynağıdır.
Bir işlev tanımlayın, cevap. Sözcük, kullanıcının girdisine eşitse, kazanan bir mesajı yeşil renkte görüntüleyin. Aksi halde yanlış cevap olduğunu kırmızı renkle gösteriniz.
kesinliklecevap():
eğer kelime == entry_answer.get():
answer_label.config (metin="Doğru cevap!", bg="su", fg='yeşil')
başka:
answer_label.config (metin="Yanlış cevap, lütfen tekrar deneyiniz.", bg="su", fg='kırmızı')
Bir işlev tanımlayın, ipucu, global hint_count'u incelemek için. Sayı, kelimenin uzunluğundan azsa, doğru cevabın bir sonraki harfini görüntüleyin. İpucu harfinin sayısını artırın, böylece işlev bir sonraki çalıştırıldığında program bir sonraki harfi görüntüler.
kesinlikleipucu(saymak):
küresel ipucu_sayısı
hint_count = saymak
kelime_uzunluğu = uzunluk (kelime)
eğer say < kelime_uzunluğu:
hint_label.config (metin=F'{ip_etiketi["metin"]}{sözcük sayısı]}', bg="su")
ipucu_sayısı += 1
Kullanıcıdan girdi almak için bir Giriş widget'ı tanımlayın. Bu parçacığı yerleştirmek istediğiniz ana pencereyi yazı tipi stiliyle birlikte belirtin ve geniş alan için biraz dolgu vererek düzenleyin.
Düğmeler için bir Çerçeve tanımlayın. Çerçeve, diğer pencere öğelerinin yerleşimini yönlendiren bir kap görevi görür. Ekrandaki dikdörtgen bölümleri kullanarak yerleşimi düzenler ve dolgu sağlar. Arka plan rengiyle birlikte çerçeveyi yerleştirmek istediğiniz ana pencereyi ayarlayın.
entry_answer = Giriş (kök, yazı tipi=("Arial", 24))
entry_answer.pack (çeltik=20)
button_frame = Çerçeve (kök, bg="su")
button_frame.pack (çeltik=20)
Üç düğme bildirin: biri doğru cevabı görüntülemek için, biri başka bir kelime seçmek için ve diğeri ipuçlarını görüntülemek için. Her düğmeyi yerleştirmek istediğiniz çerçeveyi ve görüntülenmesi gereken metni belirtin. Ayrıca, kullanıcı tıkladığında çalışacak işlevi, arka plan rengini, genişliğini ve yazı tipi boyutunu da iletin.
Kullan Kafes() Bu düğmeleri bir satıra ve üç farklı sütuna yerleştirmek için yönetici. Düğmeler arasına boşluk eklemek için dolgu belirtebilirsiniz.
answer_button = Düğme (düğme_çerçevesi, metin="Cevap", komut=yanıt, bg='turuncu', genişlik=8, yazı tipi=10)
answer_button.grid (satır=0, sütun=0, padx=10)my_button = Düğme (düğme_çerçevesi, metin="Başka Bir Kelime Seç", komut=karıştırıcı, bg='turuncu', genişlik=15, yazı tipi=10)
my_button.grid (satır=0, sütun=1, padx=10)
hint_button = Düğme (düğme_çerçevesi, metin="İpucu", komut=lambda: ipucu (hint_count), bg='turuncu', genişlik=5, yazı tipi=10)
hint_button.grid (satır=0, sütun=2, padx=10)
Cevap ve ipucu için etiketler oluşturun. Etiketleri yerleştirmek istediğiniz ana pencereyi, görüntülemesi gereken metni ve yazı tipi stilini belirtin ve kullanarak düzenleyin. ambalaj(). Bir dolgu değeri iletin, çeltik, etiketlerin daha iyi yerleştirilmesi için.
answer_label = Etiket (kök, metin='', yazı tipi=("Arial", 22))
answer_label.pack (çeltik=20)
hint_label = Etiket (kök, metin='', yazı tipi=("Arial", 22), bg="su")
hint_label.pack (çeltik=10)
Oyunu kurmak için shuffler() işlevini çağırın. Sonra ara Ana döngü() Tkinter olay döngüsünü çalıştırmak ve siz pencereyi kapatana kadar olayları (düğmeye basmalar gibi) dinlemek için.
karıştırıcı()
root.mainloop()
Tüm kodu bir araya getirin ve Word Jumble Oyununu istediğiniz zaman, istediğiniz yerde oynayın.
Word Jumble Oyununun Örnek Çıktısı
Programı çalıştırırken, Yanıtla, Başka Bir Sözcük Seç ve İpucu düğmeleriyle birlikte karıştırılmış bir sözcük görüntüler. tıklayınca İpucu düğmesine bastığınızda, program doğru cevabın harflerini birer birer görüntüler. Doğru cevabı girerseniz, program kazanan mesajı yeşil renkte gösterir.
Yanlış cevabı tahmin ederseniz, program kırmızı renkle tekrar denemenizi ister.
Python Kullanan Kelime Oyunları
Python'u kullanarak çok çeşitli ve heyecan verici kelime oyunları geliştirebilirsiniz. Örnekler arasında Scrabble, Hangman, bulmacalar, Mad Libs ve anagramlar yer alır. Bu kelime oyunları, burada gördüğünüz gibi terminal tabanlı veya GUI tabanlı olabilir.
Tkinter ile GUI oyunlarını çok kolay bir şekilde yapabilirsiniz. Tek yapmanız gereken modülü içe aktarmak, bir pencere oluşturmak, widget'lar eklemek ve olay döngüsünü çalıştırmak. Daha gelişmiş oyunlar için Pygame, Kivy ve Panda 3D modüllerini keşfedebilirsiniz.