diff options
-rw-r--r-- | MAFH2/BattleEngine.py | 11 | ||||
-rw-r--r-- | MAFH2/BattleMenu.py | 2 | ||||
-rw-r--r-- | MAFH2/MagicMenu.py | 97 |
3 files changed, 82 insertions, 28 deletions
diff --git a/MAFH2/BattleEngine.py b/MAFH2/BattleEngine.py index 9a7fa6a..55051d6 100644 --- a/MAFH2/BattleEngine.py +++ b/MAFH2/BattleEngine.py @@ -84,20 +84,20 @@ class BattleEngine(GameEngineElement): self.__attack_phase(menu) elif selection == 'clear': - self.player_input = '0' - + self.player_input = '0' + elif selection == 'fire': menu.set_disp('Fire Cast!') self.__attack_phase(menu) - + elif selection == 'heal': menu.set_disp('Heal Cast!') self.__attack_phase(menu) - + elif selection == 'lightning': menu.set_disp('Lightning Cast!') self.__attack_phase(menu) - + elif selection == 'missile': menu.set_disp('Missile Cast!') self.__attack_phase(menu) @@ -114,6 +114,7 @@ class BattleEngine(GameEngineElement): menu.set_sec_disp( self.player_input ) def __attack_phase(self, menu): + # Check to see how much hp enemy has left. # Enemy Attack # Check player health print("in __attack_phase") diff --git a/MAFH2/BattleMenu.py b/MAFH2/BattleMenu.py index c05c3e1..003a026 100644 --- a/MAFH2/BattleMenu.py +++ b/MAFH2/BattleMenu.py @@ -150,7 +150,7 @@ class Menu(object): self.width = ren.get_width() newX = self.x + 45 * j - newY = self.y + i * 45 + newY = self.y + i * 45 pygame.draw.rect(surface, (0, 74, 94), ( newX, newY, o[2], 44)) pygame.draw.rect(surface, (4, 119, 152), ( newX + 2, newY + 2, o[2]-4, 40)) surface.blit(ren, (newX + 15, newY + 12)) diff --git a/MAFH2/MagicMenu.py b/MAFH2/MagicMenu.py index 1b47c27..a15217e 100644 --- a/MAFH2/MagicMenu.py +++ b/MAFH2/MagicMenu.py @@ -1,18 +1,18 @@ import pygame from fortuneengine.GameEngineElement import GameEngineElement -from constants import MENU_PATH +from constants import MENU_PATH, PUZZLE_PATH from gettext import gettext as _ NORMAL_MENU = 1 GRID_MENU = 2 class MagicMenuHolder( GameEngineElement ): - def __init__(self, callback): - GameEngineElement.__init__(self, has_draw=True, has_event=False) - self.menu = None - self.callback = callback - self.background = pygame.image.load(MENU_PATH + "battleMenubackground.gif") + def __init__(self, callback): + GameEngineElement.__init__(self, has_draw=True, has_event=False) + self.menu = None + self.callback = callback + self.background = pygame.image.load(MENU_PATH + "battleMenubackground.gif") def remove_from_engine(self): super( MagicMenuHolder, self ).remove_from_engine() @@ -37,18 +37,21 @@ class MagicMenuHolder( GameEngineElement ): self.add_to_engine() - #example of what will come + #example of what will come if id == "fire": menu_type = GRID_MENU + spell_type = 0 menu_options = [ [_('1'), lambda: self.menu_called("fire1"), 140,1], [_('2'), lambda: self.menu_called("fire2"), 140,1], [_('3'), lambda: self.menu_called("fire3"), 140,1], [_('4'), lambda: self.menu_called("fire4"), 140,1], [_('5'), lambda: self.menu_called("fire5"), 140,1], - [_('6'), lambda: self.menu_called("fire6"),140,1] + [_('6'), lambda: self.menu_called("fire6"), 140,1], + [_('7'), lambda: self.menu_called("fire7"), 140,1], + [_('8'), lambda: self.menu_called("fire8"), 140,1] ] - self.menu = MagicMenu(menu_options, 237, 375, menu_type) + self.menu = MagicMenu(menu_options, 237, 375, menu_type) class MagicMenu(GameEngineElement): def __init__(self, magic_menu, x, y, type): @@ -67,7 +70,7 @@ class MagicMenu(GameEngineElement): #not finished class Menu(object): - def __init__(self, options, cols): + def __init__(self, options, cols, spelltype): """Initialize the EzMenu! options should be a sequence of lists in the format of [option_name, option_function]""" @@ -75,33 +78,85 @@ class Menu(object): self.x = 0 self.y = 0 self.cols = cols - self.font = pygame.font.SysFont("cmr10",18,False,False) self.option = 0 self.width = 1 self.color = [0, 0, 0] self.hcolor = [255, 0, 0] - self.height = len(self.options)*self.font.get_height() + + + #btn1-4 will be correct buttons and btn5-8 will be incorrect + + if(spelltype == 0): + self.btn1 = pygame.image.load(PUZZLE_PATH + "FireGlyph1btn.gif") + self.btn2 = pygame.image.load(PUZZLE_PATH + "FireGlyph2btn.gif") + self.btn3 = pygame.image.load(PUZZLE_PATH + "FireGlyph3btn.gif") + self.btn4 = pygame.image.load(PUZZLE_PATH + "FireGlyph4btn.gif") + + #filler buttons + self.btn5 = pygame.image.load(PUZZLE_PATH + "LigGlyph1btn.gif") + self.btn6 = pygame.image.load(PUZZLE_PATH + "HealGlyph1btn.gif") + self.btn7 = pygame.image.load(PUZZLE_PATH + "MissileGlyph1btn.gif") + self.btn8 = pygame.image.load(PUZZLE_PATH + "LigGlyph2btn.gif") + + elif(spelltype == 1): + #lightning attack + self.btn1 = pygame.image.load(PUZZLE_PATH + "LigGlyph1btn.gif") + self.btn2 = pygame.image.load(PUZZLE_PATH + "LigGlyph2btn.gif") + self.btn3 = pygame.image.load(PUZZLE_PATH + "LigGlyph3btn.gif") + self.btn4 = pygame.image.load(PUZZLE_PATH + "LigGlyph4btn.gif") + + self.btn5 = pygame.image.load(PUZZLE_PATH + "HealGlyph1btn.gif") + self.btn6 = pygame.image.load(PUZZLE_PATH + "MissileGlyph1btn.gif") + self.btn7 = pygame.image.load(PUZZLE_PATH + "FireGlyph1btn.gif") + self.btn8 = pygame.image.load(PUZZLE_PATH + "FireGlyph2btn.gif") + + elif(spelltype == 2): + #missile attack + self.btn1 = pygame.image.load(PUZZLE_PATH + "MissileGlyph1btn.gif") + self.btn2 = pygame.image.load(PUZZLE_PATH + "MissileGlyph2btn.gif") + self.btn3 = pygame.image.load(PUZZLE_PATH + "MissileGlyph3btn.gif") + self.btn4 = pygame.image.load(PUZZLE_PATH + "MissileGlyph4btn.gif") + + self.btn5 = pygame.image.load(PUZZLE_PATH + "HealGlyph1btn.gif") + self.btn6 = pygame.image.load(PUZZLE_PATH + "LigGlyph1btn.gif") + self.btn7 = pygame.image.load(PUZZLE_PATH + "FireGlyph1btn.gif") + self.btn8 = pygame.image.load(PUZZLE_PATH + "FireGlyph2btn.gif") + elif(spelltype == 3): + #heal + self.btn1 = pygame.image.load(PUZZLE_PATH + "HealGlyph1btn.gif") + self.btn2 = pygame.image.load(PUZZLE_PATH + "HealGlyph2btn.gif") + self.btn3 = pygame.image.load(PUZZLE_PATH + "HealGlyph3btn.gif") + self.btn4 = pygame.image.load(PUZZLE_PATH + "HealGlyph4btn.gif") + + self.btn5 = pygame.image.load(PUZZLE_PATH + "LigGlyph1btn.gif") + self.btn6 = pygame.image.load(PUZZLE_PATH + "MissileGlyph1btn.gif") + self.btn7 = pygame.image.load(PUZZLE_PATH + "FireGlyph1btn.gif") + self.btn8 = pygame.image.load(PUZZLE_PATH + "FireGlyph2btn.gif") + + self.height = (len(self.options)*self.btn1.get_height()) / cols def draw(self, surface): """Draw the menu to the surface.""" i=0 # Row Spacing h=0 # Selection Spacing j=0 # Col Spacing + height = self.btn1.get_height() + width = self.btn1.get_width() + for o in self.options: if h==self.option: clr = self.hcolor else: clr = self.color text = o[0] - ren = self.font.render(text, 1, clr) - if ren.get_width() > self.width: - self.width = ren.get_width() - newX = self.x + 45 * j - newY = self.y + i * 45 - pygame.draw.rect(surface, (0, 74, 94), ( newX, newY, o[2], 44)) - pygame.draw.rect(surface, (4, 119, 152), ( newX + 2, newY + 2, o[2]-4, 40)) - surface.blit(ren, (newX + 15, newY + 12)) + newX = self.x + width * j + newY = self.y + i * height + surface.blit(self.btn1, (newX, newY) ) + + #pygame.draw.rect(surface, (0, 74, 94), ( newX, newY, o[2], 44)) + #pygame.draw.rect(surface, (4, 119, 152), ( newX + 2, newY + 2, o[2]-4, 40)) + #surface.blit(ren, (newX + 15, newY + 12)) j+=o[3] h+=1 @@ -138,8 +193,6 @@ class Menu(object): self.options[self.option][1]() return_val = True - # This jumps for uniform size buttons - # TODO FIX ME: weird behavior when jumping over weird sized buttons. self.option = self.option % len(self.options) return return_val |