Jogo da cobra usando o módulo Python

Estou confiante de que este ensaio será útil para você, se você é um fã do jogo das cobras. Vou orientá-lo nas etapas de criação de um jogo simples neste post que até mesmo os novatos em Python acharão fácil de criar.. A biblioteca PyGame em Python, que é um pacote Python que usamos para desenvolver jogos, é uma das várias abordagens para projetar o jogo.

Fazer uso da tartaruga da biblioteca é uma estratégia adicional. Os usuários podem gerar gráficos e desenhar formulários em uma tela online graças a este módulo, que já está instalado com o Python. assim, neste tutorial, usaremos a biblioteca turtle para construir nossa cobra fundamental

Jogo da Cobra em Python

  • módulo de tempo. Essa técnica nos permite rastrear a quantidade de segundos que se passaram desde o tempo anterior.
  • o jogo da cobra Módulo aleatório – Ele cria números aleatórios em Python.

Outras ferramentas necessárias incluem um editor de texto de sua preferência. Eu estarei usando o VSCode neste post. Claro, você precisará para configurar o Python 3 no seu dispositivo se você ainda não o tiver instalado. Você também pode baixar para instalar o Geekflare Compiler. Isso pode ser uma experiência muito agradável!

Conteúdo

Como funciona o jogo da cobra

Os jogadores devem manipular a cobra para adquirir a comida que é exibida na tela para conseguir a melhor pontuação possível neste jogo. O jogador direciona a cobra pressionando uma das quatro teclas direcionais que apontam na direção em que a cobra está se movendo.

A cobra será removida do jogo se atingir um jogador ou um objeto. Os procedimentos que usaremos para jogar este jogo daqui para frente.

  • Importando para nossos aplicativos os módulos pré-instalados (hora da tartaruga, tartaruga, bem como aleatório).
  • A exibição da tela do jogo é criada com o módulo Turtle.
  • Defina as teclas para controlar a direção do movimento da cobra na tela.
  • Implementação do jogo.

Crie o arquivo snakegame.py ao qual adicionaremos um programa de implementação.

Importando os módulos

Esta seção do programa carrega o tempo instalado pelo Python, tartaruga, e módulos aleatórios. Além disso, números padrão para a pontuação inicial do jogador, a pontuação máxima que podem alcançar, e a quantidade de tempo que o jogador demora entre cada jogada será definida. Para determinar quanto tempo foi atrasado, o módulo de tempo é necessário.

import turtle
import random
import time

player_score = 0
highest_score = 0
delay_time = 0.1

Fazendo a tela do jogo

O módulo tartaruga que instalamos nos permite criar uma tela virtual que servirá como tela da janela do jogo. Podemos então construir o corpo da cobra, bem como os alimentos que a cobra vai comer. A tela também mostrará a pontuação do rastreador do jogador.

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

O código no trecho acima mencionado estabelece a tela da tartaruga antes de adicionar um título inicial e uma cor de fundo. Primeiro escolhemos o tamanho antes de esboçar a forma da cobra em nossa tela digital. Para evitar que linhas sejam feitas enquanto a tartaruga está se movendo, o método penup pega a caneta da tartaruga.

Com o uso de sua técnica goto, a tartaruga pode ser direcionada para uma posição exata usando coordenadas. A comida que a cobra come é feita por nós.

Toda vez que a cobra junta comida, queremos exibir a pontuação de cada jogador. Também queremos mostrar a pontuação mais alta que uma pessoa recebe durante o jogo. Por esta razão, nós usamos canetas. Como a caneta, escrever. Descrever um método para completar.

A configuração das teclas de direção para a cobra

Neste caso, programamos certas teclas para controlar o movimento da cobra na tela. vamos usar a letra “eu” como a tecla esquerda, “R” para a esquerda, “você” para cima, e “D” para baixo. Essas instruções serão colocadas em prática chamando a cobra usando a função de direção da tartaruga.

Inclua os seguintes exemplos de código em seu.

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

Mover() função mencionada acima permite o movimento da cobra na posição especificada dentro de uma coordenada especificada. Ouvir() funciona como um ouvinte de eventos que chama os métodos que direcionam a cobra em uma determinada direção assim que o usuário pressiona o botão.

A implementação da jogabilidade do jogo na forma de uma cobra

O jogo precisará ser convertido em live-action após a estrutura fundamental ter sido estabelecida. Isso é o que vai incluir:

  • estendendo o comprimento da cobra por uma cor diferente cada vez que consome comida.
  • sempre que a cobra consome comida, a pontuação do jogador é aumentada, e a pontuação mais alta é rastreada.
  • A cobra pode ser segurada para protegê-la de bater contra a parede ou até mesmo contra seu próprio corpo.
  • Depois de atacar a cobra, o jogo continua.
  • Na tela, no entanto, é a pontuação mais alta do jogador, mesmo que a pontuação do jogador seja zerada quando o jogo for reiniciado.
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()

No trecho de código acima que usamos, atribuímos um local aleatório para a comida da cobra na tela. Cada vez que a cobra come a nutrição, o corpo cresce em uma cor diferente, branco neste caso, deixar claro que seu crescimento é distinto.

Quando a cobra recolheu a comida e não colidiu, a comida é exibida em um local aleatório dentro da área de coordenadas de 270 graus do tamanho da tela. Toda vez que a cobra pega comida, a pontuação do jogador aumenta em 5. Se a cobra estiver envolvida em uma colisão com o jogador, sua pontuação é redefinida para 0 e a tela mantém sua pontuação mais alta.

Conclusão

A biblioteca de tartarugas é uma maneira divertida e simples de fazer o jogo de cobras que vimos neste tutorial. Você também pode usar a biblioteca PyGame em Python para implementar o mesmo jogo. Descubra como você pode utilizar o jogo de forma diferente lendo estes PyGameGenericName instruções.

Baixar Snake Rivals Fun Snake Game

Jogo de corrida em 3D Snake Run Race

Baixe Snake.io – Jogos divertidos de Snake .io