X-Git-Url: https://harishankar.org/repos/?p=butaba-adventures.git;a=blobdiff_plain;f=maingame.py;h=75702b8645152f683e2fef58f741b747bb92363d;hp=7b54c2de2ba1893f0be38c744636b1412e044374;hb=e233a6fc3203883436813db4a7a76242d77b6483;hpb=0c8a13e68a280cfbcb3248e0c33937f6553c841d diff --git a/maingame.py b/maingame.py index 7b54c2d..75702b8 100644 --- a/maingame.py +++ b/maingame.py @@ -2,6 +2,7 @@ import pygame import sys import random import os.path +import cPickle import level import butaba @@ -13,7 +14,7 @@ class MainGame: # 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 @@ -65,17 +66,23 @@ class MainGame: # 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: @@ -272,6 +279,15 @@ class MainGame: # 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