Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--MAFH2/BattleEngine.py11
-rw-r--r--MAFH2/BattleMenu.py2
-rw-r--r--MAFH2/MagicMenu.py97
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