Variable speed pong
This commit is contained in:
		
							
								
								
									
										11
									
								
								apps/pong.py
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								apps/pong.py
									
									
									
									
									
								
							@@ -13,6 +13,11 @@ Nx = int(sys.argv[1])
 | 
				
			|||||||
Ny = int(sys.argv[2])
 | 
					Ny = int(sys.argv[2])
 | 
				
			||||||
param = sys.argv[3]
 | 
					param = sys.argv[3]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					speed = 1.0
 | 
				
			||||||
 | 
					try:
 | 
				
			||||||
 | 
					    speed = float(param)
 | 
				
			||||||
 | 
					except:
 | 
				
			||||||
 | 
					    pass
 | 
				
			||||||
 | 
					
 | 
				
			||||||
pygame.init()
 | 
					pygame.init()
 | 
				
			||||||
pygame.joystick.init()
 | 
					pygame.joystick.init()
 | 
				
			||||||
@@ -40,7 +45,7 @@ def Reset(sign=1):
 | 
				
			|||||||
    y = Ny//2  
 | 
					    y = Ny//2  
 | 
				
			||||||
    dy = 1*sign
 | 
					    dy = 1*sign
 | 
				
			||||||
    dx = random.uniform(-0.4, 0.4)
 | 
					    dx = random.uniform(-0.4, 0.4)
 | 
				
			||||||
    l = math.sqrt(dx*dx+dy*dy)
 | 
					    l = math.sqrt(dx*dx+dy*dy)/speed
 | 
				
			||||||
    dx /= l
 | 
					    dx /= l
 | 
				
			||||||
    dy /= l
 | 
					    dy /= l
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -86,7 +91,7 @@ while True:
 | 
				
			|||||||
        if xi >= player1 and xi <= player1+PADDLE_LEN:
 | 
					        if xi >= player1 and xi <= player1+PADDLE_LEN:
 | 
				
			||||||
            dy = -1
 | 
					            dy = -1
 | 
				
			||||||
            dx = x-(player1+PADDLE_LEN/2)
 | 
					            dx = x-(player1+PADDLE_LEN/2)
 | 
				
			||||||
            l = math.sqrt(dx*dx+dy*dy)
 | 
					            l = math.sqrt(dx*dx+dy*dy)/speed
 | 
				
			||||||
            dx /= l
 | 
					            dx /= l
 | 
				
			||||||
            dy /= l
 | 
					            dy /= l
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -99,7 +104,7 @@ while True:
 | 
				
			|||||||
        if xi >= player2 and xi <= player2+PADDLE_LEN:
 | 
					        if xi >= player2 and xi <= player2+PADDLE_LEN:
 | 
				
			||||||
            dy = 1
 | 
					            dy = 1
 | 
				
			||||||
            dx = x-(player2+PADDLE_LEN/2)
 | 
					            dx = x-(player2+PADDLE_LEN/2)
 | 
				
			||||||
            l = math.sqrt(dx*dx+dy*dy)
 | 
					            l = math.sqrt(dx*dx+dy*dy)/speed
 | 
				
			||||||
            dx /= l
 | 
					            dx /= l
 | 
				
			||||||
            dy /= l
 | 
					            dy /= l
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user