Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/FortuneMaker.activity
diff options
context:
space:
mode:
authorJustin Lewis <jtl1728@rit.edu>2010-01-15 20:37:01 (GMT)
committer Justin Lewis <jtl1728@rit.edu>2010-01-15 20:37:01 (GMT)
commit07bedb5d95f3deaa62a45562f8277550d2cf7024 (patch)
tree36c6dbe26a41bb004657c05acfa3d6b839867e3b /FortuneMaker.activity
parent1f381b93e086ff32557ba6bf49d6d30f719ca133 (diff)
Added room options. still doesn't save but now shows options
Diffstat (limited to 'FortuneMaker.activity')
-rw-r--r--FortuneMaker.activity/FortuneMaker.py134
-rw-r--r--FortuneMaker.activity/Room.py11
-rw-r--r--FortuneMaker.activity/constants.py5
3 files changed, 143 insertions, 7 deletions
diff --git a/FortuneMaker.activity/FortuneMaker.py b/FortuneMaker.activity/FortuneMaker.py
index 182c9e4..ad67198 100644
--- a/FortuneMaker.activity/FortuneMaker.py
+++ b/FortuneMaker.activity/FortuneMaker.py
@@ -1,6 +1,10 @@
from Room import Room
from Dungeon import Dungeon
-from constants import THEME_NAME
+from constants import (
+ THEME_NAME, DOOR_INDEX, DOOR_FLAGS,
+ SPEC_FLAGS, ENEM_INDEX, ITEM_FLAGS,
+ ITEM_INDEX
+ )
from sugar.activity.activity import Activity, ActivityToolbox
from gettext import gettext as _
@@ -50,7 +54,7 @@ class FortuneMaker(Activity):
def get_button_bar(self):
button_tabs = gtk.HBox()
- stats = gtk.Button( _("Dungeon Summery") )
+ stats = gtk.Button( _("Dungeon Summary") )
stats.set_alignment(0,.5)
stats.connect( 'clicked', self.view_change_cb, 'stats')
button_tabs.pack_start( stats, False )
@@ -167,9 +171,129 @@ class FortuneMaker(Activity):
self.set_gui_view( scroll, True )
def view_room(self):
- dungeon_stats = gtk.HBox()
- dungeon_stats.pack_start(gtk.Label("room to be implemented"))
- self.set_gui_view( dungeon_stats, True )
+ #TODO CHECK IF ACTIVE ROOM SET
+
+ room_holder = gtk.VBox()
+
+ ## Room Doors
+ #############
+ frame = gtk.Frame(_("Room Doors"))
+ holder = gtk.VBox()
+
+ doors = {}
+
+ door_flags = [ _("None") ]
+ door_flags.extend( DOOR_FLAGS.values() )
+ for door_key in DOOR_INDEX:
+ row = gtk.HBox()
+ label = gtk.Label(DOOR_INDEX[door_key])
+ label.set_alignment( 0, 0.5 )
+ row.pack_start( label )
+
+ doors[door_key] = gtk.combo_box_new_text()
+
+ for value in door_flags:
+ doors[door_key].append_text( value )
+
+ door_flag = self.active_room.get_door( door_key )
+ if door_flag != '0':
+ doors[door_key].set_active( door_flags.index( DOOR_FLAGS[door_flag] ) )
+ else:
+ doors[door_key].set_active( 0 )
+
+ row.pack_start( doors[door_key] )
+ holder.pack_start( row, True )
+
+ frame.add( holder )
+ room_holder.pack_start( frame, False )
+
+ ##Room Flags
+ ############
+ frame = gtk.Frame(_("Room Properties"))
+ holder = gtk.VBox()
+
+ row = gtk.HBox()
+ label = gtk.Label(_("Room Flag"))
+ label.set_alignment( 0, 0.5 )
+ row.pack_start( label )
+
+ flag_sel = gtk.combo_box_new_text()
+ spec_flags = SPEC_FLAGS.values()
+ for flag in spec_flags:
+ flag_sel.append_text( flag )
+
+ flag = self.active_room.get_room_flag()
+ flag_sel.set_active( spec_flags.index( SPEC_FLAGS[flag] ) )
+
+ row.pack_start( flag_sel )
+ holder.pack_start( row, True)
+
+ frame.add( holder )
+ room_holder.pack_start( frame, False )
+
+ ## Room Enemies
+ ###############
+ frame = gtk.Frame(_("Room Enemies"))
+ holder = gtk.VBox()
+
+ enem = []
+
+ for i in range(0,4):
+ enem.append( gtk.combo_box_new_text() )
+
+ row = gtk.HBox()
+ label = gtk.Label("%s (%d)" % (_("Enemy"), i))
+ label.set_alignment( 0, 0.5 )
+
+ row.pack_start(label)
+ em_list = ENEM_INDEX.values()
+ for em in em_list:
+ enem[i].append_text( em )
+
+ enem[i].set_active( em_list.index(ENEM_INDEX[self.active_room.get_enemy( i )] ) )
+ row.pack_start( enem[i] )
+
+ holder.pack_start( row, False )
+
+ frame.add( holder )
+ room_holder.pack_start( frame, False )
+
+ ## Room Items
+ #############
+ frame = gtk.Frame(_("Room Item"))
+ holder = gtk.VBox()
+
+ item_arr = []
+
+ item_list = ITEM_INDEX.values()
+ item_flags = ITEM_FLAGS.values()
+
+ for i in range(0,4):
+ itemType = gtk.combo_box_new_text()
+ itemFlag= gtk.combo_box_new_text()
+
+ for item in item_list:
+ itemType.append_text( item )
+
+ #TODO: ADD DEFUALT Flag
+
+ for item in item_flags:
+ itemFlag.append_text( item )
+
+ #TODO: ADD DEFUALT Flag
+
+ item_arr.append( [itemType, itemFlag] )
+
+ row = gtk.HBox()
+ row.pack_start( itemType )
+ row.pack_start( itemFlag )
+
+ holder.pack_start( row, False )
+
+ frame.add( holder )
+ room_holder.pack_start( frame, False )
+
+ self.set_gui_view( room_holder, True )
def set_active_room(self, widgit, room):
self.active_room = room
diff --git a/FortuneMaker.activity/Room.py b/FortuneMaker.activity/Room.py
index ed7232a..c6f3a00 100644
--- a/FortuneMaker.activity/Room.py
+++ b/FortuneMaker.activity/Room.py
@@ -36,18 +36,29 @@ class Room:
else:
print "INVALID DOOR"
+ def get_door( self, door):
+ if door in DOOR_INDEX:
+ return self.doors[door][1]
+
def set_room_flag(self, flag):
if flag in SPEC_FLAGS:
self.special = flag
else:
print "INVALID FLAG"
+ def get_room_flag( self ):
+ return self.special
+
def set_enemy( self, pos, enemy ):
if pos >= 0 and pos <=3 and enemy in ENEM_INDEX:
self.enemy[pos] = enemy
else:
print "INVALID ENEMY POS OR ID"
+ def get_enemy(self, pos):
+ if pos >=0 and pos <=3:
+ return self.enemy[pos]
+
def set_item(self, pos, id, flag):
if pos >= 0 and pos <=3 and id in ITEM_INDEX and flag in ITEM_FLAGS:
self.item[ pos ] = [id, flag]
diff --git a/FortuneMaker.activity/constants.py b/FortuneMaker.activity/constants.py
index 909cd88..444f6ec 100644
--- a/FortuneMaker.activity/constants.py
+++ b/FortuneMaker.activity/constants.py
@@ -17,13 +17,13 @@ DOOR_FLAGS = {
}
SPEC_FLAGS = {
- '0':_(''),
+ '0':_('None'),
'M':_('Merchant'),
'P':_('Puzzle')
}
ENEM_INDEX = {
- '0':_('none'),
+ '0':_('None'),
'1':_('Wizard Adept'),
'2':_('Goblin'),
'3':_('Orc'),
@@ -33,6 +33,7 @@ ENEM_INDEX = {
}
ITEM_INDEX = {
+ '0':_('None')
}