Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
- from configuraciones import *
- from utilidades import *
- def mover_pinguino(posicion, direccion, radio,frozzi_speed_factor):
- x = posicion[0]
- y = posicion[1]
- if direccion == 'N':
- y -= frozzi_speed_factor
- if direccion == 'S':
- y += frozzi_speed_factor
- if direccion == 'E':
- x += frozzi_speed_factor
- if direccion == 'O':
- x -= frozzi_speed_factor
- if x+radio>719:
- x = 719-radio
- if x-radio<0:
- x=radio
- if y<500:
- y=500
- if y+radio>599:
- y = 599-radio
- return (x,y)
- def crear_proyectil(tipo,frozzi, proyectiles_elementos):
- x = frozzi["posicion"][0]
- y = frozzi["posicion"][1]
- frozzi["municion"] -=1
- proyectiles_elementos[tipo].add( (x,y) )
- return
- def detectar_colision_borde_proyectil(coordenada,direccion):
- return (coordenada[1] == 0 and direccion == "N") or (coordenada[1] == 600 and direccion == "S")
- def mover_proyectiles(elementos,proyectiles_elementos,radios,speed_factor):
- aux_bolas = set()
- aux_copos = set()
- aux_peces = set()
- for bola in proyectiles_elementos["bolas_fuego"]:
- x = bola[0]
- y = bola[1]
- if (0<=x<=720 and 0<=y<=600):
- aux_bolas.add( (x,y+speed_factor["bolas_fuego"]))
- for bola in proyectiles_elementos["copos_nieve"]:
- x = bola[0]
- y = bola[1]
- if (0<=x<=720 and 0<=y<=600):
- aux_copos.add( (x,y-speed_factor["copos_nieve"]))
- for bola in proyectiles_elementos["peces"]:
- x = bola[0]
- y = bola[1]
- if (0<=x<=720 and 0<=y<=600):
- aux_peces.add( (x,y+speed_factor["peces"]))
- proyectiles_elementos["bolas_fuego"] = aux_bolas
- proyectiles_elementos["copos_nieve"] = aux_copos
- proyectiles_elementos["peces"] = aux_peces
- return
- def detectar_colisiones(frozzi,radios,elementos,proyectiles_elementos):
- f_x = frozzi["posicion"][0]
- f_y = frozzi["posicion"][1]
- for copo in list(proyectiles_elementos["copos_nieve"]):
- a=copo[0]
- b=copo[1]
- for bola in list(proyectiles_elementos["bolas_fuego"]):
- x = bola[0]
- y = bola[1]
- if (x-a)**2 + (y-b)**2 < radios["bolas_fuego"]**2:
- if copo in proyectiles_elementos["copos_nieve"]:
- proyectiles_elementos["copos_nieve"].remove(copo)
- if bola in proyectiles_elementos["bolas_fuego"]:
- proyectiles_elementos["bolas_fuego"].remove(bola)
- frozzi["bolas_fuego"] +=1
- for bola in list(proyectiles_elementos["bolas_fuego"]):
- x = bola[0]
- y = bola[1]
- if ((-f_x + x)**2 + (-f_y + y)**2 < radios["frozzi"]**2 ):
- proyectiles_elementos["bolas_fuego"].remove(bola)
- frozzi["vidas"] -=1
- for pez in list(proyectiles_elementos["peces"]):
- x = pez[0]
- y = pez[1]
- if ((-f_x + x)**2 + (-f_y + y)**2 < radios["frozzi"]**2 ):
- proyectiles_elementos["peces"].remove(pez)
- frozzi["peces"] +=1
- return dict()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement