Exemplo n.º 1
0
	def __init__(self,x,y,w,h,grid,tileList,itemList,good_guys,effects,images_dict,speed = 0.6,health=30):
		
		super(Buzzer,self).__init__(x,y,w,h,grid,tileList,itemList,good_guys,effects,images_dict,speed,health)
		self.damage = 5
		
		moveleft_list = gutils.sliceSheetColKey(self.w,self.h,"images\\buzzer_moveleft.png")
		moveright_list = gutils.sliceSheetColKey(self.w,self.h,"images\\buzzer_moveright.png")
		
		sprout_proj_images = gutils.sliceSheetColKey(12,12,"images\\sprout_proj.png")
		
		params = [2,2,2]
		
		self.id = 0
		self.frame = 0
		
		self.image_master = [moveleft_list,moveright_list]
		self.animator = helpers.AnimManager(params,24)
		self.image = self.image_master[self.id][self.frame]
		
		self.bullets_list = []
		self.fire_acctime = 0
		self.fire_updatetime = random.randrange(2000,6000)
		self.x_moverange = 70
		self.y_moverange = 70
		self.sin_angle = 0
		self.wave_speed = 20
		self.wave_strength = 2.0
Exemplo n.º 2
0
	def __init__(self,x,y,w,h,grid,tileList,itemList,good_guys,effects,images_dict,speed = 0.4,health=20):
		
		super(Ghost,self).__init__(x,y,w,h,grid,tileList,itemList,good_guys,effects,images_dict,speed,health)
		self.damage = 8
		
		stand_list = gutils.sliceSheetColKey(self.w,self.h,"images\\ghost_stand.png")
		moveleft_list = gutils.sliceSheetColKey(self.w,self.h,"images\\ghost_moveleft.png")
		moveright_list = gutils.sliceSheetColKey(self.w,self.h,"images\\ghost_moveright.png")
		
		
		self.ray_colors = [(255,0,0),(255,255,255),(0,255,0),(255,255,0)]
		self.color_id = 0
		self.can_draw_ray = False
		self.ray_draw_acctime = 5000
		self.ray_draw_duration = 2500
		self.hit_tile = None
		
		sprout_proj_images = gutils.sliceSheetColKey(12,12,"images\\sprout_proj.png")
		
		params = [2,2,2]
		
		self.id = 0
		self.frame = 0
		
		self.image_master = [stand_list,moveleft_list,moveright_list]
		self.animator = helpers.AnimManager(params,6)
		self.image = self.image_master[self.id][self.frame]
		
		self.bullets_list = []
		self.fire_acctime = 0
		self.fire_updatetime = random.randrange(3000,6000)
		self.x_moverange = 70
		self.y_moverange = 70
Exemplo n.º 3
0
	def __init__(self,x,y,w,h,grid,tileList,itemList,good_guys,effects,images_dict,speed = 0.4,health=22):
		
		super(Dasher,self).__init__(x,y,w,h,grid,tileList,itemList,good_guys,effects,images_dict,speed,health)
		self.damage = 10
		
		stand_list = gutils.sliceSheetColKey(self.w,self.h,"images\\dasher_stand.png")
		moveleft_list = gutils.sliceSheetColKey(self.w,self.h,"images\\dasher_moveleft.png")
		moveright_list = gutils.sliceSheetColKey(self.w,self.h,"images\\dasher_moveright.png")
		
		self.proj_images = "images\\dasher_proj.png"
		
		params = [2,2,2]
		
		self.id = 0
		self.frame = 0
		
		self.image_master = [stand_list,moveleft_list,moveright_list]
		self.animator = helpers.AnimManager(params,6)
		self.image = self.image_master[self.id][self.frame]
		
		self.bullets_list = []
		self.fire_acctime = 0
		self.fire_updatetime = random.randrange(1000,3000)
		
		self.dash_max_vel = 4
		self.dx = 0
		self.dx = 0
		self.friction = 0.95
		self.dash_acctime = 0
		self.dash_updatetime = random.randrange(2000,4000)
		self.x_moverange = 100
		self.y_moverange = 100
