File tree Expand file tree Collapse file tree 4 files changed +22
-14
lines changed Expand file tree Collapse file tree 4 files changed +22
-14
lines changed Original file line number Diff line number Diff line change 1
1
from constants import *
2
- from sprite import *
2
+ from sprite import PlayerSprite
3
3
4
4
class BaseCharacter (object ):
5
5
"""The base class from which all other game characters derive."""
Original file line number Diff line number Diff line change 3
3
class CharacterManager (object ):
4
4
5
5
def __init__ (self , screen ):
6
+ self .screen = screen
6
7
self .party = {
7
8
'hero' : CharHero (screen ),
8
9
'test' : CharTest (screen ) }
10
+
11
+ def party_add (self , char ):
12
+ """Add a new party character to the player's party."""
13
+
14
+ if not self .party [char ] in self .screen .party_sprites :
15
+ self .screen .party_sprites .add (self .party [char ])
16
+ self .screen .add_all_sprites ()
17
+
18
+ def party_remove (self , char ):
19
+ """Remove a character from the player's party."""
20
+
21
+ if self .party [char ] in self .screen .party_sprites :
22
+ self .party [char ].kill ()
Original file line number Diff line number Diff line change @@ -88,13 +88,13 @@ def create_sprites(self):
88
88
89
89
self .party_sprites = pygame .sprite .Group ([
90
90
self .chars .party ['hero' ] ])
91
- self .char_sprites = pygame .sprite .Group ([
92
- self .party_sprites ])
93
91
self .gui_stats = StatsWindow (self .party_sprites )
94
92
95
93
def add_all_sprites (self ):
96
94
"""Add all sprite groups to the drawing order queue."""
97
95
96
+ self .char_sprites = pygame .sprite .Group ([
97
+ self .party_sprites ])
98
98
self .all_sprites = pygame .sprite .OrderedUpdates ([
99
99
self .map .layers ['terrain' ],
100
100
self .char_sprites ,
@@ -103,15 +103,6 @@ def add_all_sprites(self):
103
103
for sprite in self .all_sprites :
104
104
self .layers .add (sprite )
105
105
106
- def add_to_party (self , chara ):
107
- """Called during gameplay to add a new party character to the game."""
108
-
109
- if not self .chars .party [chara ] in self .party_sprites :
110
- self .party_sprites .add (self .chars .party ['test' ])
111
- self .char_sprites = pygame .sprite .Group ([
112
- self .party_sprites ])
113
- self .add_all_sprites ()
114
-
115
106
def draw (self ):
116
107
"""Draws the sprites to the screen and updates the window."""
117
108
Original file line number Diff line number Diff line change @@ -87,9 +87,12 @@ def check_events(self):
87
87
elif event .key == K_d :
88
88
pygame .time .set_timer (DIALOG_EVENT , 100 )
89
89
90
- # An example of adding the test party character to the party.
90
+ # An example of adding and removing a test character to the
91
+ # party.
91
92
elif event .key == K_a :
92
- self .screen .add_to_party ("test" )
93
+ self .screen .chars .party_add ("test" )
94
+ elif event .key == K_z :
95
+ self .screen .chars .party_remove ("test" )
93
96
94
97
elif event .key in (
95
98
HERO_MOVE_DOWN ,
You can’t perform that action at this time.
0 commit comments