Changeset 408:02a6de5629d6
- Timestamp:
- Nov 21, 2009, 9:40:29 AM (11 years ago)
- Branch:
- default
- Convert:
- svn:b4e93282-eac8-4b8b-b765-0f5d36de2b68/trunk/rinkhals@413
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
docs/Level_structure
r387 r408 4 4 two layers of pgu's tilemap - the tile layer, for the objects of interest, 5 5 and the code layer, which indicates the starting chicken positions. 6 7 Different codes mean chickens ahve different levels of equipment. 8 9 01 - chicken with no equipment 10 02 - chicken with helmet 11 03 - chicken with kevlar 12 04 - chicken with knife 13 05 - chicken with rifle 14 06 - chicken with kevlar & helmet 15 07 - chicken with helmet & knife 16 08 - chicken with kevlar & knife 17 09 - chicken with kevlar, helmet & knife 18 10 - chicken with helmet & rifle 19 11 - chicken with kevlar & rifle 20 12 - chicken with kevlar, helmet & rifle 6 21 7 22 The level.conf file allows the default game constants to be customised. -
gamelib/equipment.py
r380 r408 197 197 except TypeError: 198 198 pass 199 200 201 EQUIP_MAP = { # Map chicken level codes to equipment 202 1 : [], 203 2 : [Helmet], 204 3 : [Kevlar], 205 4 : [Knife], 206 5 : [Rifle], 207 6 : [Kevlar, Helmet], 208 7 : [Helmet, Knife], 209 8 : [Kevlar, Knife], 210 9 : [Kevlar, Helmet, Knife], 211 10 : [Helmet, Rifle], 212 11 : [Kevlar, Rifle], 213 12 : [Kevlar, Helmet, Rifle], 214 } -
gamelib/gameboard.py
r405 r408 303 303 self.fix_buildings() 304 304 305 cdata = { 306 1 : (self.add_start_chickens, None),307 }305 cdata = {} 306 for tn in equipment.EQUIP_MAP: 307 cdata[tn] = (self.add_start_chickens, tn) 308 308 309 309 self.tv.run_codes(cdata, (0,0,width,height)) … … 938 938 self.toolbar.update_cash_counter(self.cash) 939 939 940 def add_start_chickens(self, _map, tile, _value):940 def add_start_chickens(self, _map, tile, value): 941 941 """Add chickens as specified by the code layer""" 942 942 chick = animal.Chicken((tile.tx, tile.ty)) 943 for equip_cls in equipment.EQUIP_MAP[value]: 944 item = equip_cls() 945 chick.equip(item) 943 946 self.add_chicken(chick) 944 947 -
regenerate_level_data.py
r386 r408 6 6 from pygame.locals import SWSURFACE, SRCALPHA 7 7 8 from gamelib import tiles, buildings 8 from gamelib import tiles, buildings, equipment 9 9 import regenerate_pngs 10 10 … … 41 41 def get_code_mappings(): 42 42 code_map = {} 43 # this list needs to manually kept in sync. This should be fixed 44 for tn, sprite_name in [(1, 'chkn')]: 45 image = generate_image(sprite_name, regenerate_pngs.SPRITE_PATH) 43 # Needs better handling of wings 44 for tn, sprites in equipment.EQUIP_MAP.iteritems(): 45 image = generate_image('chkn', regenerate_pngs.SPRITE_PATH) 46 need_wing = False 47 for equip in sprites: 48 sub_image = generate_image(equip.CHICKEN_IMAGE_FILE, 49 regenerate_pngs.SPRITE_PATH) 50 image.blit(sub_image, (0, 0)) 51 if equip.UNDER_LIMB: 52 need_wing = True 53 if need_wing: 54 sub_image = generate_image('wing', regenerate_pngs.SPRITE_PATH) 55 image.blit(sub_image, (0, 0)) 46 56 if image: 47 57 code_map[tn] = image
Note: See TracChangeset
for help on using the changeset viewer.