Exemplo n.º 4
0
    def __init__(self, x, y, w, h):

        self.x = x
        self.y = y
        self.w = w
        self.h = h
        self.hx = self.w / 2
        self.hy = self.h / 2
        self.collidable = True
        self.x_coord = self.x / w
        self.y_coord = self.y / h

        self.kind = "FireCrate"
        image_path = "images\\fire_crate.png"
        self.master_images = gutils.sliceSheetColKey(w, h, image_path)
        self.anim_object = gobs.AnimObject([self.master_images, -1, 6], x, y,
                                           0, 0, 1)
        self.health = 10
        self.alive = True

        self.image = self.anim_object.image
        self.rect = self.image.get_rect()
        self.rect.topleft = (self.x, self.y)
        self.col_rect = pygame.Rect(0, 0, 14, 14)
        self.col_rect.center = self.rect.center
Exemplo n.º 5
0
	def __init__(self,x,y,w,h,grid,tileList,itemList,good_guys,effects,images_dict,speed = 0.4,health=15):
		
		super(IceWitch,self).__init__(x,y,w,h,grid,tileList,itemList,good_guys,effects,images_dict,speed,health)
		self.damage = 4
		
		stand_list = gutils.sliceSheetColKey(self.w,self.h,"images\\icewitch.png")
		moveleft_list = gutils.sliceSheetColKey(self.w,self.h,"images\\icewitch_moveleft.png")
		moveright_list = gutils.sliceSheetColKey(self.w,self.h,"images\\icewitch_moveright.png")
		
		self.proj_images = "images\\ice_proj.png"
		
		params = [2,2,2]
		
		self.id = 0
		self.frame = 0
		
		self.image_master = [stand_list,moveleft_list,moveright_list]
		self.animator = helpers.AnimManager(params,6)
		self.image = self.image_master[self.id][self.frame]
		
		self.bullets_list = []
		self.fire_acctime = 0
		self.fire_updatetime = random.randrange(1500,8000)
Exemplo n.º 6
0
    def __init__(self,
                 image_path,
                 x,
                 y,
                 w,
                 h,
                 direction,
                 speed=0.8,
                 fps=12,
                 friction=1.0,
                 rotate=False,
                 trail=False):

        self.x = x
        self.y = y
        self.rotate = rotate
        self.kind = "AnimatedBullet"
        self.trail = trail

        self.trail_list = []
        self.max_traillen = 6

        self.master_images = gutils.sliceSheetColKey(w, h, image_path)

        self.main_image = self.master_images[0].copy()
        self.rect = self.main_image.get_rect()
        self.rect.center = (self.x, self.y)
        self.col_rect = pygame.Rect(self.x, self.y, 4, 4)
        self.dir = direction
        self.rot_rect = self.main_image.get_rect()
        self.speed = speed
        self.friction = friction

        self.fps = fps
        self.dx = math.cos(direction * (math.pi / 180)) * self.speed
        self.dy = math.sin(direction * (math.pi / 180)) * self.speed

        self.anim_object = gobs.AnimObject([self.master_images, -1, self.fps],
                                           x, y, self.dx, self.dy,
                                           self.friction)

        self.alive = True

        if self.rotate:
            self.image = pygame.transform.rotate(self.main_image,
                                                 360 - self.dir)
            self.rot_rect = self.image.get_rect(center=self.rect.center)
        else:
            self.image = self.main_image
Exemplo n.º 7
0
    def __init__(self, x, y, size=16):

        self.kind = "DoorTile"
        self.master_images = gutils.sliceSheetColKey(16, 16,
                                                     "images\\door.png")

        self.image = self.master_images[0]
        self.rect = self.image.get_rect()
        self.x = x
        self.y = y
        self.w = size
        self.h = size
        self.hx = self.w / 2
        self.hy = self.h / 2
        self.collidable = False
        self.is_open = False
        self.rect.topleft = (self.x, self.y)
