def __init__(self, *args, **kwargs): super().__init__(*args, pyglet.resource.image('player.jpg'), **kwargs) self.image.width = 48 self.image.height = 48 util.center_image(self.image) self.speed = 100 self.key_handler = key.KeyStateHandler() self.event_handlers = [self, self.key_handler] self.desired_direction = Direction.West
def predict(self, img_path) -> int: # Image.fromarray() img = Image.open(img_path).convert('L') img.thumbnail((28, 28), Image.ANTIALIAS) img = np.invert(img).reshape(28, 28) img_centered_to_feed = util.center_image(img) img_centered_to_save = np.asarray(img_centered_to_feed, dtype=np.int8) i = Image.fromarray(img_centered_to_save, 'L') i.save('img/processed_img.png') img_centered_to_feed = img_centered_to_feed.reshape(1, 28, 28, 1) predicted_number = np.argmax( self.loaded_model.predict(img_centered_to_feed)[0]) return predicted_number
#token.py import collidable, util, pyglet, aabb pyglet.resource.path.append('./images') pyglet.resource.reindex() token_image = pyglet.resource.image('park.png') util.center_image(token_image) donut_image = pyglet.resource.image('donutbox.png') util.center_image(donut_image) class Token(collidable.Collidable): def __init__(self, *args, **kwargs): super(Token, self).__init__(token_image, *args, **kwargs) self.scale = 0.13 self.lower_bound = ((self.x - self.width // 2), (self.y - self.height // 2)) self.upper_bound = ((self.x + self.width // 2), (self.y + self.height // 2)) self.bounding_box = aabb.AABB(self.lower_bound, self.upper_bound) def update(self, dt): pass def update_bounding_box(self): self.lower_bound = ((self.x - self.width // 2), (self.y - self.height // 2))
#power_up.py import collidable, util, pyglet, aabb pyglet.resource.path.append('./images') pyglet.resource.reindex() pwrup_image=pyglet.resource.image('explosion.png') util.center_image(pwrup_image) class Power_up(collidable.Collidable): def __init__(self, *args, **kwargs): super(Power_up,self).__init__(pwrup_image,*args,**kwargs) self.scale=0.3 self.is_pwrup=True self.speed_up=False self.make_invincible=False self.make_armed=False self.make_insubstantial=False self.lower_bound=((self.x-self.width//2),(self.y-self.height//2)) self.upper_bound=((self.x+self.width//2),(self.y+self.height//2)) self.bounding_box=aabb.AABB(self.lower_bound,self.upper_bound) def update(self,dt): pass def update_bounding_box(self):
#enemy.py import mob, pyglet, util, random, viewport from pyglet.window import key pyglet.resource.path.append('./images') pyglet.resource.reindex() enemy1_image = pyglet.resource.image('w_critter.png') util.center_image(enemy1_image) enemy2_image = pyglet.resource.image('z_critter.png') util.center_image(enemy2_image) enemy3_image = pyglet.resource.image('v_critter.png') util.center_image(enemy3_image) enemy_map = {1: enemy1_image, 2: enemy2_image, 3: enemy3_image} class Enemy(mob.Mob): def __init__(self, level, *args, **kwargs): super(Enemy, self).__init__(enemy_map[level], *args, **kwargs) self.scale = 0.15 self.spd = 200 self.x = 0 self.y = 0 self.is_enemy = True self.vel_x = random.random() * self.spd if random.randint(0, 1): self.vel_x *= -1
def _load_resources(self): """ initially load all needed resources for the game :return: """ # define the sprite batches, the order defines the rendering order of rendering globals.sprite_batches[BatchNames.Star_Batch] = pyglet.graphics.Batch() globals.sprite_batches[ BatchNames.Enemy_Batch] = pyglet.graphics.Batch() globals.sprite_batches[ BatchNames.Player_Ship_Batch] = pyglet.graphics.Batch() globals.sprite_batches[ BatchNames.Component_Batch] = pyglet.graphics.Batch() globals.sprite_batches[ BatchNames.Projectile_Batch] = pyglet.graphics.Batch() globals.sprite_batches[ BatchNames.Health_Bar_Batch] = pyglet.graphics.Batch() # load the images globals.resources[Resources.Image_Starfield] = pyglet.resource.image( "resources/environment/star.png") util.center_image(globals.resources[Resources.Image_Starfield]) globals.resources[ Resources.Image_Projectiles_Energy_01] = pyglet.resource.image( "resources/projectiles/energy_01.png") util.center_image( globals.resources[Resources.Image_Projectiles_Energy_01]) globals.resources[ Resources.Image_Ship_Module_Base] = pyglet.resource.image( "resources/ship/ship_body.png") globals.resources[Resources.Image_Ship_Module_Base].anchor_x = 32 + 16 globals.resources[Resources.Image_Ship_Module_Base].anchor_y = 16 globals.resources[ Resources.Image_Ship_Module_Enemy] = pyglet.resource.image( "resources/ship/enemy_easy_body.png") globals.resources[Resources.Image_Ship_Module_Enemy].anchor_x = 32 + 16 globals.resources[Resources.Image_Ship_Module_Enemy].anchor_y = 16 globals.resources[ Resources.Image_Ship_Module_Enemy_RailGun] = pyglet.resource.image( "resources/ship/enemy_railgun_body.png") globals.resources[ Resources.Image_Ship_Module_Enemy_RailGun].anchor_x = 32 + 16 globals.resources[ Resources.Image_Ship_Module_Enemy_RailGun].anchor_y = 16 globals.resources[ Resources.Image_Ship_Module_Enemy_Medium] = pyglet.resource.image( "resources/ship/enemy_medium_body.png") globals.resources[ Resources.Image_Ship_Module_Enemy_Medium].anchor_x = 32 + 16 globals.resources[ Resources.Image_Ship_Module_Enemy_Medium].anchor_y = 16 globals.resources[ Resources.Image_Ship_Module_Enemy_Medium2] = pyglet.resource.image( "resources/ship/enemy_medium2_body.png") globals.resources[ Resources.Image_Ship_Module_Enemy_Medium2].anchor_x = 32 + 16 globals.resources[ Resources.Image_Ship_Module_Enemy_Medium2].anchor_y = 16 globals.resources[ Resources.Image_Ship_Module_Enemy_Large] = pyglet.resource.image( "resources/ship/enemy_large_body.png") globals.resources[ Resources.Image_Ship_Module_Enemy_Large].anchor_x = 32 + 16 globals.resources[ Resources.Image_Ship_Module_Enemy_Large].anchor_y = 16 globals.resources[ Resources.Image_Ship_Module_Enemy_Boss] = pyglet.resource.image( "resources/ship/enemy_boss_body.png") globals.resources[ Resources.Image_Ship_Module_Enemy_Boss].anchor_x = 32 + 16 globals.resources[Resources.Image_Ship_Module_Enemy_Boss].anchor_y = 16 globals.resources[ Resources.Image_Ship_Module_Enemy_Endboss] = pyglet.resource.image( "resources/ship/enemy_endboss_body.png") globals.resources[ Resources.Image_Ship_Module_Enemy_Endboss].anchor_x = 32 + 16 globals.resources[ Resources.Image_Ship_Module_Enemy_Endboss].anchor_y = 16 globals.resources[ Resources.Image_Ship_Module_Simple_Phaser] = pyglet.resource.image( "resources/ship/component_onbase_phaser.png") util.center_image( globals.resources[Resources.Image_Ship_Module_Simple_Phaser]) globals.resources[ Resources.Image_Ship_Module_Angle_Laser] = pyglet.resource.image( "resources/ship/component_onbase_angle_laser.png") util.center_image( globals.resources[Resources.Image_Ship_Module_Angle_Laser]) globals.resources[ Resources.Image_Ship_Module_Heavy_Laser] = pyglet.resource.image( "resources/ship/component_onbase_heavy_laser.png") util.center_image( globals.resources[Resources.Image_Ship_Module_Heavy_Laser]) globals.resources[ Resources.Image_Ship_Module_Railgun] = pyglet.resource.image( "resources/ship/component_onbase_railgun.png") util.center_image( globals.resources[Resources.Image_Ship_Module_Railgun]) globals.resources[ Resources.Image_Ship_Module_Ram] = pyglet.resource.image( "resources/ship/component_onbase_ram.png") util.center_image(globals.resources[Resources.Image_Ship_Module_Ram]) globals.resources[ Resources.Image_Ship_Module_Hull] = pyglet.resource.image( "resources/ship/component_onbase_hull.png") util.center_image(globals.resources[Resources.Image_Ship_Module_Hull]) globals.resources[ Resources.Image_Ship_Module_Repair] = pyglet.resource.image( "resources/ship/component_onbase_repair.png") util.center_image( globals.resources[Resources.Image_Ship_Module_Repair]) globals.resources[ Resources.Image_Ship_Module_Shield] = pyglet.resource.image( "resources/ship/component_onbase_shield.png") util.center_image( globals.resources[Resources.Image_Ship_Module_Shield]) globals.resources[ Resources.Image_Ship_Module_Jet] = pyglet.resource.image( "resources/ship/component_onbase_engine.png") util.center_image(globals.resources[Resources.Image_Ship_Module_Jet]) healthbars = pyglet.image.load("resources/healthbar/healthbar.png") hb_seq = pyglet.image.ImageGrid(healthbars, 7, 1) globals.resources[Resources.Image_Healthbar] = hb_seq shieldbars = pyglet.image.load("resources/healthbar/shieldbar.png") sb_seq = pyglet.image.ImageGrid(shieldbars, 7, 1) globals.resources[Resources.Image_Shieldbar] = sb_seq
def __init__(self, *args, **kwargs): super().__init__(*args, pyglet.resource.image('grass.jpg'), **kwargs) self.image.width = 50 self.image.height = 50 util.center_image(self.image)
#avatar.py import mob, pyglet, util from pyglet.window import key pyglet.resource.path.append('./images') pyglet.resource.reindex() avatar_image = pyglet.resource.image('sportscar.png') util.center_image(avatar_image) avatar_left_image = pyglet.resource.image('carleft.png') util.center_image(avatar_left_image) studentavatar_image = pyglet.resource.image('studentavatar.png') util.center_image(studentavatar_image) avatar_pwrup_image = pyglet.resource.image('bat.png') util.center_image(avatar_pwrup_image) class Avatar(mob.Mob): def __init__(self, *args, **kwargs): super(Avatar, self).__init__(avatar_image, x=100, y=550, *args, **kwargs) self.key_handler = key.KeyStateHandler() self.scale = 0.055 self.spd = 200
def __init__(self, dynamic_assets_file, bg_batch, fg_batch, bg_subgroup, fg_subgroup): # load xml file self.dynamic_assets_file = os.path.join(util.get_world_path(), dynamic_assets_file) tree = ET.parse(self.dynamic_assets_file) root = tree.getroot() # setup some member variables self.background_sprite = None self.static_objects = [] self.robot_position = [0, 0] self.robot_rotation = 0 # load the background image background_image_idx = int(root.attrib['background_index']) if 0 <= background_image_idx < len(backgrounds): self.background_image = backgrounds[background_image_idx] self.background_image.width = int(root.attrib['width']) self.background_image.height = int(root.attrib['height']) util.center_image(self.background_image) self.background_sprite = BasicSprite(self.background_image, self.background_image.width / 2, self.background_image.height / 2, bg_batch, bg_subgroup, "background", background_image_idx) # get the sonar map resolution and create the map self.sonar_resolution = int(root.attrib['sonar_resolution']) self.sonar_map = Map(self.background_image.width, self.background_image.height, self.sonar_resolution) # create line map members self.line_map_position = [0, 0] self.line_map_sprite = None # switch self.switch_sprite = None # light source self.light_source_sprite = None # create rendering batches self.fg_batch = fg_batch self.fg_subgroup = fg_subgroup for child in root: if child.tag == "robot": # extract the robot position self.robot_position = [int(child.attrib["position_x"]), int(child.attrib["position_y"])] self.robot_rotation = int(child.attrib["rotation"]) elif child.tag == "line_map": # load the line map if one exists line_map_index = int(child.attrib['index']) if 0 <= line_map_index < len(line_maps): self.line_map_position = [int(child.attrib['position_x']), int(child.attrib['position_y'])] self.line_map_sprite = BasicSprite(line_maps[line_map_index], self.line_map_position[0], self.line_map_position[1], bg_batch, fg_subgroup, "line_map", line_map_index) elif child.tag == "static_object": # load all static objects and create their sprites (objects are also added to the sonar map). index = int(child.attrib['index']) if 0 <= index < len(image_grid): x = int(child.attrib['position_x']) y = int(child.attrib['position_y']) util.center_image(image_grid[index]) self.sonar_map.insert_rectangle(x, y, image_grid[index].width, image_grid[index].height) sprt_obj = BasicSprite(image_grid[index], x, y, bg_batch, bg_subgroup, "object", index) self.static_objects.append(sprt_obj) elif child.tag == "switch": x = int(child.attrib['position_x']) y = int(child.attrib['position_y']) util.center_image(switch_image_on) sw_obj = SwitchSprite(switch_image_on, x, y, fg_batch, fg_subgroup, "switch", -1) self.switch_sprite = sw_obj self.static_objects.append(sw_obj)
from src.sprites.basicsprite import BasicSprite from src.sprites.basicsprite import SwitchSprite from src.sprites.selectablesprite import SelectSprite NUM_LINE_MAPS = 5 NUM_BACKGROUNDS = 4 # Tell pyglet where to find the resources pyglet.resource.path = ['resources'] pyglet.resource.reindex() # Load the static resources robot_image = pyglet.resource.image("robot/rover.png") robot_image.width = 100 robot_image.height = 80 util.center_image(robot_image) pi2go_image = pyglet.resource.image("robot/pi2go.png") pi2go_image.width = 110 pi2go_image.height = 90 util.center_image(pi2go_image) #pi2go_image.anchor_x = 26 sonar_image = pyglet.resource.image("robot/sonar.png") sonar_image.width = 50 sonar_image.height = 32 sonar_image.anchor_x = 5 sonar_image.anchor_y = sonar_image.height / 2 switch_image_on = pyglet.resource.image("static_objects/on_switch.png") switch_image_on.width = 50
import util from src.sensors.sonar import Map from src.sprites.basicsprite import BasicSprite NUM_LINE_MAPS = 5 NUM_BACKGROUNDS = 4 # Tell pyglet where to find the resources pyglet.resource.path = ['resources'] pyglet.resource.reindex() # Load the static resources robot_image = pyglet.resource.image("robot/rover.png") robot_image.width = 100 robot_image.height = 80 util.center_image(robot_image) pi2go_image = pyglet.resource.image("robot/pi2go.png") pi2go_image.width = 110 pi2go_image.height = 90 util.center_image(pi2go_image) pi2go_image.anchor_x = 26 sonar_image = pyglet.resource.image("robot/sonar.png") sonar_image.width = 50 sonar_image.height = 32 sonar_image.anchor_x = 5 sonar_image.anchor_y = sonar_image.height / 2 # Load all available line maps line_maps = []
#avatar.py import mob, pyglet, util,laser_shoot,hud,math,gravity,health from pyglet.window import key pyglet.resource.path.append('./images') pyglet.resource.reindex() avatar_left_laser=pyglet.resource.image('right_laser_hedgehog.png') util.center_image(avatar_left_laser) avatar_right_laser=pyglet.resource.image('left_laser_hedgehog.png') util.center_image(avatar_right_laser) right_facing=True class Avatar(mob.Mob): def __init__(self,*args,**kwargs): super(Avatar,self).__init__(avatar_right_laser,x=0,y=530,*args,**kwargs) self.key_handler=key.KeyStateHandler() self.has_laser=False self.scale=.035 self.affected_by_gravity=True self.left=self.x-(self.width//2) self.right=self.x+(self.width//2) self.top=self.y+(self.height//2) self.bottom=self.y-(self.height//2) self.spd=200 self.health=11 #self.x=0 #self.y=530
#switch.py import collidable, util, pyglet, aabb, gravity, sound_fx pyglet.resource.path.append('./images') pyglet.resource.reindex() up_switch=pyglet.resource.image('up_switch.png') util.center_image(up_switch) down_switch=pyglet.resource.image('down_switch.png') util.center_image(down_switch) class Switch(collidable.Collidable): def __init__(self,x,y,direction, *args, **kwargs): super(Switch,self).__init__(up_switch,x=x,y=y,*args,**kwargs) self.direction=direction if self.direction=='left': self.image=up_switch elif self.direction=='right': self.image=down_switch self.rotation=180 self.scale=.75 self.is_pwrup=True self.dead=False self.flipped=False self.lower_bound=((self.x-self.width//2),(self.y-self.height//2)) self.upper_bound=((self.x+self.width//2),(self.y+self.height//2)) self.bounding_box=aabb.AABB(self.lower_bound,self.upper_bound)
#health.py import pyglet,util,collidable pyglet.resource.path.append('./images') pyglet.resource.reindex() image0=pyglet.resource.image('0.png') util.center_image(image0) image1=pyglet.resource.image('1.png') util.center_image(image1) image2=pyglet.resource.image('2.png') util.center_image(image2) image3=pyglet.resource.image('3.png') util.center_image(image3) image4=pyglet.resource.image('4.png') util.center_image(image4) image5=pyglet.resource.image('5.png') util.center_image(image5) image6=pyglet.resource.image('6.png') util.center_image(image6) image7=pyglet.resource.image('7.png') util.center_image(image7) image8=pyglet.resource.image('8.png')
#hidden_token.py import collidable, util, pyglet, aabb pyglet.resource.path.append('./images') pyglet.resource.reindex() hidden_token_image=pyglet.resource.image('elf.png') util.center_image(hidden_token_image) class Hidden_token(collidable.Collidable): def __init__(self, *args, **kwargs): super(Hidden_token,self).__init__(hidden_token_image,*args,**kwargs) self.scale=0.05 self.visible=False self.found=False self.lower_bound=((self.x-self.width//2),(self.y-self.height//2)) self.upper_bound=((self.x+self.width//2),(self.y+self.height//2)) self.bounding_box=aabb.AABB(self.lower_bound,self.upper_bound) def update(self,dt): super(Hidden_token,self).update(dt) if self.found:self.visible=True def update_bounding_box(self):
#portal.py import collidable, util, pyglet, aabb, mob, sound_fx pyglet.resource.path.append('./images') pyglet.resource.reindex() portal_image=pyglet.resource.image('portal.png') util.center_image(portal_image) class Portal(collidable.Collidable): def __init__(self,x,y, *args, **kwargs): super(Portal,self).__init__(portal_image,x=x,y=y,*args,**kwargs) self.scale=.04 #self.visible=True #self.found=False self.lower_bound=((self.x-self.width//2),(self.y-self.height//2)) self.upper_bound=((self.x+self.width//2),(self.y+self.height//2)) self.bounding_box=aabb.AABB(self.lower_bound,self.upper_bound) def update(self,dt): super(Portal,self).update(dt) #if self.found:self.visible=True
#hidden_token.py import collidable, util, pyglet, aabb pyglet.resource.path.append('./images') pyglet.resource.reindex() hidden_token_image = pyglet.resource.image('key.jpeg') util.center_image(hidden_token_image) class Hidden_token(collidable.Collidable): def __init__(self, *args, **kwargs): super(Hidden_token, self).__init__(hidden_token_image, *args, **kwargs) self.scale = 0.5 self.visible = False self.found = False self.lower_bound = ((self.x - self.width // 2), (self.y - self.height // 2)) self.upper_bound = ((self.x + self.width // 2), (self.y + self.height // 2)) self.bounding_box = aabb.AABB(self.lower_bound, self.upper_bound) def update(self, dt): super(Hidden_token, self).update(dt) if self.found: self.visible = True def update_bounding_box(self): self.lower_bound = ((self.x - self.width // 2),
#door.py import collidable, pyglet, util pyglet.resource.path.append('./images') pyglet.resource.reindex() door_image = pyglet.resource.image('door.png') util.center_image(door_image) class Door(collidable.Collidable): def __init__(self, *args, **kwargs): super(Door, self).__init__(door_image, *args, **kwargs) self.scale = 2 def update(self, dt): pass def update_bounding_box(self): self.lower_bound = ((self.x - self.width // 2), (self.y - self.height // 2)) self.upper_bound = ((self.x + self.width // 2), (self.y + self.height // 2)) self.bounding_box = aabb.AABB(self.lower_bound, self.upper_bound)
#enemy.py import mob, pyglet, util, random, viewport from pyglet.window import key pyglet.resource.path.append('./images') pyglet.resource.reindex() enemy_image1=pyglet.resource.image('enemy1.png') util.center_image(enemy_image1) enemy_image2=pyglet.resource.image('enemy2.png') util.center_image(enemy_image2) ''' enemy_image3=pyglet.resource.image('enemy3.png') util.center_image(enemy_image3) enemy_image4=pyglet.resource.image('enemy4.png') util.center_image(enemy_image4) enemy_image1=enemy_images.texture.get_region(0,0,151.25,225) util.center_image(enemy_image1) enemy_image2=enemy_images.texture.get_region(151.25,302.5,25,225) util.center_image(enemy_image2) enemy_image3=enemy_images.texture.get_region(302.5,0,453.75,225) util.center_image(enemy_image3) enemy_image4=enemy_images.texture.get_region(453.75,0,605,225) util.center_image(enemy_image4)'''
#btoken.py import collidable, util, pyglet, aabb pyglet.resource.path.append('./images') pyglet.resource.reindex() bindertoken_image = pyglet.resource.image('binder.png') util.center_image(bindertoken_image) class Btoken(collidable.Collidable): def __init__(self, *args, **kwargs): super(Btoken, self).__init__(bindertoken_image, *args, **kwargs) self.scale = 0.06 self.lower_bound = ((self.x - self.width // 2), (self.y - self.height // 2)) self.upper_bound = ((self.x + self.width // 2), (self.y + self.height // 2)) self.bounding_box = aabb.AABB(self.lower_bound, self.upper_bound) def update(self, dt): pass def update_bounding_box(self): self.lower_bound = ((self.x - self.width // 2), (self.y - self.height // 2)) self.upper_bound = ((self.x + self.width // 2), (self.y + self.height // 2)) self.bounding_box = aabb.AABB(self.lower_bound, self.upper_bound)
#teacher.py import mob, pyglet, util, random, viewport from pyglet.window import key pyglet.resource.path.append('./images') pyglet.resource.reindex() teacher_image=pyglet.resource.image('esher.png') util.center_image(teacher_image) class Teacher(mob.Mob): def __init__(self,*args,**kwargs): super(Teacher,self).__init__(teacher_image, *args,**kwargs) self.scale=.65 self.vel_x=200 self.is_boss=False self.is_enemy=True #pyglet.clock.schedule_interval(self.change_velocity,3) def update(self,dt): dx=self.vel_x*dt dy=0
#token.py import collidable, util, pyglet, aabb pyglet.resource.path.append('./images') pyglet.resource.reindex() token1_image=pyglet.resource.image('fireball.png') util.center_image(token1_image) token2_image=pyglet.resource.image('marble.png') util.center_image(token2_image) token3_image=pyglet.resource.image('candy.png') util.center_image(token3_image) token_map={1:token1_image, 2:token2_image, 3:token3_image} class Token(collidable.Collidable): def __init__(self, level,*args, **kwargs): super(Token,self).__init__(token_map[level],*args,**kwargs) #self.scale=0.3 self.lower_bound=((self.x-self.width//2),(self.y-self.height//2)) self.upper_bound=((self.x+self.width//2),(self.y+self.height//2)) self.bounding_box=aabb.AABB(self.lower_bound,self.upper_bound)
#boss.py import mob, pyglet, util, random, viewport from pyglet.window import key pyglet.resource.path.append('./images') pyglet.resource.reindex() boss=pyglet.resource.image('enemy4.png') util.center_image(boss) class Boss(mob.Mob): def __init__(self,x,y,*args,**kwargs): super(Boss,self).__init__(boss,x=x,y=y,*args,**kwargs) #self.image=image self.visible=False self.affected_by_gravity=True #self.antigravity=True self.scale=.48 self.spd=600 self.is_enemy=True self.left=self.x-(self.width//2) self.right=self.x+(self.width//2) self.top=self.y+(self.height//2) self.bottom=self.y-(self.height//2) self.acc=self.height*.5 self.boss_health=40 self.vel_x=random.random()*self.spd
#power_up.py '''here i will make classes for the laser which will enable the avatar to shoot and change the avatar's image, and oxygen bubbles which will increase the avatar's oxygen supply''' import collidable, util, pyglet, aabb, mob, health, sound_fx pyglet.resource.path.append('./images') pyglet.resource.reindex() gun_image=pyglet.resource.image('lasergun.png') util.center_image(gun_image) bubble_image=pyglet.resource.image('bubble2.png') util.center_image(bubble_image) #bubble_batch=pyglet.graphics.Batch() class Laser(collidable.Collidable): def __init__(self,x,y, *args, **kwargs): super(Laser,self).__init__(gun_image,x=x,y=y,*args,**kwargs) self.scale=.25 self.is_pwrup=True self.dead=False self.rotation=352 self.lower_bound=((self.x-self.width//2),(self.y-self.height//2)) self.upper_bound=((self.x+self.width//2),(self.y+self.height//2)) self.bounding_box=aabb.AABB(self.lower_bound,self.upper_bound)
#laser_shoot.py import collidable, math, util, mob, pyglet, avatar pyglet.resource.path.append('./images') pyglet.resource.reindex() beam_image=pyglet.resource.image('beam5.png') util.center_image(beam_image) laser_batch=pyglet.graphics.Batch() boom_sound=pyglet.media.load('./sounds/boom.wav',streaming=False) class Beam_Shoot(mob.Mob): def __init__(self,x,y,*args,**kwargs): super(Beam_Shoot,self).__init__(beam_image,x=x,y=y,*args,**kwargs) self.scale=1 self.spd=400 self.batch=laser_batch self.destruct_timer=2 self.dead=False #self.is_beam_shoot=True self.vel_x=0 self.left=self.x-(self.width//2) self.right=self.x+(self.width//2) self.top=self.y+(self.height//2) self.bottom=self.y-(self.height//2) self.anchor_x=0 self.anchor_y=0 #self.x=x
import pyglet from util import center_image # Tell pyglet where to find the resources pyglet.resource.path = ['../resources'] pyglet.resource.reindex() player_image = pyglet.resource.image("pig80.png") center_image(player_image) egg_image = pyglet.resource.image("egg80.png") center_image(egg_image) red_bird_image1 = pyglet.resource.image("red180.png") center_image(red_bird_image1) red_bird_image2 = pyglet.resource.image("red280.png") center_image(red_bird_image2) red_bird_image3 = pyglet.resource.image("red380.png") center_image(red_bird_image3) white_bird_image = pyglet.resource.image("white80.png") center_image(white_bird_image) yellow_bird_image = pyglet.resource.image("yellow80.png") center_image(yellow_bird_image) black_bird_image = pyglet.resource.image("black80.png") center_image(black_bird_image)
#horizontal_pacer.py import mob, pyglet, util, random, viewport from pyglet.window import key pyglet.resource.path.append('./images') pyglet.resource.reindex() enemy_image = pyglet.resource.image('polar_bear.png') util.center_image(enemy_image) class HorizontalPacer(mob.Mob): def __init__(self, *args, **kwargs): super(HorizontalPacer, self).__init__(enemy_image, *args, **kwargs) #self.scale=0.08 self.spd = 200 self.x = 0 self.y = 0 self.is_enemy = True self.vel_x = 0 self.vel_y = 0 pyglet.clock.schedule_interval(self.change_velocity, 3) def update(self, dt): dx = self.vel_x * dt dy = self.vel_y * dt ## if self.affected_by_gravity:
import pyglet, util pyglet.resource.path = ['../resources'] pyglet.resource.reindex() player_image = pyglet.resource.image("player.png") bullet_image = pyglet.resource.image("bullet.png") asteroid_image = pyglet.resource.image("asteroid.png") engine_image = pyglet.resource.image("engine_trail.png") engine_image.anchor_x = engine_image.width * 1.5 engine_image.anchor_y = engine_image.height/2 util.center_image(player_image) util.center_image(bullet_image) util.center_image(asteroid_image)
import pyglet from util import center_image # Tell pyglet where to find the resources pyglet.resource.path = ['../resources'] pyglet.resource.reindex() player_image = pyglet.resource.image("pig80.png") center_image(player_image) egg_image = pyglet.resource.image("egg80.png") center_image(egg_image) red_bird_image1 = pyglet.resource.image("red180.png") center_image(red_bird_image1) red_bird_image2 = pyglet.resource.image("red280.png") center_image(red_bird_image2) red_bird_image3 = pyglet.resource.image("red380.png") center_image(red_bird_image3) white_bird_image = pyglet.resource.image("white80.png") center_image(white_bird_image) yellow_bird_image = pyglet.resource.image("yellow80.png") center_image(yellow_bird_image) black_bird_image = pyglet.resource.image("black80.png")
#avatar.py import mob, pyglet, util from pyglet.window import key pyglet.resource.path.append('./images') pyglet.resource.reindex() avatar_image = pyglet.resource.image('frodo.png') util.center_image(avatar_image) avatar_pwrup_image = pyglet.resource.image('bat.png') util.center_image(avatar_pwrup_image) class Avatar(mob.Mob): def __init__(self, *args, **kwargs): super(Avatar, self).__init__(avatar_image, x=1000, y=450, *args, **kwargs) self.key_handler = key.KeyStateHandler() self.scale = 0.1 self.vel_y = 0 self.is_avatar = True self.death_timer = 0 self.spd = 200 self.invincible = False self.armed = False