Python -da sadə oyunlar hazırlayın

Tic-Tac-Toe, Dots-and-Boxes və Snake-and-Apple oyunu üçün interaktiv python kodu

Mar 17, 2020 · 7 dəq oxunub

Bu yazıda Tkinter paketini istifadə edərək pythonda Tic-Tac-Toe, Dots-and-Boxes və Snake-and-Apple oyunu kimi sadə oyunların necə yaradılacağını ətraflı şəkildə izah edəcəyəm. Məqalə aşağıdakı məzmuna bölünür

  1. Tkinter -ə giriş
  2. Oyunun axın diaqramı
  3. Kodun quruluşu
  4. Nümunələr-Tic-Tac-Toe, Dots-and-Boxes və Snake-and-Apple

Tkinter istifadə edərək GUI

Tkinter, pythonun standart GUI çərçivəsidir və python 3 ilə birlikdə gəlir. Mükəmməl bir başlanğıc dərsini burada tapa bilərsiniz. Bu dərslik Tkinter -ə deyil, daha çox sadə oyunlar yaratmaq üçün necə istifadə olunmasına yönəldilmişdir. İstifadə edəcəyimiz iki əsas vidjetdir

  • Kətan:Pəncərədə oyun qrafikləri çəkmək üçün
  • Bağla:İstifadəçi girişini tutmaq üçün.

Kətan Widget:

Tkinterdəki kətan vidjeti, pəncərəyə həndəsi cisimlər çəkmək üçün istifadə olunur. Müxtəlif fiqurlar çəkmək üsulları var. Sadə bir oyun üçün ən çox istifadə olunan üsullar aşağıdakılardır

  • Create_line (): Xətlərçəkmək üçün
  • Create_oval ():Dairəvi şəkildə çəkmək üçün
  • Create_text (): Pəncərədəmətn çap etmək üçün
  • delete ():Çizilmiş obyektləri pəncərədən silin

Bağlama vidceti:

Bind siçan klik hadisələrindən giriş almaq üçün istifadə olunur. Aşağıdakı parametrlər siçan kliklərinin növünü müəyyən etmək üçün bağlama metodunda istifadə edilə bilər

  • :Sol siçan klikini təyin edir
  • :Orta siçan klikini təyin edir
  • :Siçanın sağ klikləməsini təyin edir

Bind metodu yuxarıdakı parametri birinci arqument olaraq, ikinci arqument olaraq modul adını alır. Parametrlə müəyyən edilmiş siçan klik hadisəsi müəyyən edildikdə modul çağırılır.

Oyun axını diaqramı:

İndi Tkinter haqqında ümumi bir məlumatımız olduğu üçün sadə bir oyunun əsas axını diaqramını çəkək.

Bəzi oyun parametrlərinə (şəbəkənin ölçüsü, rəng, mətn və digər başlanğıc xüsusiyyətləri kimi) əsaslanaraq oyun işə salınacaq və sonra istifadəçi girişlərini axtarmağa başlayacaq (siçan klikləri şəklində). Alındıqdan sonra ızgara mövqeləri (siçanın tıklandığı pəncərənin x, y koordinatları) oyundan asılı məntiqi mövqelərə çevriləcək. Bu məntiqi mövqelər daha sonra pythonda dəyişən olaraq saxlanılan oyunun daxili vəziyyətini yeniləmək və kətan üsullarından istifadə edərək oyun qrafiklərini yeniləmək üçün istifadə ediləcək. Proses oyun bitənə qədər təkrarlanacaq (bu siçanın vurulmasından və oyunun daxili vəziyyətindən asılı olacaq). Oyunun nəticəsi göstəriləcək. İstifadəçinin oyunu yenidən oynamaq istəməsini seçməsi üçün nəticə ekranına bir siçan klik hadisəsi əlavə olunacaq.

Kod quruluşu:

Kodun daha yaxşı və məntiqli bir quruluşa sahib olması üçün funksiyaları üç kateqoriyaya bölüşdürəcəyik.

  1. Başlanğıc funksiyaları
  2. Rəsm funksiyaları
  3. Məntiqi funksiyalar

Başlanğıc funksiyaları:

Bu funksiyalar oyunun ilkin vəziyyətini təyin etməkdən məsuldur. Bunlara oyun dəyişənlərinin təyin edilməsi, oyun qrafikinin işə salınması, oyun bitdikdə oyun dəyişənlərinin yenidən qurulması, kətan və vidjetlərin bağlanması və s. Daxildir. Başlanğıclaşdırma funksiyaları əsasən yeni bir oyunun başlanması və ya Oyun başa çatdı və yenidən oynamaq lazımdır.

Rəsm funksiyaları:

Adından da göründüyü kimi, bu funksiyalar Tkinter pəncərəsinə oyuna əsaslanan qrafik elementləri çəkməkdən məsuldur. Yuxarıda göstərilən əsas kətan rəsm üsullarına əsaslanaraq, oyununuza xas yüksək səviyyəli rəsm funksiyaları yaradacağıq. Bu yüksək səviyyəli rəsm funksiyaları daha sonra oyun qrafiklərini yeniləmək üçün bina blokları kimi istifadə olunacaq.

Məntiqi funksiyalar:

Bu funksiyaların oyun qrafikası ilə heç bir əlaqəsi olmayacaq və oyun məntiqi ilə məşğul olacaq. Bunlara oyun vəziyyətinin izlənməsi, istifadəçi girişinin alınması, oyunun vəziyyətinin yenilənməsi, cari hərəkətin qanuni olub olmadığını yoxlamaq, oyunçu skorlarının izlənməsi, oyunun başa çatıb -çatmadığını yoxlamaq daxildir. oyunun nəticəsinə qərar vermək və s.

Oyun elementlərinin bəzi əsaslarından bəhs etdikdən sonra, iş kodları ilə bağlı bəzi nümunələrə nəzər salaq