Jun-11-2025, 06:14 PM
Hello Python Community!
This is driving me insane, I keep getting this error:
I have no idea why this is happening

Script:
This is driving me insane, I keep getting this error:
Error:Unexcepted token ';'It dosen't give me which line it's on nor is it in the SCRIPT!!!I have no idea why this is happening

Script:
import vpython as vp
scene = vp.canvas(background=vp.color.cyan)
class Player:
def __init__(self):
self.instance = vp.box()
self.direction = 0
self.keys = {'w': False, 'a': False, 's': False,
'd': False, ' ': False, 'left': False,
'right': False}
self.storage = {
'grassblock': 0}
scene.camera.rotate(axis=vp.vector(0, 1, 0), angle=vp.pi)
def move(self, steps, dadd=0):
self.instance.pos += vp.vector(
vp.sin(self.direction + -vp.radians(dadd)) * steps / 25, 0,
vp.cos(self.direction + -vp.radians(dadd)) * steps / 25)
def rotate(self, angle):
self.instance.rotate(axis=vp.vector(0, 1, 0), angle=-vp.radians(angle))
scene.camera.rotate(axis=vp.vector(0, 1, 0), angle=-vp.radians(angle))
self.direction -= vp.radians(angle)
def place_block(self, blockitem):
Block(
self.instance.pos.x + vp.radians(vp.sin(self.direction)),
self.instance.pos.z + vp.radians(vp.cos(self.direction)))
def frame(self):
if self.keys['w']: self.move(1)
if self.keys['a']: self.move(1, -90)
if self.keys['s']: self.move(-1)
if self.keys['d']: self.move(1, 90)
if self.keys[' ']: self.place_block('grassblock')
if self.keys['left']: self.rotate(-1)
if self.keys['right']: self.rotate(1)
scene.center = self.instance.pos
scene.camera.pos = self.instance.pos + vp.vector(
-vp.sin(self.direction) * 4, 1.5,
-vp.cos(self.direction) * 4)
class Block:
blocks = []
def __init__(self, x, z):
self.instance = vp.box(pos=vp.vector(x, -1, z), height=0.5, color=vp.color.green)
Block.blocks.append(self)
def rvector(vector):
save = vp.vector(0, 0, 0)
save.x = round(vector.x)
save.y = round(vector.y)
save.z = round(vector.z)
return save
player = Player()
for x in range(5):
for z in range(5):
Block(x-2, z-2)
def key_down(event): player.keys[event.key] = True
def key_up(event): player.keys[event.key] = False
scene.bind('keydown', key_down)
scene.bind('keyup', key_up)
while True:
vp.rate(200)
player.frame()P.S. mind the .instance(s), "super" leads into an error.
