Advertisement
Guest User

Untitled

a guest
May 25th, 2019
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.04 KB | None | 0 0
  1. import pygame
  2. from pygame import *
  3. from math import *
  4. import random
  5. import sys
  6. import time
  7.  
  8. MAX_X = 1080
  9. MAX_Y = 720
  10. MAX_SNOW = 100
  11. SNOW_SIZE = 32
  12.  
  13. class Snow():
  14. def __init__(self, x, y):
  15. self.x = x
  16. self.y = y
  17. self.speed = random.randint(1, 3)
  18. self.img_num = random.randint(1, 4)
  19. self.image_filename = "snow" + str(self.img_num) + ".png"
  20. self.image = pygame.image.load(self.image_filename).convert_alpha()
  21. self.image = pygame.transform.scale(self.image, (SNOW_SIZE, SNOW_SIZE))
  22.  
  23. def move_snow(self):
  24. self.y = self.y + self.speed
  25. if self.y > MAX_Y:
  26. self.y = (0 - SNOW_SIZE)
  27.  
  28. i = random.randint(1, 3)
  29. if i == 1: # Move RIGHT
  30. self.x += 1
  31. if self.x > MAX_X:
  32. self.x = (0 - SNOW_SIZE)
  33. elif i == 2: # Move LEFT
  34. self.x -= 1
  35. if self.x < (0 - SNOW_SIZE):
  36. self.x = MAX_X
  37.  
  38. def draw_snow(self):
  39. screen.blit(self.image, (self.x, self.y))
  40.  
  41.  
  42. def initilize_snow(max_snow, snowfall):
  43. for i in range(0, max_snow):
  44. xx = random.randint(0, MAX_X)
  45. yy = random.randint(0, MAX_Y)
  46. snowfall.append(Snow(xx, yy))
  47.  
  48. def check_for_exit():
  49. for event in pygame.event.get():
  50. if event.type == pygame.KEYDOWN or event.type == pygame.QUIT:
  51. sys.exit()
  52.  
  53. def draw_car():
  54. car.fill(unvis)
  55. draw.rect(car, RED, [0, 300, 300, 40])
  56. draw.rect(car, BLACK, [80, 220, 150, 80])
  57. draw.rect(car, WINDOW, [82, 222, 70, 78])
  58. draw.rect(car, WINDOW, [155, 222, 73, 78])
  59. draw.circle(car, BLACK, [195, 260] , 10)
  60. draw.line(car, BLACK, [195,260], [195,300])
  61. draw.line(car, BLACK, [218,275], [228, 300])
  62. draw.circle(car, BLACK, [218, 280] , 7)
  63. draw.line(car, BLACK, [195, 280],[218,275])
  64. draw.rect(car, YELLOW, [280, 310, 20, 10])
  65. draw.rect(car, YELLOW, [0, 310, 20, 10])
  66. draw.rect(car, BLACK, [90, 310, 15, 5])
  67. draw.rect(car, BLACK, [165, 310, 15, 5])
  68.  
  69. def draw_wheel():
  70. wheel.fill(unvis)
  71. draw.circle(wheel, ORANGE, [50, 50], 25)
  72. draw.line(wheel, BLACK, [50,50], [50,25])
  73. draw.line(wheel, BLACK, [50,50], [25,50])
  74. draw.line(wheel, BLACK, [50,50], [50,75])
  75. draw.line(wheel, BLACK, [50,50], [75,50])
  76.  
  77. def rotate(surf, rect, angle):
  78. new_sur = transform.rotate(surf, angle)
  79. rect = new_sur.get_rect(center = rect.center)
  80. return new_sur, rect
  81.  
  82. pygame.init()
  83. clock = pygame.time.Clock()
  84.  
  85. BLACK = (0, 0, 0)
  86. WHITE = (255, 255, 255)
  87. GREEN = (0, 255, 0)
  88. RED = (255, 0, 0)
  89. BLUE = (15, 231, 255)
  90. GREY = (186, 182, 182)
  91. YELLOW = (246, 255, 0)
  92. WINDOW = (157, 214, 232)
  93. ORANGE = (247, 112, 2)
  94. unvis = (186, 1, 146)
  95.  
  96. screen = display.set_mode((600,400),0,32)
  97. display.set_caption("Animation")
  98.  
  99. bg = Surface(screen.get_size())
  100. car = Surface((400,400))
  101. wheel = Surface((100,100))
  102.  
  103.  
  104. car.set_colorkey(unvis)
  105. bg.set_colorkey(unvis)
  106. wheel.set_colorkey(unvis)
  107. screen.set_colorkey(unvis)
  108.  
  109. bg.fill((0, 128, 255))
  110. draw.rect(bg, GREY, [0,250,600,200])
  111.  
  112. orig_wheel = wheel
  113. rect = wheel.get_rect(center=(50,50))
  114. angle = 0
  115.  
  116. x = 0
  117. y = 320
  118. for i in range(20):
  119. draw.rect(bg, WHITE, [x,y,20, 10])
  120. x += 40
  121.  
  122. car_x = 0
  123. cloud_X = -500
  124. angle = -1
  125.  
  126.  
  127. draw_car()
  128. draw_wheel()
  129.  
  130. bg_color = (0, 128, 255)
  131. snowfall = []
  132.  
  133. initilize_snow(MAX_SNOW, snowfall)
  134.  
  135. run = True
  136. while run:
  137. for event in pygame.event.get():
  138. if event.type == pygame. KEYDOWN or event.type == pygame.QUIT:
  139. run = False
  140.  
  141. for i in snowfall:
  142. i.move_snow()
  143. i.draw_snow()
  144. time.sleep(0.0040)
  145.  
  146. pygame.display.flip()
  147.  
  148.  
  149. screen.blit(bg, (0,0))
  150. screen.blit(car,(car_x,0))
  151.  
  152. wheel, rect = rotate(orig_wheel, rect, angle)
  153. x1 = rect[0]
  154. y1 = rect[1]
  155. screen.blit(wheel,[x1+ car_x, y1 + 288])
  156. screen.blit(wheel,[x1 + car_x + 200, y1 + 288])
  157.  
  158. if car_x > 600:
  159. car_x = -400
  160.  
  161.  
  162. car_x += 2
  163. angle -= 2
  164.  
  165. clock.tick(60)
  166.  
  167. pygame.quit()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement