Snake Game nell'uso del modulo Python

Sono fiducioso che questo saggio ti sarà utile se sei un fan del gioco dei serpenti. Ti guiderò attraverso i passaggi della creazione di un semplice gioco in questo post che anche i neofiti di Python troveranno facile da creare. La libreria PyGame in Python, che è un pacchetto Python che usiamo per sviluppare giochi, è uno dei vari approcci per progettare il gioco.

L'utilizzo della libreria tartaruga è un'ulteriore strategia. Gli utenti possono generare grafica e disegnare forme su una tela online grazie a questo modulo, che è già installato con Python. Così, in questo tutorial, useremo la libreria delle tartarughe per costruire il nostro serpente fondamentale

Gioco del serpente in Python

  • modulo orario. Questa tecnica ci consente di tenere traccia della quantità di secondi trascorsi dall'ultima volta.
  • il gioco del serpente Modulo casuale – Crea numeri casuali in Python.

Altri strumenti di cui avrai bisogno includono un editor per il testo che preferisci. Userò VSCode in questo post. Ovviamente, ti servirà per configurare Python 3 sul tuo dispositivo se non l'hai già installato. Puoi anche scaricare per installare Geekflare Compiler. Questa potrebbe essere un'esperienza molto piacevole!

Contenuto

Come funziona il gioco del serpente

I giocatori devono manipolare il serpente per acquisire il cibo visualizzato sullo schermo per ottenere il miglior punteggio possibile in questo gioco. Il giocatore dirige il serpente premendo uno dei quattro tasti direzionali che puntano nella direzione in cui si sta muovendo il serpente.

Il serpente verrà rimosso dal gioco se colpisce un giocatore o un oggetto. Le procedure che useremo per giocare a questo gioco vanno avanti.

  • Importare nelle nostre applicazioni i moduli preinstallati (tempo di tartaruga, tartaruga così come casuale).
  • La visualizzazione dello schermo del gioco è creata con il modulo Turtle.
  • Imposta i tasti per controllare la direzione del movimento del serpente sullo schermo.
  • L'implementazione del gioco.

Crea il file snakegame.py a cui aggiungeremo un programma di implementazione.

Importazione dei moduli

Questa sezione del programma carica l'orario di installazione di Python, tartaruga, e moduli casuali. Inoltre, numeri predefiniti per il punteggio iniziale del giocatore, il punteggio massimo che possono raggiungere, e verrà definita la quantità di tempo che il giocatore ritarda tra ogni mossa. Per determinare quanto tempo è stato ritardato, è necessario il modulo tempo.

import turtle
import random
import time

player_score = 0
highest_score = 0
delay_time = 0.1

Creare lo schermo del gioco

Il modulo tartaruga che installiamo ci consente di creare uno schermo virtuale che fungerà da schermo della finestra del gioco. Possiamo quindi costruire il corpo del serpente, così come gli alimenti che il serpente mangerà. Lo schermo mostrerà anche il punteggio del tracker del giocatore.

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

Il codice nel suddetto estratto stabilisce la schermata della tartaruga prima di aggiungere un titolo iniziale e un colore di sfondo. Per prima cosa scegliamo la dimensione prima di disegnare la forma del serpente sulla nostra tela digitale. Per evitare che vengano tracciate linee mentre la tartaruga è in movimento, il metodo penup preleva la penna della tartaruga.

Con l'uso della sua tecnica goto, la tartaruga può essere indirizzata verso una posizione esatta utilizzando le coordinate. Il cibo che mangia il serpente è fatto da noi.

Ogni volta che il serpente raccoglie cibo, vogliamo visualizzare il punteggio di ogni giocatore. Vogliamo anche mostrare il punteggio più alto che una persona riceve durante il gioco. Per questa ragione, usiamo le penne. Come la penna, scrivere. Descrivi un metodo da completare.

L'impostazione delle chiavi di direzione per il serpente

In questo caso, programmiamo determinati tasti per controllare il movimento del serpente sullo schermo. Useremo la lettera “l” come tasto sinistro, “R” per sinistra, “tu” per verso l'alto, e “D” per verso il basso. Queste istruzioni verranno messe in pratica chiamando il serpente utilizzando la funzione di direzione della tartaruga.

Includi i seguenti esempi di codice nel tuo file.

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

Mossa() la funzione sopra menzionata consente il movimento del serpente nella posizione specificata all'interno di una coordinata specificata. Ascoltare() funziona come un ascoltatore di eventi che chiama i metodi che dirigono il serpente in una certa direzione una volta che l'utente preme il pulsante.

L'implementazione del gameplay del gioco sotto forma di un serpente

Il gioco dovrà essere convertito in un live-action dopo che la struttura fondamentale sarà stata stabilita. Questo è ciò che includerà:

  • estendendo la lunghezza del serpente di un colore diverso ogni volta che consuma cibo.
  • ogni volta che il serpente consuma cibo, il punteggio del giocatore aumenta, e il punteggio più alto viene quindi monitorato.
  • Il serpente può essere tenuto per proteggerlo dallo sbattere contro il muro o addirittura contro il proprio corpo.
  • Dopo aver colpito il serpente, il gioco continua.
  • Sullo schermo invece, è il punteggio più alto del giocatore anche se il punteggio del giocatore viene azzerato quando il gioco viene riavviato.
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()

Nello snippet di codice sopra che abbiamo usato, abbiamo assegnato un posto casuale per il cibo del serpente sullo schermo. Ogni volta che il serpente mangia la nutrizione, il corpo cresce in un colore diverso, bianco in questo caso, per chiarire che la sua crescita è distinta.

Quando il serpente ha raccolto il cibo e non si scontra, il cibo viene visualizzato in una posizione casuale all'interno dell'area di coordinate di 270 gradi delle dimensioni dello schermo. Ogni volta che il serpente prende cibo, il punteggio del giocatore aumenta di 5. Se il serpente è coinvolto in una collisione con il giocatore, il loro punteggio viene ripristinato 0 e lo schermo mantiene il suo punteggio più alto.

Conclusione

La libreria delle tartarughe è un modo semplice e divertente per creare il gioco dei serpenti che abbiamo visto in questo tutorial. Puoi anche utilizzare la libreria PyGame in Python per implementare lo stesso gioco. Scopri come puoi utilizzare il gioco in modo diverso leggendo questi PyGame Istruzioni.

Scarica Snake Rivals Fun Snake Game

Gioco di corsa Snake Run Race 3D

Scarica Snake.io - Divertenti giochi Snake .io