This is the code:
import pygame,sys
from pygame.locals import *
from random import randint
ancho = 1280
alto = 720
class Snake(pygame.sprite.Sprite):
def __init__(self):
pygame.sprite.Sprite.__init__(self)
self.ImageS = pygame.image.load("sprites/disparo1.png")
self.ImageSnake = pygame.image.load("sprites/cazador1 der.png")
self.rect = self.ImageSnake.get_rect()
self.rectS = self.ImageS.get_rect()
self.rect.centerx = 80
self.rect.centery = 80
self.ShotList= []
self.vel = 1
self.velS = 5
self.vidas = 3
self.viviendo = True
self.AS = False
def draw(self, ventana):
ventana.blit(self.ImageSnake, self.rect)
def move(self):
keys = pygame.key.get_pressed()
if keys[K_DOWN]:
self.rect.y += self.vel
if self.rect.bottom > 720:
self.rect.bottom = 720
if keys[K_UP]:
self.rect.y -= self.vel
if self.rect.top < 0:
self.rect.top = 0
if keys[K_RIGHT]:
self.rect.x += self.vel
if self.rect.right > 1280:
self.rect.right = 1280
if keys[K_LEFT]:
self.rect.x -= self.vel
if self.rect.left < 0:
self.rect.left = 0
def shoot(self, ventana):
keys = pygame.key.get_pressed()
if keys[K_SPACE] and not self.AS:
self.AS = True
self.rectS.right = self.rect.right + 10
self.rectS.top = self.rect.centery
if self.AS:
self.rectS.left = self.rectS.left + self.velS
if self.rectS.right > 1280:
self.AS = False
def drawShoot(self, ventana):
if self.AS:
ventana.blit(self.ImageS, self.rectS)
ventana.blit(self.ImageSnake, self.rect)
pygame.display.flip()
class zombieN1(pygame.sprite.Sprite):
def __init__(self):
pygame.sprite.Sprite.__init__(self)
self.ImageEnemy1 = pygame.image.load("sprites/zombie1 izq.png")
self.rect = self.ImageEnemy1.get_rect()
self.s = Snake()
self.y = self.s.rect.top
self.x = randint(1016,1280)
self.rect.top = self.y
self.rect.right = self.x
self.vel = 1
self.viviendo = True
self.vidas = 1
def movement(self):
self.rect.left = self.rect.left - self.vel
def destroy(self):
pass
def draw(self, ventana):
ventana.blit(self.ImageEnemy1, self.rect)
def Game():
pygame.init()
pygame.key.set_repeat(1,25)
ventana = pygame.display.set_mode((ancho, alto))
pygame.display.set_caption("Game")
Player = Snake()
Enemy1 = zombieN1()
BG = pygame.image.load("sprites/fondo.png")
InGame = True
ronda1 = True
while True:
Enemy1.destroy()
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
sys.exit()
if InGame == True:
Player.move()
Player.shoot(ventana)
ventana.fill((205,69,159))
if ronda1 == True:
Enemy1.draw(ventana)
Enemy1.movement()
Enemy1.follow()
Player.draw(ventana)
Player.drawShoot(ventana)
pygame.display.update()
Game()
zombieN1
it constantly moves all the way to the left as seen in your def movement()
. I want that when it zombieN1
collides with the one disparo(rectS)
of Snake
, zombieN1
it is destroyed. Could any of you help me? If you need more information or a better explanation, tell me. I use Python 3.6.3.