Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # pomppaa maan pinnasta, menettää nopeudesta 5 % joka pompulla
- # putouskiihtyvyys g = 9.81 m/s²
- # ei ilmanvastustusta
- # alkunopeus 0 m/s
- # näytetään 800*600 -pygamen ikkunassa
- # Juhani Kaukoranta 22.01.2019
- import pygame
- # alkukorkeys, alkunopeus,pallon säde, putouskiihtyvyys
- y0 = 10.0
- v0 = 0.0
- t0 = 0.0
- r = 0.25
- g = 9.81
- # Maa 9.81 m/s², Kuu 1.622 m/s², Mars = 3.74 m/s², voit muuttaa g:n arvoa
- Dt = 1/300.0
- T = 7000
- y = y0
- v = v0
- t = t0
- pomput = 0
- # pallo 400 pixelin = 10 m korkeudella maasta
- # pallon säde r = 0.25 m = 10 pixeliä
- (width,height) = (800,600)
- screen = pygame.display.set_mode((width, height))
- pygame.display.set_caption("Pomppiva pallo")
- black = (0,0,0)
- yellow =(255,255,0)
- red = (255,0,0)
- screen.fill(black)
- pygame.draw.line(screen, red, (100,500),(700,500), 4)
- pygame.display.flip()
- # pomppiminen alkaa
- for j in range (0,T) :
- v = v - g*Dt
- y = y + v*Dt-g*Dt*Dt/2
- pygame.draw.circle(screen, yellow, (400, int(500-40*y)), int(40*r))
- pygame.display.flip()
- # ruudun päivytyksen viive vakioidaan
- pygame.time.delay(2)
- pygame.draw.circle(screen, black, (400, int(500-40*y)), int(40*r))
- # onko pallo lattiassa
- if y <= r + 0.03 and v < 0:
- v = -0.95*v
- pomput = pomput+1
- t = t + Dt
- pygame.display.set_caption("Pomppiva pallo: Pomppuja "+str(pomput))
Advertisement
Add Comment
Please, Sign In to add comment