tanques/clase_tanque.py
2023-06-01 00:39:26 +02:00

59 lines
2.2 KiB
Python

import pygame
from settings import Settings
class Tanque:
''' Esta clase gestiona el tanque '''
def __init__(self, juego):
self.settings = Settings()
''' Iniciar tanque y fija su posicion '''
self.screen = juego.screen
self.screen_rect = juego.screen.get_rect()
''' Leer imagen y cargar su rectangulo '''
self.vTanque = True
self.rutaImagen = 'imagenes/tanque_arriba_01.png'
''' Permitir movimiento continuo con teclas '''
self.mover_derecha = False
self.mover_izquierda = False
self.mover_arriba = False
self.mover_abajo = False
self.image = pygame.image.load(self.rutaImagen)
self.rect = self.image.get_rect()
''' Posicion inicial (abajo en el centro) '''
self.rect.midbottom = self.screen_rect.midbottom
def update(self):
if self.mover_derecha:
ruta = 'imagenes/tanque_derecha_'
self.rect.x += self.settings.velocidad_tanque
if self.rect.x >= 800 - 64:
self.rect.x = 800 - 64
elif self.mover_izquierda:
ruta = 'imagenes/tanque_izquierda_'
self.rect.x -= self.settings.velocidad_tanque
if self.rect.x <= 0:
self.rect.x = 0
elif self.mover_arriba:
ruta = 'imagenes/tanque_arriba_'
self.rect.y -= self.settings.velocidad_tanque
if self.rect.y <= 0:
self.rect.y = 0
elif self.mover_abajo:
ruta = 'imagenes/tanque_abajo_'
self.rect.y += self.settings.velocidad_tanque
if self.rect.y >= 600 - 64:
self.rect.y = 600 - 64
else:
trocear = self.rutaImagen.split('_')
ruta = trocear[0] + '_' + trocear[1] + '_'
''' Simular moviento ruedas tanque '''
if self.vTanque == True:
ruta = ruta + '01.png'
else:
ruta = ruta + '02.png'
self.rutaImagen = ruta
self.image = pygame.image.load(ruta)
self.vTanque = not self.vTanque
def blitme(self):
''' Pintar tanque en posicion actual '''
self.screen.blit(self.image, self.rect)