import sys
import random
import os.path
+import cPickle
import level
import butaba
# initialize the game
def __init__ (self):
pygame.init ()
- self.screen = pygame.display.set_mode ((720, 512), pygame.FULLSCREEN)
+ self.screen = pygame.display.set_mode ((720, 512))
pygame.display.set_caption ("The Adventures of Butaba")
# initalize background graphics
# set up the levels and their interactions
def setup_levels (self):
- self.level1 = level.Level (level.LEVEL_1)
- self.level1e = level.Level (level.LEVEL_1E,
- objects = [ gameobjects.Key (4, 3, "a chest key", self.img_key2, level.KEY_CHEST1),
- gameobjects.Key (4, 3, "a room key", self.img_key, level.KEY_ROOM1),
- gameobjects.HealthPotion (4, 2, self.img_redpotion),
- gameobjects.Chest (2, 5, "chest", self.img_chest, level.KEY_CHEST1, True)
+ self.level1 = level.Level (cPickle.load (file ("levels/level1.dat")))
+ self.level1w = level.Level (cPickle.load (file ("levels/level1w.dat")))
+ self.level1e = level.Level (cPickle.load (file ("levels/level1e.dat")),
+ objects = [ gameobjects.Key (5, 3, "a chest key", self.img_key2, level.KEY_CHEST1),
+ gameobjects.Key (5, 3, "a room key", self.img_key, level.KEY_ROOM1),
+ gameobjects.HealthPotion (5, 2, self.img_redpotion),
+ gameobjects.Chest (2, 5, "chest", self.img_chest, level.KEY_CHEST1, True),
+ gameobjects.GoldCoins (6, 2, self.img_goldcoins, 50)
]
)
self.level1.levelright = self.level1e
+ self.level1.levelleft = self.level1w
+
self.level1e.levelleft = self.level1
+ self.level1w.levelright = self.level1
+
def main_loop (self):
# main game loop
while 1:
# display the contents of the chest
else:
pass
+ # if the object is gold coins
+ elif isinstance (obj, gameobjects.GoldCoins) is True:
+ obj.use (self.butaba)
+ self.status_message = "You picked up %d gold." % obj.value
+ # remove the gold coins after adding it to Butaba's gold
+ if obj in self.currentlevel.objects:
+ self.currentlevel.objects.remove (obj)
+ elif obj in self.butaba.inventory:
+ self.butaba.inventory.remove (obj)
def move_butaba_left (self):
# clear any status messages