Game Ular dalam Menggunakan Modul Python

Saya yakin esai ini akan membantu Anda jika Anda adalah penggemar permainan ular. Saya akan memandu Anda melalui langkah-langkah membuat game sederhana di pos ini yang bahkan pemula Python pun akan mudah membuatnya. Pustaka PyGame dengan Python, yang merupakan paket Python yang kami gunakan untuk mengembangkan game, adalah salah satu dari berbagai pendekatan untuk mendesain game.

Memanfaatkan kura-kura perpustakaan adalah strategi tambahan. Pengguna dapat membuat grafik dan menggambar formulir di kanvas online berkat modul ini, yang sudah diinstal dengan Python. Begitu, dalam tutorial ini, kami akan menggunakan perpustakaan kura-kura untuk membuat ular dasar kami

Permainan Ular dengan Python

  • modul waktu. Teknik ini memungkinkan kita untuk melacak jumlah detik yang telah berlalu sejak waktu sebelumnya.
  • modul Acak permainan ular – Ini menciptakan angka acak dengan Python.

Alat lain yang Anda perlukan termasuk editor untuk teks yang Anda sukai. Saya akan menggunakan VSCode di posting ini. Tentu saja, yang Anda perlukan untuk menyiapkan Python 3 di perangkat Anda jika Anda belum menginstalnya. Anda juga dapat mengunduh untuk menginstal Geekflare Compiler. Ini bisa menjadi pengalaman yang sangat menyenangkan!

Isi

Bagaimana cara kerja permainan ular

Pemain harus memanipulasi ular untuk mendapatkan makanan yang ditampilkan di layar untuk mencapai skor terbaik dalam game ini. Pemain mengarahkan ular dengan menekan salah satu dari empat tombol arah yang menunjuk ke arah ular bergerak.

Ular akan dikeluarkan dari permainan jika menyerang pemain atau objek. Prosedur yang akan kami gunakan untuk memainkan game ini ke depannya.

  • Mengimpor ke dalam aplikasi kita modul yang sudah diinstal sebelumnya (waktu penyu, penyu serta acak).
  • Tampilan layar game dibuat dengan modul Turtle.
  • Atur tombol untuk mengontrol arah gerakan ular di sekitar layar.
  • Implementasi game.

Buat file snakegame.py yang akan kita tambahkan program implementasi.

Mengimpor modul

Bagian program ini memuat waktu yang diinstal Python, penyu, dan modul acak. Selain itu, angka default untuk skor awal pemain, skor maksimum yang bisa mereka capai, dan jumlah waktu penundaan pemain di antara setiap gerakan akan ditentukan. Untuk menentukan berapa banyak waktu yang telah tertunda, modul waktu diperlukan.

import turtle
import random
import time

player_score = 0
highest_score = 0
delay_time = 0.1

Membuat layar game

Modul turtle yang kita instal memungkinkan kita membuat layar virtual yang akan berfungsi sebagai layar jendela permainan. Kami kemudian dapat membangun tubuh ular, serta makanan yang akan dimakan ular. Layar juga akan menampilkan skor pelacak pemain.

# 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()

Kode dalam kutipan di atas menetapkan layar kura-kura terlebih dahulu sebelum menambahkan judul awal dan warna latar belakang. Kami pertama-tama memilih ukuran sebelum membuat sketsa bentuk ular ke kanvas digital kami. Untuk mencegah garis dibuat saat kura-kura sedang bergerak, metode penup mengambil pena kura-kura.

Dengan menggunakan teknik goto nya, penyu dapat diarahkan ke posisi yang tepat menggunakan koordinat. Makanan yang dimakan ular dibuat oleh kita.

Setiap kali ular mengumpulkan makanan, kami ingin menampilkan skor setiap pemain. Kami juga ingin menunjukkan skor tertinggi yang diterima seseorang selama pertandingan. Untuk alasan ini, kami menggunakan pena. Sebagai pena, menulis. Jelaskan metode untuk menyelesaikan.

Pengaturan tombol arah untuk ular

Dalam hal ini, kami memprogram tombol tertentu untuk mengontrol gerakan ular di layar. Kami akan menggunakan surat itu “L” sebagai tombol kiri, “R” untuk kiri, “kamu” untuk ke atas, dan “D” untuk ke bawah. Instruksi ini akan dipraktikkan dengan memanggil ular menggunakan fungsi arah kura-kura.

Sertakan contoh kode berikut di.

# 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')

Bergerak() fungsi yang disebutkan di atas memungkinkan pergerakan ular pada posisi yang ditentukan dalam koordinat yang ditentukan. Mendengarkan() berfungsi sebagai pendengar acara yang memanggil metode yang mengarahkan ular ke arah tertentu setelah pengguna menekan tombol.

Penerapan gameplay game dalam bentuk ular

Gim ini perlu diubah menjadi aksi langsung setelah struktur dasarnya ditetapkan. Inilah yang akan disertakan:

  • memperpanjang panjang ular dengan warna yang berbeda setiap kali mengkonsumsi makanan.
  • setiap kali ular mengkonsumsi makanan, skor pemain meningkat, dan skor tertinggi kemudian dilacak.
  • Ular itu mungkin dipegang untuk melindunginya dari terbanting ke dinding atau bahkan tubuhnya sendiri.
  • Setelah memukul ular itu, permainan berlanjut.
  • Namun di layar, adalah skor tertinggi pemain meskipun skor pemain direset menjadi nol saat permainan dimulai kembali.
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()

Dalam cuplikan kode di atas yang telah kami gunakan, kami telah menetapkan tempat acak untuk makanan ular di layar. Setiap kali ular makan nutrisi, tubuh tumbuh dalam warna yang berbeda, putih dalam hal ini, untuk memperjelas bahwa pertumbuhannya berbeda.

Saat ular sudah mengumpulkan makanan dan tidak bertabrakan, makanan ditampilkan di lokasi acak dalam area koordinat 270 derajat dari ukuran layar. Setiap kali ular mengambil makanan, skor pemain meningkat sebesar 5. Jika ular terlibat dalam tabrakan dengan pemain, skor mereka disetel ulang ke 0 dan layar mempertahankan skor tertingginya.

Kesimpulan

Pustaka kura-kura adalah cara yang menyenangkan dan sederhana untuk membuat game ular yang telah kita lihat di tutorial ini. Anda juga bisa menggunakan pustaka PyGame dengan Python untuk mengimplementasikan game yang sama. Cari tahu bagaimana Anda dapat memanfaatkan permainan secara berbeda dengan membaca ini PyGame instruksi.

Unduh Snake Rivals Fun Snake Game

Snake Run Race 3D Running Game

Unduh Snake.io – Game Ular .io yang Menyenangkan