Advertisement
jukaukor

Superpallo_pomppii.py

Aug 8th, 2021
39
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.35 KB | None | 0 0
  1. # pallo pomppaa maan pinnasta, menettää nopeudesta 5 % joka pompulla
  2. import pygame
  3. y0 = 10.0 # alkukorkeus m
  4. v0 = 0.0 # alkunopeus m/s
  5. t0 = 0.0 # aloitusaika
  6. r = 0.25 # pomppupallon säde
  7. g = 9.81 # putouskiihtyvyys m/s²
  8. # Maa 9.81 m/s², Kuu 1.622 m/s², Mars = 3.74 m/s², voit muuttaa g:n arvoa
  9. Dt = 1/300.0 #aika-askel
  10. T = 7000 # simulaation kesto askeleina, aika = 7000/300=23 s
  11. y = y0
  12. v = v0
  13. t = t0
  14. pomput = 0
  15. # pallo 400 pixelin = 10 m korkeudella maasta
  16. # pallon säde r = 0.25 m = 10 pixeliä
  17. (width,height) = (800,600)
  18. screen = pygame.display.set_mode((width, height))
  19. pygame.display.set_caption("Pomppiva pallo")
  20. black = (0,0,0)
  21. yellow =(255,255,0)
  22. red = (255,0,0)
  23. screen.fill(black)
  24. pygame.draw.line(screen, red, (100,500),(700,500), 4)
  25. pygame.display.flip()
  26. # pomppiminen alkaa
  27. for j in range (0,T) :
  28. v = v - g*Dt
  29. y = y + v*Dt-g*Dt*Dt/2
  30. pygame.draw.circle(screen, yellow, (400, int(500-40*y)), int(40*r))
  31. pygame.display.flip()
  32. # ruudun päivytyksen viive vakioidaan
  33. pygame.time.delay(2)
  34. pygame.draw.circle(screen, black, (400, int(500-40*y)), int(40*r))
  35. # onko pallo lattiassa
  36. if y <= r + 0.03 and v < 0:
  37. v = -0.95*v
  38. pomput = pomput+1
  39. # näytetään pomppujen lukumäärä
  40. pygame.display.set_caption("Pomppiva pallo: Pomppuja "+str(pomput))
  41. t = t + Dt
  42.  
  43.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement