Advertisement
Guest User

Python Waves

a guest
Dec 12th, 2019
168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.59 KB | None | 0 0
  1. import pygame
  2. import math
  3. import random
  4.  
  5. def map(n, start1, stop1, start2, stop2):
  6.     return ((n-start1)/(stop1-start1))*(stop2-start2)+start2
  7.  
  8. pygame.init()
  9.  
  10. WIDTH, HEIGHT = 800, 600
  11. cx, cy = WIDTH // 2, HEIGHT // 2
  12.  
  13. screen = pygame.display.set_mode((WIDTH, HEIGHT))
  14. pygame.display.set_caption('Waves')
  15.  
  16. background_image = pygame.image.load("background.jpg")
  17. background_image = pygame.transform.scale(background_image, (WIDTH, HEIGHT))
  18.  
  19. class Wave:
  20.     def __init__(self, x, y, angle):
  21.         self.x = x
  22.         self.y = y
  23.         self.height = 100
  24.  
  25.         self.max_height = 150
  26.         self.min_height = 20
  27.  
  28.         self.angle = angle
  29.  
  30.     def show(self):
  31.         pygame.draw.rect(screen, (255, 255, 255), (self.x, self.y, 30, self.height))
  32.         pygame.draw.rect(screen, (0, 0, 0), (self.x, self.y, 30, self.height), 2)
  33.  
  34.     def update(self):
  35.         self.angle += .1
  36.         self.height = int(map(math.sin(self.angle), -1, 1, -self.min_height, -self.max_height))
  37.  
  38.  
  39. waves = []
  40. for i in range(17):
  41.     waves.append(Wave(128 + (i * 32), cy + cy // 2, -i))
  42.  
  43. run = True
  44. while run:
  45.     pygame.time.Clock().tick(120)
  46.     for event in pygame.event.get():
  47.         if event.type == pygame.QUIT: run = False
  48.         if event.type == pygame.KEYDOWN:
  49.             if event.key == pygame.K_SPACE:
  50.                 # Send A Wave Signal
  51.                 pass
  52.  
  53.     # screen.fill((50, 50, 50))
  54.     screen.blit(background_image, (0, 0))
  55.  
  56.     # pygame.draw.rect(screen, ())
  57.     for wave in waves:
  58.         wave.show()
  59.         wave.update()
  60.  
  61.     pygame.display.update()
  62.  
  63. pygame.quit()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement