#-*- coding:utf-8 -*-
import pygame
import sys
import math
ANCHO, ALTO = 1200,720
BLANCO = (255, 255, 255)
NEGRO = (0, 0, 0)
ROJO = (255, 0, 0)
FPS =30
def cerca(a,b,distancia):
if (math.sqrt(((b.x - a.x)**2) + ((b.y - a.y)**2))) < distancia:return True
else: return False
class Jugador():
def __init__(self,color,posx,posy):
self.color=color
self.posx=posx
self.posy=posy
self.cuadro= pygame.Rect(self.posx,self.posy,60,60)
def dibujar(self,pantalla):
pygame.draw.rect(pantalla,self.color,self.cuadro)
def main():
pygame.init()
pantalla = pygame.display.set_mode((ANCHO,ALTO))
pygame.display.set_caption("Persigue")
reloj = pygame.time.Clock()
jugador1=Jugador(BLANCO,100,100)
jugador2 = Jugador(ROJO,1000,300)
jugar = True
while jugar:
reloj.tick(FPS)
for event in pygame.event.get():
if event.type == pygame.QUIT:
jugar = False
pulsada = pygame.key.get_pressed()
if pulsada[pygame.K_w]:
jugador1.cuadro.top -= 10
if pulsada[pygame.K_s]:
jugador1.cuadro.bottom += 10
if pulsada[pygame.K_a]:
jugador1.cuadro.left -= 10
if pulsada[pygame.K_d]:
jugador1.cuadro.right += 10
if jugador1.cuadro.x > ANCHO - jugador1.cuadro.width: jugador1.cuadro.x = ANCHO - jugador1.cuadro.width
if jugador1.cuadro.x < 0: jugador1.cuadro.x = 0
if jugador1.cuadro.y > ALTO - jugador1.cuadro.height: jugador1.cuadro.y = ALTO - jugador1.cuadro.height
if jugador1.cuadro.y < 0: jugador1.cuadro.y = 0
if jugador2.cuadro.x > ANCHO - jugador2.cuadro.width: jugador2.cuadro.x = ANCHO - jugador2.cuadro.width
if jugador2.cuadro.x < 0: jugador2.cuadro.x = 0
if jugador2.cuadro.y > ALTO - jugador2.cuadro.height: jugador2.cuadro.y = ALTO - jugador2.cuadro.height
if jugador2.cuadro.y < 0: jugador2.cuadro.y = 0
pantalla.fill(NEGRO)
pygame.draw.line(pantalla,BLANCO,(ANCHO/2,0),(ANCHO / 2 ,ALTO),3)
jugador1.dibujar(pantalla)
jugador2.dibujar(pantalla)
if cerca(jugador1.cuadro,jugador2.cuadro,480):
if jugador1.cuadro.x < jugador2.cuadro.x:
jugador2.cuadro.right -= 5
elif jugador1.cuadro.x > jugador2.cuadro.x:
jugador2.cuadro.right += 5
if jugador1.cuadro.y < jugador2.cuadro.y:
jugador2.cuadro.top -= 5
elif jugador1.cuadro.y > jugador2.cuadro.y:
jugador2.cuadro.top += 5
pygame.display.flip()
if __name__ == "__main__":
main()
pygame.quit()
sys.exit()