Exemplo n.º 8
0
    def __init__(self,
                 image_path,
                 x,
                 y,
                 w,
                 h,
                 target,
                 speed=0.3,
                 fps=15,
                 friction=0.97,
                 trail=True):

        self.kind = "RandomBullet"

        self.trail_list = []
        self.max_traillen = 6

        self.x, self.y = (x, y)
        self.yvel = self.xvel = 0

        self.fps = fps

        self.master_images = gutils.sliceSheetColKey(w, h, image_path)

        self.anim_object = gobs.AnimObject([self.master_images, -1, self.fps],
                                           x, y, 0, 0, 1)

        self.main_image = self.master_images[0].copy()
        self.image = self.main_image.copy()
        self.rect = self.image.get_rect()
        self.rot_rect = self.image.get_rect()
        self.col_rect = pygame.Rect(self.x, self.y, 4, 4)

        self.missileOrientation = 0
        self.speed = speed
        self.maxVel = 3.0
        self.vectorToTargetN = (0, 0)
        self.angularVelocity = 0
        self.friction = friction

        self.alive = True
        self.target = target
Exemplo n.º 9
0
	def __init__(self,run_flag,x,y,enemyList,tileList,effects,itemList,images_dict,sound_manager):
		
		self.sound_manager = sound_manager
		self.run_flag = run_flag
		self.STAND = 0
		self.RUN_LEFT = 1
		self.RUN_RIGHT = 2
		self.RUN_UP = 3
		self.RUN_DOWN = 4
		self.HIT_LEFT = 5
		self.HIT_RIGHT =6
		
		# little tweaks after the long journey
		self.can_draw_orb = True
		self.fire_angle = 270
		self.aim_speed = 8
		
		self.enemyList = enemyList
		self.tileList = tileList
		self.itemList = itemList
		self.images_dict = images_dict
		self.weapon_id = 0
		self.weapons_list = [weapons.BasicGun(self),
								weapons.DualGun(self),
								weapons.BounceGun(self),
								weapons.LightningGun(self),
								weapons.FlameGun(self),
								weapons.WaveyGun(self),
								weapons.PiercerGun(self),
								weapons.RandomGun(self)]
								
		self.cur_weapon = self.weapons_list[self.weapon_id]
		self.mana_amount = 100
		
		self.left_is_down = False
		self.right_is_down = False
		self.up_is_down = False
		self.down_is_down = False
		self.room_key = None
		
		stand_s = StandState(self)
		runleft_s = RunLeftState(self)
		runright_s = RunRightState(self)
		runup_s  = RunUpState(self)
		rundown_s = RunDownState(self)
		
		self.effects_list = []
		self.effects = effects
		
		self.states = [stand_s,runleft_s,runright_s,runup_s,rundown_s]
		self.cur_state = self.states[0]
		
		self.x = x
		self.y = y
		self.w = 16
		self.h = 16
		self.hx = self.w / 2
		self.hy = self.h / 2
		self.health = 100
		
		self.dx = 0
		self.dy = 0
		self.speed = 0.06
		self.friction = 0.935
		self.id = 0 
		self.frame = 0
		self.target = sbv.Target((self.x-10,self.y))
		self.cam_target = sbv.Target((self.x,self.y))
		self.cam_tracker = None
		
		self.firing_angle = 0
		self.firing_vector = (0,0)
		
		self.bullets_list = []
		
		self.time_since_dash = 0
		self.is_dashing = False
		self.dash_waittime = 1500
		self.dash_vel = 2.8
		self.exit_status = 0		# 1 for next room, -1 for escape exit
		
		self.trail_positions = []
		self.trail_len = 5
		
		# flags
		self.is_run_left = False
		self.is_run_right = False
		self.last_dir = 0 		# 0 for left ;1 for right
		self.last_dir_v = 0 	# 0 for up ; 1 for down
		self.gamestate = None
		self.is_slashing = False
		
		self.rect = pygame.Rect(self.x,self.y,16,16)
		self.col_rect = pygame.Rect(self.x,self.y,16,16)
		self.shooter_rect = pygame.Rect(self.x,self.y,25,25)
		self.pointer_radius = 10
		
		# blending stuff
		self.is_flashing = False
		self.flash_duration = 800
		self.flash_acctime = 5000
		
		self.blink_acctime = 0
		self.blink_updatetime = 50
		self.is_blend_visible = False
		
		self.blendimage = None
		self.blendcolor = (255,0,0)
		
		self.alive = True
		self.killed_effect = None
		self.time_since_killed = 0
		self.end_duration = 2500
		
		# load images
		params = [2,3,3,3,3,5,5]
		stand_list = gutils.sliceSheetColKey(16,16,"images\\aris_stand.png")
		runleft_list = gutils.sliceSheetColKey(16,16,"images\\aris_runleft.png")
		runright_list = gutils.sliceSheetColKey(16,16,"images\\aris_runright.png")
		runup_list = gutils.sliceSheetColKey(16,16,"images\\aris_runup.png")
		rundown_list = gutils.sliceSheetColKey(16,16,"images\\aris_rundown.png")
		hitleft_list = gutils.sliceSheetColKey(16,16,"images\\mage_hit_left.png")
		hitright_list = gutils.sliceSheetColKey(16,16,"images\\mage_hit_right.png")
		
		self.dead_list = gutils.sliceSheetColKey(16,16,"images\\aris_poof.png")
		
		self.image_master = [stand_list,runleft_list,runright_list,runup_list,rundown_list,hitleft_list,hitright_list]
		self.animator = helpers.AnimManager(params,6)
		
		self.image = self.image_master[self.id][self.frame]
		self.trail_image = self.image.copy()
		
		self.pointer_surf = pygame.image.load("images\\pointer.png").convert()
		self.pointer_surf.set_colorkey((255,0,255))
		self.pointer_surf.set_alpha(100)
		
		
		self.pointer_image = self.pointer_surf.copy()
		self.pointer_image_rect = self.pointer_image.get_rect()
		self.pointer_image_rot_rect = self.pointer_image.get_rect()
		
		self.weapon_target = sbv.Target((self.rect.centerx,self.rect.centery))
		self.magic_orb = weapons.Orb(self.target,self)
		
		self.line_collider = Line(self.rect.topleft,self.rect.topright,(0,0,0))
		
		topline = ((float(self.rect.left),float(self.rect.top)),(float(self.rect.right),float(self.rect.top)))
		bottomline = ((float(self.rect.left),float(self.rect.bottom)),(float(self.rect.right),float(self.rect.bottom)))
		leftline = ((float(self.rect.left),float(self.rect.top)),(float(self.rect.left),float(self.rect.bottom)))
		rightline = ((float(self.rect.right),float(self.rect.top)),(float(self.rect.right),float(self.rect.bottom)))
		
		self.lines = [rightline,topline,leftline,bottomline]
Exemplo n.º 10
0
if state.fullscreen:
    screen = pygame.display.set_mode((W, H), DOUBLEBUF | FULLSCREEN)
else:
    screen = pygame.display.set_mode((W, H), DOUBLEBUF)

pygame.mouse.set_visible(False)

res_surf = pygame.Surface((320, 240))

clock = pygame.time.Clock()

sound_manager = generic.SoundManager(state)

# load global images
hit_effect_images = gutils.sliceSheetColKey(12, 12, "images\\hit_eff.png")
kill_effect_images = gutils.sliceSheetColKey(22, 22, "images\\kill_eff.png")
break_effect_images = gutils.sliceSheetColKey(16, 16, "images\\break_eff.png")
key_effect_images = gutils.sliceSheetColKey(16, 16, "images\\key_eff.png")
p_killed_images = gutils.sliceSheetColKey(64, 64, "images\\killed_boom.png")

images_dict = {
    "hit": (hit_effect_images, 12, 12),
    "kill": (kill_effect_images, 22, 22),
    "break": (break_effect_images, 16, 16),
    "key": (key_effect_images, 16, 16),
    "p_kill": (p_killed_images, 64, 64)
}

# load hud images
main_hud_image = pygame.Surface((W, 42)).convert()