diff --git a/cse16238_lab4.py b/cse16238_lab4.py new file mode 100644 index 0000000000000000000000000000000000000000..96c345e1cece745ced1c3b193ada3ac5f200d39b --- /dev/null +++ b/cse16238_lab4.py @@ -0,0 +1,46 @@ +from vpython import * +#GlowScript 2.7 VPython +ball = sphere(pos=vector(-5,0,0), radius=0.5, color=color.cyan, make_trail=True) +wallR = box(pos=vector(6,0,0), size=vector(0.2,12,12), color=color.green) +wallL = box(pos=vector(-6,0,0), size=vector(0.2,12,12), color=color.green) +wallT = box(pos=vector(0,6,0), size=vector(12,0.2,12), color=color.blue) +wallB = box(pos=vector(0,-6,0), size=vector(12,0.2,12), color=color.blue) +wallBa = box(pos=vector(0,0,-6), size=vector(12,12,0.2), color=color.red) +ball.velocity = vector(5,5,0) +deltat = 0.005 +t = 0 +#ball.pos = ball.pos + ball.velocity*deltat +vscale = 0.1 +varr = arrow(pos=ball.pos, axis=vscale*ball.velocity, color=color.yellow) + + + + +while t >= 0: + rate(100) + if ball.pos.x > wallR.pos.x or ball.pos.x < wallL.pos.x: + # ball.velocity.x = -ball.velocity.x + print("game over") + break + if ball.pos.y > wallT.pos.y or ball.pos.y < wallB.pos.y: + #ball.velocity.y = -ball.velocity.y + print("game over") + break + if ball.pos.z < wallBa.pos.z: + #ball.velocity.z = -ball.velocity.z + #ball.pos = ball.pos + ball.velocity*deltat + varr.pos = ball.pos + varr.axis = vscale*ball.velocity + t=t+deltat + +def onpress(event): + s=event.key + if s='up': + ball.velocity.y+=1 + else if s='down': + ball.velocity.y-=1 + else if s='left': + ball.velocity.x-=1 + else if s='right': + ball.velocity.x+=1 +scene.bind('keydown',onpress) \ No newline at end of file