Python Modülü Kullanımında Yılan Oyunu

Yılan oyununun hayranıysanız, bu makalenin size yardımcı olacağına eminim.. Bu gönderide, Python'a yeni başlayanların bile oluşturmayı kolay bulacağı basit bir oyun oluşturma adımlarında size yol göstereceğim.. Python'daki PyGame kitaplığı, oyun geliştirmek için kullandığımız bir Python paketidir., oyunu tasarlamak için çeşitli yaklaşımlardan biridir..

Kütüphane kaplumbağasından faydalanmak ek bir stratejidir. Kullanıcılar bu modül sayesinde çevrimiçi bir tuval üzerinde grafikler oluşturabilir ve formlar çizebilir., Python ile zaten kurulu olan. Yani, bu eğitimde, temel yılanımızı oluşturmak için kaplumbağa kitaplığını kullanacağız

Python'da Yılan Oyunu

  • zaman modülü. Bu teknik, bir önceki seferden bu yana geçen saniye miktarını takip etmemizi sağlar..
  • yılan oyunu Rastgele modülü – Python'da rastgele sayılar oluşturur.

Gereksinim duyacağınız diğer araçlar, tercih ettiğiniz bir metin düzenleyicisini içerir.. Bu gönderide VSCode kullanacağım. Elbette, Python'u kurmak için ihtiyacınız olacak 3 Henüz yüklemediyseniz, cihazınızda. Geekflare Compiler'ı yüklemek için de indirebilirsiniz.. Bu çok keyifli bir deneyim olabilir!

içindekiler

yılan oyunu nasıl çalışır

Oyuncular, bu oyunda mümkün olan en iyi puanı elde etmek için ekranda görüntülenen yiyeceği elde etmek için yılanı manipüle etmelidir.. Oyuncu, yılanın hareket ettiği yönü gösteren dört yön tuşundan birine basarak yılanı yönlendirir..

Yılan, bir oyuncuya veya bir nesneye çarparsa oyundan çıkarılacaktır.. Bu oyunu ileriye taşımak için kullanacağımız prosedürler.

  • Önceden kurulu olan modülleri uygulamalarımıza aktarma (kaplumbağa zamanı, kaplumbağa yanı sıra rastgele).
  • Oyunun ekran görüntüsü Kaplumbağa modülü ile oluşturulmuştur..
  • Yılanın ekran etrafındaki hareket yönünü kontrol etmek için tuşları ayarlayın.
  • oyunun uygulanması.

Bir uygulama programı ekleyeceğimiz snakegame.py dosyasını oluşturun.

Modülleri içe aktarma

Programın bu bölümü Python'un kurulu olduğu zamanı yükler, kaplumbağa, ve rastgele modüller. bunlara ek olarak, oyuncunun ilk puanı için varsayılan sayılar, ulaşabilecekleri maksimum puan, ve oyuncunun her hamle arasındaki gecikme süresi tanımlanacaktır.. Ne kadar süre ertelendiğini belirlemek için, zaman modülü gereklidir.

import turtle
import random
import time

player_score = 0
highest_score = 0
delay_time = 0.1

Oyunun ekranını yapmak

Kurduğumuz kaplumbağa modülü, oyunun pencere ekranı görevini görecek sanal bir ekran oluşturmamızı sağlıyor.. O zaman yılanın vücudunu yapabiliriz., yılanın yiyeceği yiyeceklerin yanı sıra. Ekran ayrıca oyuncunun izleyicisinin puanını da gösterecektir..

# window screen created
wind = turtle.Screen()
wind.title("Snake Maze")
wind.bgcolor("red")

# The screen size
wind.setup(width=600, height=600)


# creating the snake 
snake = turtle.Turtle()
snake.shape("square")
snake.color("black")
snake.penup()
snake.goto(0, 0)
snake.direction = "Stop"

# creating the food
snake_food = turtle.Turtle()
shapes = random.choice('triangle','circle')
snake_food.shape(shapes)
snake_food.color("blue")
snake_food.speed(0)
snake_food.penup()
snake_food.goto(0, 100)

pen = turtle.Turtle()
pen.speed(0)
pen.shape('square')
pen.color('white')
pen.penup()
pen.hideturtle()
pen.goto(0, 250)
pen.write("Your_score: 0 Highest_Score : 0", align="center", 
font=("Arial", 24, "normal"))
turtle.mainloop()

Yukarıda belirtilen alıntıdaki kod, bir ilk başlık ve arka plan rengi eklemeden önce kaplumbağa ekranını oluşturur.. Yılanın şeklini dijital tuvalimize çizmeden önce boyutunu seçiyoruz.. Kaplumbağa hareket ederken çizgilerin oluşmasını önlemek için, penup yöntemi kaplumbağanın kalemini alır.

Goto tekniğinin kullanımı ile, kaplumbağa, koordinatlar kullanılarak kesin bir konuma yönlendirilebilir. Yılanın yediği yemek bizim tarafımızdan yapılır.

Yılan her yiyecek topladığında, her oyuncunun puanını görüntülemek istiyoruz. Ayrıca bir kişinin oyun sırasında aldığı en yüksek puanı da göstermek istiyoruz.. Bu yüzden, kalem kullanıyoruz. kalem olarak, yazmak. Tamamlanacak bir yöntemi açıklayın.

Yılan için yön tuşlarının ayarlanması

Bu durumda, ekranda yılanın hareketini kontrol etmek için belirli tuşları programlıyoruz. mektubu kullanacağız “L” sol tuş olarak, “R” sol için, “U” yukarı için, ve “D” aşağı doğru. Bu talimatlar, kaplumbağanın yön işlevini kullanarak yılanı çağırarak uygulamaya konulacaktır..

