Tem 2 questões que não estou sabendo resolver para finalizar meu jogo.
1 - Quando a posição da cobra for a mesma que a da maçã, o tamanho da cobra tem que aumentar.
2 - quando o tamanho aumentar, sempre deixar o tamanho na altura.
OBS da 2 - Nas alterações que fiz tentando resolver, pude perceber que quando aumento o tamanho na ALTURA, quando o usuário mover a cobra para direita ou esquerda, a cobra fica com a orientação errada.
Preciso de uma ideia pra resolver essas 2 questões
se tiver alguma sugestão de melhoria para o meu codigo, por favor, me informem :))
######CODIGO##############
import pygame
from random import randint
##Variaveis Globais
branco=(255,255,255)
preto=(0,0,0)
vermelho=(255,0,0)
verde=(0,255,0)
azul=(0,0,255)
largura = 640
altura = 480
tamanho = 10
tamanhoMaca = 10 #pixels
tamanhoCobraAltura = 30
tamanhoCobraLargura = 10
try:
pygame.init()
except:
print("erro")
relogio = pygame.time.Clock() display = pygame.display.set_mode((largura, altura)) pygame.display.set_caption("snake") def cobra (posiX,posiY):
pygame.draw.rect(display, preto, [posiX, posiY, tamanhoCobraLargura, tamanhoCobraAltura])
def maca(macaX,macaY):
pygame.draw.rect(display, vermelho, [macaX, macaY, tamanhoMaca, tamanhoMaca])
def jogo():
sair = True
posiX=randint(0, (largura-tamanho)/10)*10
posiY=randint(0,(altura-tamanho)/10)*10
macaX = randint(0, (largura - tamanho) / 10) * 10
macaY = randint(0, (altura - tamanho) / 10) * 10
velocidadeX=0
velocidadeY=0
while sair:
for event in pygame.event.get(): if event.type == pygame.QUIT: sair = False
if event.type == pygame.KEYDOWN: if event.key == pygame.K_LEFT and velocidadeX != tamanho:
velocidadeY=0
velocidadeX=-tamanho
if event.key == pygame.K_RIGHT and velocidadeX != -tamanho:
velocidadeY=0
velocidadeX=tamanho
if event.key == pygame.K_UP and velocidadeY != tamanho:
velocidadeX=0
velocidadeY=-tamanho
if event.key == pygame.K_DOWN and velocidadeY != -tamanho:
velocidadeX=0
velocidadeY=tamanho
display.fill(branco) posiX+=velocidadeX posiY+=velocidadeY
cobra(posiY,posiX)
maca(macaX,macaY)
pygame.display.update() relogio.tick(15) if posiX > largura:
posiX = 0
if posiX < 0:
posiX = largura-tamanho
if posiY > altura:
posiY = 0
if posiY < 0:
posiY = altura - tamanho
if ((posiY == macaY) and (macaX == posiX)):
macaX = randint(0, (largura - tamanho) / 10) * 10
macaY = randint(0, (altura - tamanho) / 10) * 10
jogo()
pygame.quit()
Pergunta
Bersot
Tem 2 questões que não estou sabendo resolver para finalizar meu jogo.
1 - Quando a posição da cobra for a mesma que a da maçã, o tamanho da cobra tem que aumentar.
2 - quando o tamanho aumentar, sempre deixar o tamanho na altura.
OBS da 2 - Nas alterações que fiz tentando resolver, pude perceber que quando aumento o tamanho na ALTURA, quando o usuário mover a cobra para direita ou esquerda, a cobra fica com a orientação errada.
Preciso de uma ideia pra resolver essas 2 questões
se tiver alguma sugestão de melhoria para o meu codigo, por favor, me informem :))
######CODIGO##############
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.