Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import pygame
- import math
- import random
- def map(n, start1, stop1, start2, stop2):
- return ((n-start1)/(stop1-start1))*(stop2-start2)+start2
- pygame.init()
- WIDTH, HEIGHT = 800, 600
- cx, cy = WIDTH // 2, HEIGHT // 2
- screen = pygame.display.set_mode((WIDTH, HEIGHT))
- pygame.display.set_caption('Waves')
- background_image = pygame.image.load("background.jpg")
- background_image = pygame.transform.scale(background_image, (WIDTH, HEIGHT))
- class Wave:
- def __init__(self, x, y, angle):
- self.x = x
- self.y = y
- self.height = 100
- self.max_height = 150
- self.min_height = 20
- self.angle = angle
- def show(self):
- pygame.draw.rect(screen, (255, 255, 255), (self.x, self.y, 30, self.height))
- pygame.draw.rect(screen, (0, 0, 0), (self.x, self.y, 30, self.height), 2)
- def update(self):
- self.angle += .1
- self.height = int(map(math.sin(self.angle), -1, 1, -self.min_height, -self.max_height))
- waves = []
- for i in range(17):
- waves.append(Wave(128 + (i * 32), cy + cy // 2, -i))
- run = True
- while run:
- pygame.time.Clock().tick(120)
- for event in pygame.event.get():
- if event.type == pygame.QUIT: run = False
- if event.type == pygame.KEYDOWN:
- if event.key == pygame.K_SPACE:
- # Send A Wave Signal
- pass
- # screen.fill((50, 50, 50))
- screen.blit(background_image, (0, 0))
- # pygame.draw.rect(screen, ())
- for wave in waves:
- wave.show()
- wave.update()
- pygame.display.update()
- pygame.quit()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement