Al anterior juego de disparo vamos a añadir una colisión.

Definimos para ello tres clases con tres objetos que agrupamos en dos listas.

import pygame
import sys, random
pygame.init()

class Arco(pygame.sprite.Sprite):
    def __init__(self):
        super().__init__()
        self.image = pygame.image.load("E:/NUEVO 2020/PYTHON/pygame/Anima2/arco250.png").convert_alpha()
        self.rect=self.image.get_rect() 
    def update(self):
        x,y = pygame.mouse.get_pos()
        nave.rect.x=x
        nave.rect.y =500

class Flecha(pygame.sprite.Sprite):
    def __init__(self):
        super().__init__()
        self.image = pygame.image.load("E:/NUEVO 2020/PYTHON/pygame/Anima2/flecha150.png").convert_alpha()
        self.rect=self.image.get_rect() 
    def update(self):
        self.rect.y -= 5
        
class Manzana(pygame.sprite.Sprite):
    def __init__(self):
        super().__init__()
        self.image = pygame.image.load("E:/NUEVO 2020/PYTHON/pygame/manzanilla.png").convert_alpha()
        self.rect=self.image.get_rect() 
              
ancho = 1080 
alto = 700

flechaLista=pygame.sprite.Group()
manzanaLista=pygame.sprite.Group()

Definimos la ventana

#----------------Ventana y título---------------------
ventana = pygame.display.set_mode((ancho,alto)) 
pygame.display.set_caption('Arco fruta')
clock=pygame.time.Clock()

pygame.mouse.set_visible(1) #Oculto el puntero en 0
fondo =pygame.image.load("E:/NUEVO 2020/PYTHON/pygame/Fondo/bosque.png").convert()

A continuación creamos un bucle para distribuir las manzanas de forma aleatoria de x e y.

for i in range(20):
    manzana=Manzana()
    manzana.rect.x=random.randrange(100,800,50)
    manzana.rect.y=random.randrange(0,350,50)
    
    manzanaLista.add(manzana)

Abrimos el bucle y asignamos valores a coordenadas de la flecha con el puntero del ratón

#/////////////////Bucle del juego/////////////////
gameOver=False
while not gameOver:
    clock.tick(60)
    
    for event in pygame.event.get():
        
        if event.type == pygame.QUIT:
            gameOver=True
    
        if event.type == pygame.MOUSEBUTTONDOWN: 
            flecha=Flecha()
            flecha.rect.x=x+85
            flecha.rect.y=600-90
            flechaLista.add(flecha)

En la parte lógica definimos la colisión de las flechas con la lista de manzanas, de forma que cuando se produzca una colisión las manzanas desaparezcan de la lista.

    #------------ LOGICA -------------------
    flechaLista.update()
    for tiro in flechaLista:
        if pygame.sprite.spritecollide(tiro, manzanaLista, True):
            flechaLista.remove(tiro)

Definimos el fondo, dibujamos los objetos y cerramos.

    #-------------FONDO---------------------
    ventana.blit(fondo, [0,0])
    #------------ DIBUJO ------------------
    x,y=pygame.mouse.get_pos()
    ventana.blit(arco.image, [x,500])
    manzanaLista.draw(ventana)
    flechaLista.draw(ventana)
    
    pygame.display.flip()
pygame.quit()

Juande Marín

Profesor de Marketing digital, divulgador de inteligencia artificial y neuroeducación. Especializado en posicionamiento en buscadores y diseño web. Autor de varios libros relacionados con el comercio electrónico y el marketing digital (McGraw Hill, Paraninfo,…) Juande2marin

ComercioyMarketing

¿Quién me pone el ROL de profesor?

El profesor o profesora debe seguir el mismo proceso de automatriculación del alumnado, y una vez completado el proceso debe solicitar que el gestor del campus le cambie el rol para que pueda acceder al contenido exclusivo del profesor. No se hace de forma automatizada para evitar filtraciones. Puede solicitar el cambio de ROL al mail: infor@comercioymarketing.es

¿Cómo doy de alta al alumnado?

Cada alumno puede darse de alta accediendo al Instituto y al módulo desde el el CAMPUS.comercioymarketing.es Durante el proceso tendrá que rellenar un formulario y al finalizar deberá introducir la clave de matriculación que se facilitará al profesor a través de correo electrónico: info@comercioymarketing.es

Presentación del campus.

¿Puedo descargar el ebook?

Todo el material está protegido por los derechos de autor y la Ley de Propiedad Intelectual. No se puede descargar ni difundir total o parcialmente. No obstante si algún alumno desea el material en formato papel podrá adquirirlo en la editorial LULU.com

Para localizar los libros se puede hacer una búsqueda en la propia web por título o autor: Juan de Dios Marín Peñas. Los libros en papel suelen estar promocionados para el alumnado matriculado (75% de descuento).

¿Se adapta a normativa?

Todo el material didáctico está adaptado al Real Decreto del Ciclo Formativo y responde a los Resultados de Aprendizaje que se deben alcanzar.

Para facilitar la evaluación se facilita un cuadro de actividades y su relación con los criterios de evaluación y RA.

¿Cómo se paga?

Los alumnos y alumnas pueden pagar directamente ingresando o transfiriendo el importe de la matrícula a la cuenta facilitada por el gestor del campus (info@comercioymarketing.es).

Para facilitar la identificación de los pagos se aconseja que se hagan de forma agrupada por clase y se identifique el Instituto cuando se haga el ingreso.

 

¿Cuánto cuesta?

El coste es de 7€ al año por cada uno de los módulos que contrate el alumno. El profesor y el Instituto no pagan nada. Estos 7€ da derecho a 9 meses de matriculación con acceso al material didáctico, vídeos, actividades, hosting, etc.


¿Quieres un material didáctico adaptado y actualizado?

Si estás buscando herramientas didácticas adaptadas a las nuevas tecnologías, si quieres utilizar la inteligencia artificial de forma didáctica aportando valor y quieres dinamizar tus clases; nuestra plataforma didáctica interactiva es la solución. Facilitamos material didáctico actualizado, dinámico, interactivo, práctico, editable y motivador.

Contactanos

Categorías