Aşağıdaki kod örneklerini.

# Assigning directions
def moveleft():
    if snake.direction != "right":
        snake.direction = "left"

def moveright():
    if snake.direction != "left":
        snake.direction = "right"

def moveup():
    if snake.direction != "down":
        snake.direction = "up"

def movedown():
    if snake.direction != "up":
        snake.direction = "down"

def move():
    if snake.direction == "up":
        coord_y = snake.ycor()
        snake.sety(coord_y+20)

    if snake.direction == "down":
        coord_y = snake.ycor()
        snake.sety(coord_y-20)

    if snake.direction == "right":
        coord_x = snake.xcor()
        snake.setx(coord_x+20)

    if snake.direction == "left":
        coord_x = snake.xcor()
        snake.setx(coord_x-20)

wind.listen()
wind.onkeypress(moveleft, 'L')
wind.onkeypress(moveright, 'R')
wind.onkeypress(moveup, 'U')
wind.onkeypress(movedown, 'D')

Taşınmak() Yukarıda belirtilen işlev, yılanın belirli bir koordinat içinde belirtilen konumda hareket etmesini sağlar.. Dinlemek() kullanıcı düğmeye bastıktan sonra yılanı belirli bir yöne yönlendiren yöntemleri çağıran bir olay dinleyicisi olarak işlev görür.

Oyunun oynanışının bir yılan şeklinde uygulanması

Temel yapı oluşturulduktan sonra oyunun canlı aksiyona dönüştürülmesi gerekecektir.. içereceği şey bu:

  • yılanın boyu her yiyecek tükettiğinde farklı bir renk kadar uzar.
  • yılan ne zaman yemek yerse, oyuncunun puanı artar, ve en yüksek puan izlenir.
  • Yılan, duvara ve hatta kendi vücuduna çarpmasını önlemek için tutulabilir..
  • Yılanı vurduktan sonra, oyun devam ediyor.
  • Ancak ekranda, oyun yeniden başlatıldığında oyuncunun puanı sıfırlanmış olsa bile oyuncunun en yüksek puanıdır..
segments = []

#Implementing the gameplay
while True:
    wind.update()
    if snake.xcor() > 290 or snake.xcor() < -290 or snake.ycor() > 290 or snake.ycor() < -290:
        time.sleep(1)
        snake.goto(0, 0)
        snake.direction = "Stop"
        snake.shape("square")
        snake.color("green")

        for segment in segments:
            segment.goto(1000, 1000)
            segments.clear()
            player_score = 0
            delay_time = 0.1
            pen.clear()
            pen.write("Player's_score: {} Highest_score: {}".format(player_score, highest_score), align="center", font=("Arial", 24, "normal"))

        if snake.distance(snake_food) < 20:
            coord_x = random.randint(-270, 270)
            coord_y = random.randint(-270, 270)
            snake_food.goto(coord_x, coord_y)

            # Adding segment
            added_segment = turtle.Turtle()
            added_segment.speed(0)
            added_segment.shape("square")
            added_segment.color("white")
            added_segment.penup()
            segments.append(added_segment)
            delay_time -= 0.001
            player_score += 5

            if player_score > highest_score:
                highest_score = player_score
                pen.clear()
                pen.write("Player's_score: {} Highest_score: {}".format(player_score, highest_score), align="center", font=("Arial", 24, "normal"))

    # checking for collisions
    for i in range(len(segments)-1, 0, -1):
        coord_x = segments[i-1].xcor()
        coord_y = segments[i-1].ycor()
        segments[i].goto(coord_x, coord_y)

    if len(segments) > 0:
        coord_x = snake.xcor()
        coord_y = snake.ycor()
        segments[0].goto(coord_x, coord_y)
    move()

    for segment in segments:
        if segment.distance(snake) < 20:
            time.sleep(1)
            snake.goto(0, 0)
            snake.direction = "stop"
            snake.color('white')
            snake.shape('square')

            for segment in segments:
                segment.goto(1000, 1000)
                segment.clear()
                player_score = 0
                delay_time = 0.1
                pen.clear()
                pen.write("Player's_score: {} Highest_score: {}".format(player_score, highest_score), align="center", font=("Arial", 24, "normal"))

     time.sleep(delay_time)

turtle.mainloop()

Kullandığımız yukarıdaki kod parçacığında, ekranda yılanın yiyeceği için rastgele bir yer belirledik. Yılan besini her yediğinde, vücut farklı renkte büyür, bu örnekte beyaz, büyümesinin farklı olduğunu açıkça belirtmek için.

Yılan yiyeceği topladığında ve çarpışmadığında, yiyecek, ekran boyutunun 270 derecelik koordinat alanı içinde rastgele bir konumda görüntülenir.. Yılan her yiyecek aldığında, oyuncunun puanı artar 5. Yılan, oyuncuyla çarpışmaya karışırsa, puanları sıfırlandı 0 ve ekran en yüksek puanını koruyor.

Sonuç

Kaplumbağa kitaplığı, bu eğitimde gördüğümüz yılan oyununu yapmanın eğlenceli ve basit bir yoludur.. Aynı oyunu uygulamak için Python'daki PyGame kitaplığını da kullanabilirsiniz.. Bunları okuyarak oyunu nasıl farklı şekilde kullanabileceğinizi öğrenin. PyGame talimatlar.

Snake Rivals Eğlenceli Yılan Oyunu İndir

Yılan Koşusu Yarışı 3D Koşu Oyunu

Snake.io İndir – Eğlenceli Yılan .io Oyunları