def __init__(self): #base init base.__init__(self, (0, 0), None) self.depth = -999 self.blackSurface = pygame.Surface((840, 525)) self.blackSurface = self.blackSurface.convert(cfg.window) self.blackSurface.fill((0,0,0)) self.blackSurface.set_alpha(200) self.pauseText = cfg.objH.largeText.render('Options:', 0, (237, 203, 13)) self.soundText = cfg.objH.largeText.render('Preferences', 0, (237, 203, 13)) self.controlsText = cfg.objH.largeText.render('Controls', 0, (237, 203, 13)) self.saveText = cfg.objH.largeText.render('Save Settings', 0, (237, 203, 13)) self.restartText = cfg.objH.largeText.render('Restart Level', 0, (237, 203, 13)) if cfg.rmH.currentRoom == cfg.rmH.mainMenu: self.restartText.set_alpha(50) self.quitText = cfg.objH.largeText.render('Quit Game', 0, (237, 203, 13)) else: self.quitText = cfg.objH.largeText.render('Main Menu', 0, (237, 203, 13)) self.soundMusicVol = cfg.objH.mediumText.render('Music Volume: ', 0, (237, 203, 13)) self.soundEffectVol = cfg.objH.mediumText.render('Effect Volume: ', 0, (237, 203, 13)) self.arrowText = cfg.objH.largeText.render('>', 0, (237, 203, 13)) self.menuPos = 0 self.subMenuPos = 0 self.djpon3x = 0 self.subMenu = None self.roomLoopMusic = cfg.sndH.currentLoop cfg.keyH.assignKeyPress(cfg.upButton, self.menuUp) cfg.keyH.assignKeyPress(cfg.downButton, self.menuDown) cfg.keyH.assignKeyPress(cfg.twoButton, self.menuSelect) cfg.keyH.assignKeyPress(cfg.oneButton, self.menuBack) self.modKeyList = [] self.modifyingKey = False
def __init__(self, position): base.__init__(self, position, "env_smoke", False, False) self.body.angle = random.randrange(0, 22)/7.0 self.shape = self.addRect((0, 0), (1, 1)) self.alpha = 128 self.scale = random.random()+.5 self.collisionEvent(depthBlock, smoke.destroy)
def __init__(self, position): base.__init__(self, position, "env_smoke", False, False) self.body.angle = random.randrange(0, 22) / 7.0 self.shape = self.addRect((0, 0), (1, 1)) self.alpha = 128 self.scale = random.random() + .5 self.collisionEvent(depthBlock, smoke.destroy)
def __init__(self, mol, npproj=True): """ Init procedure, to setup the a ric instance. :Parameters: - mol(obj): mol class instance - lindict(dict): dictionary holding information about the linear bends in the system. Keys are lists of indices defining a linear angle and the value is the corresponding reference atom; defaults to {} """ base.__init__(self, mol) ### check if ff is already initialized, else do if hasattr(self._mol, "ff") == False: self._mol.addon("ff") self._mol.ff.ric.find_rics() elif hasattr(self._mol.ff.ric, "bnd") == False: self._mol.ff.ric.find_rics() ### init RedIntCoords RedIntCoords.__init__(self) if npproj == True: self.invert_b_matrix = self.invert_b_matrix_np self.project_hessian = self.project_hessian_np self.val_dict = { "str": self.get_val_stretches, "ibe": self.get_val_in_bends, "obe": self.get_val_out_bends, "lbe": self.get_val_lin_bends, "tor": self.get_val_torsions, "eck": self.get_val_eckarts, "hes": self.get_ric_hessian } return
def __init__(self, position): # base init base.__init__(self, position, "test_ball") self.solid = True self.body.mass = 2 # shape self.stuffs = self.addCircle(32)
def __init__(self, position, index): base.__init__(self, position, index, False, True) self.collisionEvent(derpyM.derpy, flower.crush) self.shape = self.addRect((0, 0), (cfg.imgH.file[index][0].get_width(), cfg.imgH.file[index][0].get_height())) self.imageSpeed = 0
def __init__(self, position): #base init base.__init__(self, position, "env_balloon") self.body.mass = 1 #shape self.addCircle(32) self.drawffset = (0, 32)
def __init__(self): #base init base.__init__(self, (0, 0), None) cfg.keyH.assignKeyPress(pygame.K_SPACE, self.startGame) self.text = cfg.objH.largeText.render('<Press "Space" To Start>', 0, (224, 47, 47)) self.text.set_alpha(255) self.fade = 5
def __init__(self): #base init base.__init__(self, (0, 0), None) self.depth = -999 self.blackSurface = pygame.Surface((840, 525)) self.blackSurface = self.blackSurface.convert(cfg.window) self.blackSurface.fill((0,0,0)) self.blackSurface.set_alpha(200) self.pauseText = cfg.objH.largeText.render('Options:', 0, (237, 203, 13)) self.soundText = cfg.objH.largeText.render('Sounds', 0, (237, 203, 13)) self.restartText = cfg.objH.largeText.render('Restart Level', 0, (237, 203, 13)) if cfg.rmH.currentRoom == cfg.rmH.mainMenu: self.restartText.set_alpha(50) self.quitText = cfg.objH.largeText.render('Quit Game', 0, (237, 203, 13)) else: self.quitText = cfg.objH.largeText.render('Main Menu', 0, (237, 203, 13)) self.soundMusicVol = cfg.objH.mediumText.render('Music Volume: ', 0, (237, 203, 13)) self.soundEffectVol = cfg.objH.mediumText.render('Effect Volume: ', 0, (237, 203, 13)) self.arrowText = cfg.objH.largeText.render('>', 0, (237, 203, 13)) self.menuPos = 0 self.subMenuPos = 0 self.djpon3x = 0 self.subMenu = None self.roomLoopMusic = cfg.sndH.currentLoop cfg.keyH.assignKeyPress(pygame.K_UP, self.menuUp) cfg.keyH.assignKeyPress(pygame.K_DOWN, self.menuDown) cfg.keyH.assignKeyPress(pygame.K_z, self.menuSelect) cfg.keyH.assignKeyPress(pygame.K_x, self.menuBack)
def __init__(self): #base init base.__init__(self, (0, 0), None) self.depth = -999 self.blackSurface = pygame.Surface((840, 525)) self.blackSurface = self.blackSurface.convert(cfg.window) self.blackSurface.fill((0, 0, 0)) self.blackSurface.set_alpha(200) self.pauseText = cfg.objH.largeText.render('Options:', 0, (237, 203, 13)) self.soundText = cfg.objH.largeText.render('Sounds', 0, (237, 203, 13)) self.restartText = cfg.objH.largeText.render('Restart Level', 0, (237, 203, 13)) if cfg.rmH.currentRoom == cfg.rmH.mainMenu: self.restartText.set_alpha(50) self.quitText = cfg.objH.largeText.render('Quit Game', 0, (237, 203, 13)) else: self.quitText = cfg.objH.largeText.render('Main Menu', 0, (237, 203, 13)) self.soundMusicVol = cfg.objH.mediumText.render( 'Music Volume: ', 0, (237, 203, 13)) self.soundEffectVol = cfg.objH.mediumText.render( 'Effect Volume: ', 0, (237, 203, 13)) self.arrowText = cfg.objH.largeText.render('>', 0, (237, 203, 13)) self.menuPos = 0 self.subMenuPos = 0 self.djpon3x = 0 self.subMenu = None self.roomLoopMusic = cfg.sndH.currentLoop cfg.keyH.assignKeyPress(pygame.K_UP, self.menuUp) cfg.keyH.assignKeyPress(pygame.K_DOWN, self.menuDown) cfg.keyH.assignKeyPress(pygame.K_z, self.menuSelect) cfg.keyH.assignKeyPress(pygame.K_x, self.menuBack)
def __init__(self, position, dimensions): #base init base.__init__( self, (position[0] + dimensions[0] / 2, position[1] + dimensions[1] / 2), None, True, True) #shape self.addRect((0, 0), dimensions)
def __init__(self, position, target, derpy): base.__init__(self, position, "env_mail", False, False) self.addRect((0,0), (1, 1)) self.target = target.parent self.scale = .5 self.swapLayer(3) self.collisionEvent(target.parent.__class__, givemail.col) self.derpy = derpy
def __init__(self, parent, derpy, offset = (20 , -50)): base.__init__(self, (0, 0), "env_mailalert_r", False, False) self.imageSpeed = .02 self.parent = parent self.derpy = derpy self.offset = offset self.shape = self.addRect((0, 0), (cfg.imgH.file["env_mailalert_r"][0].get_width(), cfg.imgH.file["env_mailalert_r"][0].get_height())) self.collisionEvent(derpyM.derpy, mailAlert.tellInRange)
def __init__(self): #base init base.__init__(self, (0, 0), None) cfg.keyH.assignKeyPress(cfg.startButton, self.startGame) cfg.keyH.assignKeyPress(pygame.K_t, self.skip) self.text = cfg.objH.largeText.render('<Press '+cfg.keyH.keyCodeToString(cfg.startButton).upper()+' To Start>', 0, (224, 47, 47)) self.text.set_alpha(255) self.fade = 5
def __init__(self, position, imgKey): #base init base.__init__(self, position, imgKey, True, True) self.depth = -999 #shape self.shape = self.addRect((0, 30), (124, 74)) self.imageSpeed = 0 #derpy collision self.collisionEvent(derpyM.derpy, bush.shake)
def __init__(self, position): base.__init__(self, position, "env_oven", True, True) self.open = False self.depth = 45 self.near = False self.arrowIndex = 0 self.addRect((0, 0), (100, 40)) self.remRect = self.addRect((50, 40), (70, 260)) self.swapLayer(2)
def __init__(self, position, dimensions): #base init base.__init__(self, (position[0]+dimensions[0]/2, position[1]+dimensions[1]/2), None, True, True) #shape self.addRect((0,0), dimensions) #testing self.depth = -99999999 self.position = position self.dimensions = dimensions
def __init__(self, position): #base init base.__init__(self, position, "env_mail", True, False) self.body.mass = 1 self.scale = .75 #shape self.shape = self.addRect((0, 0), (29, 21)) #derpy self.derpyRef = None self.arrowIndex = 0
def __init__(self, position, sk): #base init base.__init__(self, position, "mayor_walk_l", False, False) self.imageSpeed = .175 self.sk = sk self.addRect((0, 0), (cfg.imgH.file["mayor_walk_l"][0].get_width(), cfg.imgH.file["mayor_walk_l"][0].get_height())) self.dir = -1 self.yOrigin = position[1] self.depth = -20 self.needMail = True
def __init__(self, position, depth): # base init base.__init__(self, position, "test_block", True, False) self.depth = depth self.alpha = 255 self.imageSpeed = 0.03 self.solid = True self.body.mass = 8 # shape self.stuffs = self.addRect((0, 0), (64, 64))
def __init__(self, position, sprite): #base init base.__init__(self, position, sprite, True, False) self.body.mass = 1 self.scale = .75 #shape self.shape = self.addRect((0, 0), (cfg.imgH.file[sprite][0].get_width(), cfg.imgH.file[sprite][0].get_height())) #derpy self.derpyRef = None self.arrowIndex = 0
def __init__(self, parent, derpy, offset=(20, -50)): base.__init__(self, (0, 0), "env_mailalert_r", False, False) self.imageSpeed = .02 self.parent = parent self.derpy = derpy self.offset = offset self.shape = self.addRect( (0, 0), (cfg.imgH.file["env_mailalert_r"][0].get_width(), cfg.imgH.file["env_mailalert_r"][0].get_height())) self.collisionEvent(derpyM.derpy, mailAlert.tellInRange)
def __init__(self, imgKey, dialogList): #base init base.__init__(self, (770, 455), imgKey, False, True) self.blackSurface = pygame.Surface((700, 300)) self.blackSurface.fill((0, 0, 0)) cfg.keyH.assignKeyPress(pygame.K_z, self.next) self.dialogList = dialogList self.imageSpeed = .1 self.currentDialog = 0 self.currentCharacter = 0 self.depth = -9999
def __init__(self, position, sk): base.__init__(self, position, "drwhooves_stand_l", False, False) self.imageSpeed = .2 self.addRect((0, 0), (cfg.imgH.file["drwhooves_stand_l"][0].get_width(), cfg.imgH.file["drwhooves_stand_l"][0].get_height())) self.phase = 0 self.origin = position self.depth = 10 self.collisionEvent(derpyM.derpy, drhooves.push) self.dir = -1 self.needMail = True self.sk = sk
def __init__(self, position, sign): base.__init__(self, position, "env_applestand") self.depth = 20 self.sign = sign self.body.moment = 500 self.body.mass = 20 self.addRectImg((-40, 54), (10, 120)) self.addRectImg((90, 54), (100, 120)) self.addRectImg((-40, 60), (100, 120)) con = pymunk.PinJoint(self.body, sign.body, (0, 0), (0, 0)) cfg.space.add(con) self.broken = False
def __init__(self, wnd_conf): # call base constructor fuction base.__init__(self, wnd_conf) # data member: self.wnd_conf self.wnd_conf = wnd_conf # data member: self.output_units self.output_units = wnd_conf[MODEL][OUTPUT_UNITS] # data member: self.hidden_units self.hidden_units = wnd_conf[MODEL][HIDDEN_UNITS] # data member: self.dropout_keep_prob_list self.dropout_keep_prob_list = wnd_conf[MODEL][DROPOUT]
def __init__(self, position, dimensions): #base init base.__init__( self, (position[0] + dimensions[0] / 2, position[1] + dimensions[1] / 2), None, True, True) #shape self.addRect((0, 0), dimensions) #testing self.depth = -99999999 self.position = position self.dimensions = dimensions
def __init__(self, bag, sk): base.__init__(self, (0, 0), None, False, True) self.bag = bag self.sk = sk self.textPosition = bag.body.position-cfg.objH.cam.position self.scale = 0 self.depth = -9999 self.timer = 15*30.0 self.done = False self.helpText = cfg.objH.mediumText.render("The mailbag is on fire! Stomp on it to put it out!", 0, (237, 203, 13), (0, 0, 0)) self.fade = 0 self.fadeImage = pygame.surface.Surface((840, 525)) self.fadeImage.fill((0, 0, 0))
def __init__(self, wnd_conf): # call base constructor fuction base.__init__(self, wnd_conf) # data member: self.wnd_conf self.wnd_conf = wnd_conf # data member: self.output_units self.output_units = wnd_conf[MODEL][OUTPUT_UNITS] # data member: self.hidden_units self.hidden_units_bottom = wnd_conf[MODEL][hidden_units_bottom] self.hidden_units_task = wnd_conf[MODEL][hidden_units_task] # data member: self.dropout_keep_prob_list self.dropout_keep_prob_list_bottom = wnd_conf[MODEL][DROPOUT_BOTTOM] self.dropout_keep_prob_list_task = wnd_conf[MODEL][DROPOUT_TASK]
def __init__(self, position, sprite, mass, link = None, linkSprite = None, static = False, finalSprite = None, event = None): #base init if not static: base.__init__(self, position, sprite, True, False) else: base.__init__(self, position, sprite, False, True) self.body.mass = mass self.addRect((0, 0), (cfg.imgH.file[sprite][0].get_width(), cfg.imgH.file[sprite][0].get_height())) self.defaultSprite = sprite self.link = link self.linkSprite = linkSprite self.timer = 0 self.finalSprite = finalSprite self.event = event
def __init__(self, position, mailBag = True): #base init sprite = "derpy_fly_bag_r" if not mailBag: sprite = "derpy_fly_r" base.__init__(self, position, sprite) #make tracker cfg.objH.cam.tracker = self #shape self.addRect((0, 0), (35, 40)) #proximity detector self.proxDet = self.addRect((0, 0), (80, 40)) self.proxDet.sensor = True #image self.drawffset = (0, -20) self.depth = -10 self.imageSpeed = .15 #bind controls cfg.keyH.assignKeyDown(cfg.leftButton, self.moveLeft) cfg.keyH.assignKeyDown(cfg.rightButton, self.moveRight) cfg.keyH.assignKeyDown(cfg.upButton, self.moveUp) cfg.keyH.assignKeyDown(cfg.downButton, self.moveDown) cfg.keyH.assignKeyPress(cfg.twoButton, self.pickUp) cfg.keyH.assignKeyRelease(cfg.twoButton, self.dropOff) cfg.keyH.assignKeyPress(cfg.oneButton, self.deliverMail) #collision events #mail proximity self.collisionEvent(mail, derpy.ackPickUp) self.collisionEvent(muffin, derpy.ackPickUp) self.collisionEvent(cookingMailbag, derpy.ackPickUp) self.collisionEvent(oven, derpy.ackOpen) #speed checking self.lastXSpeed = 0 self.forceRight = False self.forceLeft = False #angle lock self.angleLockBody = pymunk.Body(pymunk.inf, pymunk.inf) self.angleLock = pymunk.constraint.RotaryLimitJoint(self.body, self.angleLockBody, 0, 0) cfg.space.add(self.angleLock) #pickup self.canPickUp = None self.pickedUp = None #binary direction self.dir = 1 self.mailBag = mailBag self.canDeliver = None self.delivering = None self.delivered = True self.canOpen = None
def __init__(self, position, animator=None): base.__init__(self, position, None, False, True) self.smallShape = self.addCircle(10) self.largeShape = self.addCircle(40) self.collisionEvent(derpyM.derpy, depthPortal.detection) self.leftOuter = True self.outerStatus = False self.animator = animator self.swapLayer(3) #testing self.position = position
def __init__(self, number, name, objective, targetRoom): #base init base.__init__(self, (0, 0), None) cfg.keyH.assignKeyPress(cfg.startButton, self.startStage) self.startText = cfg.objH.largeText.render('<Press '+cfg.keyH.keyCodeToString(cfg.startButton).upper()+' To Start>', 0, (255, 255, 255)) self.stageNumber = cfg.objH.veryLargeText.render('Stage '+number+':', 0, (255, 255, 255)) self.stageName = cfg.objH.veryLargeText.render(name, 0, (255, 255, 255)) self.stageObjectives = [] for obj in objective: self.stageObjectives.append(cfg.objH.largeText.render('- '+obj+' -', 0, (255, 255, 255))) self.targetRoom = targetRoom self.stageNumberPos = -900 self.stageNamePos = 900 self.objectiveAlpha = 0 self.phase = 0
def __init__(self, position, animator = None): base.__init__(self, position, None, False, True) self.smallShape = self.addCircle(10) self.largeShape = self.addCircle(40) self.collisionEvent(derpyM.derpy, depthPortal.detection) self.leftOuter = True self.outerStatus = False self.animator = animator self.swapLayer(3) #testing self.position = position
def __init__(self, bag, sk): base.__init__(self, (0, 0), None, False, True) self.bag = bag self.sk = sk self.textPosition = bag.body.position - cfg.objH.cam.position self.scale = 0 self.depth = -9999 self.timer = 15 * 30.0 self.done = False self.helpText = cfg.objH.mediumText.render( "The mailbag is on fire! Stomp on it to put it out!", 0, (237, 203, 13), (0, 0, 0)) self.fade = 0 self.fadeImage = pygame.surface.Surface((840, 525)) self.fadeImage.fill((0, 0, 0))
def __init__(self, position, grabMail): base.__init__(self, position, "env_bird_red_r") self.shape = self.addRect((10, 5),(32, 24)) self.imageSpeed = .3 self.grabMail = grabMail if self.grabMail is not None: self.grabMail.sensor = True self.dir = 1 self.vdir = 1.0 self.body.mass = 3 self.speedMod = 1 #angle lock self.angleLockBody = pymunk.Body(pymunk.inf, pymunk.inf) self.angleLock = pymunk.constraint.RotaryLimitJoint(self.body, self.angleLockBody, 0, 0) cfg.space.add(self.angleLock)
def __init__(self, wnd_conf): # call base constructor fuction base.__init__(self, wnd_conf) # data member: self.wnd_conf self.wnd_conf = wnd_conf # data member: self.wnd_wd self.wnd_wd = wnd_conf[MODEL][WND_WD] # data member: self.output_units self.output_units = wnd_conf[MODEL][OUTPUT_UNITS] # data member: self.hidden_units self.hidden_units = wnd_conf[MODEL][HIDDEN_UNITS] # data member: self.dropout_keep_prob_list self.dropout_keep_prob_list = wnd_conf[MODEL][DROPOUT] self.is_decoder_add_pos_emb = wnd_conf.is_decoder_add_pos_emb self.zero_pad = wnd_conf.zero_pad
def __init__(self, position, grabMail): base.__init__(self, position, "env_bird_red_r") self.shape = self.addRect((10, 5), (32, 24)) self.imageSpeed = .3 self.grabMail = grabMail if self.grabMail is not None: self.grabMail.sensor = True self.dir = 1 self.vdir = 1.0 self.body.mass = 3 self.speedMod = 1 #angle lock self.angleLockBody = pymunk.Body(pymunk.inf, pymunk.inf) self.angleLock = pymunk.constraint.RotaryLimitJoint( self.body, self.angleLockBody, 0, 0) cfg.space.add(self.angleLock)
def __init__(self, position, derpyRef): #base init base.__init__(self, position, "boxhorse_fly_wait_l") self.body.mass = 20 self.imageSpeed = .2 #shape self.addRect((0, 0), (124, 132)) #movepos self.slewPos = position self.derpyRef = derpyRef #angle lock self.angleLockBody = pymunk.Body(pymunk.inf, pymunk.inf) self.angleLock = pymunk.constraint.RotaryLimitJoint(self.body, self.angleLockBody, 0, 0) cfg.space.add(self.angleLock) #mail collision self.collisionEvent(mail, boxBrown.collectMail)
def __init__(self, position, flowers, sk): base.__init__(self, position, "daisy_stand_r", False, True) self.sk = sk self.flowers = flowers self.crushed = [] self.depth = 30 self.timer = 30*4 self.timer2 = 30*8 self.timer3 = 0 self.walking = False self.sniffing = False self.sniff = 0 self.dir = 1 self.sad = False dP = (cfg.imgH.file["daisy_stand_r"][0].get_height()/2)+self.position[1] for f in flowers: f.depth = self.depth+(dP-(f.body.position[1]+cfg.imgH.file["flower_white"][0].get_height()/2))
def __init__(self, wnd_conf): # call base constructor fuction base.__init__(self, wnd_conf) # data member: self.wnd_conf self.wnd_conf = wnd_conf # data member: self.output_units self.output_units = wnd_conf[MODEL][OUTPUT_UNITS] # data member: self.hidden_units self.hidden_units_bottom = wnd_conf[MODEL][hidden_units_bottom] self.hidden_units_task = wnd_conf[MODEL][hidden_units_task] # data member: self.dropout_keep_prob_list self.dropout_keep_prob_list_bottom = wnd_conf[MODEL][DROPOUT_BOTTOM] self.dropout_keep_prob_list_task = wnd_conf[MODEL][DROPOUT_TASK] self.num_experts = wnd_conf[MODEL][num_experts] self.is_decoder_add_pos_emb = wnd_conf.is_decoder_add_pos_emb self.zero_pad = wnd_conf.zero_pad
def __init__(self, number, bonuses, targetRoom): #base init base.__init__(self, (0, 0), None) cfg.keyH.assignKeyPress(cfg.startButton, self.nextRoom) self.contText = cfg.objH.largeText.render('<Press '+cfg.keyH.keyCodeToString(cfg.startButton).upper()+' To Continue>', 0, (255, 255, 255)) self.stageNumber = cfg.objH.veryLargeText.render('Stage '+number+' Complete!', 0, (255, 255, 255)) self.bonuses = [] for bonus in bonuses: color = (255, 255, 255) if len(bonus) == 3: color = (236, 196, 188) obj = cfg.objH.largeText.render(bonus[0]+':', 0, color) val = cfg.objH.largeText.render(bonus[1], 0, color) self.bonuses.append((obj, val, 0)) self.stageNumberPos = -900 self.phase = 0 self.targetRoom = targetRoom cfg.objH.stageScores[number] = bonuses
def __init__(self, position, sk): #base init base.__init__(self, position, "env_mailbag_cooking", True, False) #shape self.sk = sk self.shape = self.addRect((0, 10), (35, 40)) #derpy self.derpyRef = None self.arrowIndex = 0 self.swapLayer(2) self.depth = 46 self.body.velocity = (0, 0) self.phase = 0 self.timer = 0 self.lastdepth = self.depth self.onFire = 4 self.stopCollide = True self.colliding = False
def __init__(self, position, height, lToR = False): base.__init__(self, position, None, False, True) self.lShape = self.addRect((-40, 0), (8, height)) self.rShape = self.addRect((32, 0), (8, height)) self.collisionEvent(derpyM.derpy, depthConverter.detection) self.collisionEvent(rndm, depthConverter.rndmD) self.leftActive = False self.rightActive = False self.lastLeft = False self.lastRight = False self.lToR = lToR self.derpyObj = None self.swapLayer(3) self.rndms = {} #testing self.depth = -9999 self.position = position self.height = height