diff options
Diffstat (limited to 'Classes')
| -rwxr-xr-x | Classes/ClassicGameMode.h | 7 | ||||
| -rwxr-xr-x | Classes/ClassicGameMode.m | 36 | ||||
| -rw-r--r-- | Classes/GameMode.h | 12 | ||||
| -rw-r--r-- | Classes/GameMode.m | 45 | ||||
| -rw-r--r-- | Classes/JumpGameMode.h | 10 | ||||
| -rw-r--r-- | Classes/JumpGameMode.m | 54 | ||||
| -rw-r--r-- | Classes/ScoreBarLayer.h | 19 | ||||
| -rw-r--r-- | Classes/ScoreBarLayer.m | 41 | ||||
| -rw-r--r-- | Classes/TutorialMode.h | 7 | ||||
| -rw-r--r-- | Classes/TutorialMode.m | 36 |
10 files changed, 205 insertions, 62 deletions
| diff --git a/Classes/ClassicGameMode.h b/Classes/ClassicGameMode.h index 898a5e7..018588d 100755 --- a/Classes/ClassicGameMode.h +++ b/Classes/ClassicGameMode.h | |||
| @@ -12,9 +12,16 @@ | |||
| 12 | #import "FallingObjectDelegate.h" | 12 | #import "FallingObjectDelegate.h" |
| 13 | 13 | ||
| 14 | @interface ClassicGameMode : GameMode <FallingObjectDelegate> { | 14 | @interface ClassicGameMode : GameMode <FallingObjectDelegate> { |
| 15 | int score; | ||
| 16 | int lives; | ||
| 17 | CCLabelBMFont* scoreLabel; | ||
| 18 | CCLabelBMFont* livesLabel; | ||
| 19 | |||
| 15 | float addSpeed; | 20 | float addSpeed; |
| 16 | } | 21 | } |
| 17 | 22 | ||
| 23 | @property (nonatomic) int score; | ||
| 24 | @property (nonatomic) int lives; | ||
| 18 | - (id)init; | 25 | - (id)init; |
| 19 | - (void)randomlyAddObject:(ccTime)dt; | 26 | - (void)randomlyAddObject:(ccTime)dt; |
| 20 | 27 | ||
| diff --git a/Classes/ClassicGameMode.m b/Classes/ClassicGameMode.m index e9085f2..0dabbdc 100755 --- a/Classes/ClassicGameMode.m +++ b/Classes/ClassicGameMode.m | |||
| @@ -10,9 +10,12 @@ | |||
| 10 | #import "FallingObject.h" | 10 | #import "FallingObject.h" |
| 11 | #import "GameOverScene.h" | 11 | #import "GameOverScene.h" |
| 12 | #import "SimpleAudioEngine.h" | 12 | #import "SimpleAudioEngine.h" |
| 13 | #import "ScoreBarLayer.h" | ||
| 13 | 14 | ||
| 14 | @implementation ClassicGameMode | 15 | @implementation ClassicGameMode |
| 15 | 16 | ||
| 17 | @synthesize score, lives; | ||
| 18 | |||
| 16 | typedef enum { | 19 | typedef enum { |
| 17 | kCherryObject = 0, | 20 | kCherryObject = 0, |
| 18 | kEnergyDrinkObject, | 21 | kEnergyDrinkObject, |
| @@ -181,9 +184,26 @@ static GameModeInfo* info; | |||
| 181 | CCSprite* backgroundImage = [CCSprite spriteWithFile:@"SeaBeach.png"]; | 184 | CCSprite* backgroundImage = [CCSprite spriteWithFile:@"SeaBeach.png"]; |
| 182 | backgroundImage.position = ccp(240, 160); | 185 | backgroundImage.position = ccp(240, 160); |
| 183 | [self addChild:backgroundImage z:-1]; | 186 | [self addChild:backgroundImage z:-1]; |
| 184 | 187 | ||
| 188 | score = 0; | ||
| 189 | lives = 3; | ||
| 185 | addSpeed = 2.5f; | 190 | addSpeed = 2.5f; |
| 186 | 191 | ||
| 192 | ScoreBarLayer* scoreBar = [ScoreBarLayer scoreBar]; | ||
| 193 | [self addChild:scoreBar]; | ||
| 194 | |||
| 195 | scoreLabel = [CCLabelBMFont labelWithString:@"0" fntFile:@"helvetica2.fnt"]; | ||
| 196 | scoreLabel.position = ccp(30,20); | ||
| 197 | [scoreBar addChild:scoreLabel]; | ||
| 198 | |||
| 199 | CCSprite* livesImage = [CCSprite spriteWithFile:@"oneup.png"]; | ||
| 200 | livesImage.position = ccp(110, 20); | ||
| 201 | [scoreBar addChild:livesImage]; | ||
| 202 | |||
| 203 | livesLabel = [CCLabelBMFont labelWithString:@"x3" fntFile:@"helvetica2.fnt"]; | ||
| 204 | livesLabel.position = ccp(142,20); | ||
| 205 | [scoreBar addChild:livesLabel]; | ||
| 206 | |||
| 187 | [objectFactory createRecipeWithIdentifier:kCherryObject spriteFilename:@"cherry.png" weight:5]; | 207 | [objectFactory createRecipeWithIdentifier:kCherryObject spriteFilename:@"cherry.png" weight:5]; |
| 188 | [objectFactory createRecipeWithIdentifier:kEnergyDrinkObject spriteFilename:@"bottle.png" weight:6]; | 208 | [objectFactory createRecipeWithIdentifier:kEnergyDrinkObject spriteFilename:@"bottle.png" weight:6]; |
| 189 | [objectFactory createRecipeWithIdentifier:kOneUpObject spriteFilename:@"oneup.png" weight:10]; | 209 | [objectFactory createRecipeWithIdentifier:kOneUpObject spriteFilename:@"oneup.png" weight:10]; |
| @@ -230,4 +250,18 @@ static GameModeInfo* info; | |||
| 230 | } | 250 | } |
| 231 | } | 251 | } |
| 232 | 252 | ||
| 253 | - (void)setScore:(int)m_score | ||
| 254 | { | ||
| 255 | score = m_score; | ||
| 256 | |||
| 257 | [scoreLabel setString:[NSString stringWithFormat:@"%d", score]]; | ||
| 258 | } | ||
| 259 | |||
| 260 | - (void)setLives:(int)m_lives | ||
| 261 | { | ||
| 262 | lives = m_lives; | ||
| 263 | |||
| 264 | [livesLabel setString:[NSString stringWithFormat:@"x%d", lives]]; | ||
| 265 | } | ||
| 266 | |||
| 233 | @end | 267 | @end |
| diff --git a/Classes/GameMode.h b/Classes/GameMode.h index ae3fbe5..6421099 100644 --- a/Classes/GameMode.h +++ b/Classes/GameMode.h | |||
| @@ -17,10 +17,7 @@ | |||
| 17 | 17 | ||
| 18 | @interface GameMode : CCLayer <UIAlertViewDelegate, CartDelegate, CCStandardTouchDelegate> { | 18 | @interface GameMode : CCLayer <UIAlertViewDelegate, CartDelegate, CCStandardTouchDelegate> { |
| 19 | NSMutableSet* objects; | 19 | NSMutableSet* objects; |
| 20 | int score; | 20 | Cart* cart; |
| 21 | int lives; | ||
| 22 | int pointMultiplier; | ||
| 23 | Cart* cart; | ||
| 24 | FallingObjectFactory* objectFactory; | 21 | FallingObjectFactory* objectFactory; |
| 25 | 22 | ||
| 26 | CCLayerColor* willPauseLayer; | 23 | CCLayerColor* willPauseLayer; |
| @@ -29,9 +26,6 @@ | |||
| 29 | BOOL isPaused; | 26 | BOOL isPaused; |
| 30 | BOOL isPausing; | 27 | BOOL isPausing; |
| 31 | 28 | ||
| 32 | CCLabelBMFont* scoreLabel; | ||
| 33 | CCLabelBMFont* livesLabel; | ||
| 34 | |||
| 35 | void (^delayedAction)(void); | 29 | void (^delayedAction)(void); |
| 36 | 30 | ||
| 37 | BOOL hasGyroscope; | 31 | BOOL hasGyroscope; |
| @@ -43,10 +37,6 @@ | |||
| 43 | } | 37 | } |
| 44 | 38 | ||
| 45 | @property (readonly) Cart* cart; | 39 | @property (readonly) Cart* cart; |
| 46 | @property (nonatomic,assign) int score; | ||
| 47 | @property (nonatomic,assign) int lives; | ||
| 48 | @property (nonatomic,assign) int pointMultiplier; | ||
| 49 | @property (readonly) BOOL isPaused; | ||
| 50 | - (void)tick:(ccTime)dt; | 40 | - (void)tick:(ccTime)dt; |
| 51 | - (BOOL)canPause; | 41 | - (BOOL)canPause; |
| 52 | - (void)pause; | 42 | - (void)pause; |
| diff --git a/Classes/GameMode.m b/Classes/GameMode.m index ca269cd..956e512 100644 --- a/Classes/GameMode.m +++ b/Classes/GameMode.m | |||
| @@ -12,7 +12,7 @@ | |||
| 12 | 12 | ||
| 13 | @implementation GameMode | 13 | @implementation GameMode |
| 14 | 14 | ||
| 15 | @synthesize cart, score, lives, isPaused, pointMultiplier; | 15 | @synthesize cart; |
| 16 | 16 | ||
| 17 | - (id)init | 17 | - (id)init |
| 18 | { | 18 | { |
| @@ -28,18 +28,6 @@ | |||
| 28 | cart.delegate = self; | 28 | cart.delegate = self; |
| 29 | [self addChild:cart.sprite]; | 29 | [self addChild:cart.sprite]; |
| 30 | 30 | ||
| 31 | scoreLabel = [CCLabelBMFont labelWithString:@"Score: 0" fntFile:@"helvetica2.fnt"]; | ||
| 32 | scoreLabel.position = ccp(50, 300); | ||
| 33 | [self addChild:scoreLabel]; | ||
| 34 | |||
| 35 | livesLabel = [CCLabelBMFont labelWithString:@"Lives: 3" fntFile:@"helvetica2.fnt"]; | ||
| 36 | livesLabel.position = ccp(50, 280); | ||
| 37 | [self addChild:livesLabel]; | ||
| 38 | |||
| 39 | score = 0; | ||
| 40 | lives = 3; | ||
| 41 | pointMultiplier = 1; | ||
| 42 | |||
| 43 | objectFactory = [[FallingObjectFactory alloc] init]; | 31 | objectFactory = [[FallingObjectFactory alloc] init]; |
| 44 | 32 | ||
| 45 | isPaused = NO; | 33 | isPaused = NO; |
| @@ -187,37 +175,6 @@ | |||
| 187 | [alert release]; | 175 | [alert release]; |
| 188 | } | 176 | } |
| 189 | 177 | ||
| 190 | - (void)setScore:(int)m_score | ||
| 191 | { | ||
| 192 | score = m_score; | ||
| 193 | |||
| 194 | if (pointMultiplier > 1) | ||
| 195 | { | ||
| 196 | [scoreLabel setString:[NSString stringWithFormat:@"Score: %d x%d", score, pointMultiplier]]; | ||
| 197 | } else { | ||
| 198 | [scoreLabel setString:[NSString stringWithFormat:@"Score: %d", score]]; | ||
| 199 | } | ||
| 200 | } | ||
| 201 | |||
| 202 | - (void)setLives:(int)m_lives | ||
| 203 | { | ||
| 204 | lives = m_lives; | ||
| 205 | |||
| 206 | [livesLabel setString:[NSString stringWithFormat:@"Lives: %d", lives]]; | ||
| 207 | } | ||
| 208 | |||
| 209 | - (void)setPointMultiplier:(int)m_pointMultiplier | ||
| 210 | { | ||
| 211 | pointMultiplier = m_pointMultiplier; | ||
| 212 | |||
| 213 | if (pointMultiplier > 1) | ||
| 214 | { | ||
| 215 | [scoreLabel setString:[NSString stringWithFormat:@"Score: %d x%d", score, pointMultiplier]]; | ||
| 216 | } else { | ||
| 217 | [scoreLabel setString:[NSString stringWithFormat:@"Score: %d", score]]; | ||
| 218 | } | ||
| 219 | } | ||
| 220 | |||
| 221 | - (void)scheduleDelayedAction:(void(^)(void))m_delayedAction delay:(float)delay | 178 | - (void)scheduleDelayedAction:(void(^)(void))m_delayedAction delay:(float)delay |
| 222 | { | 179 | { |
| 223 | delayedAction = Block_copy([m_delayedAction retain]); | 180 | delayedAction = Block_copy([m_delayedAction retain]); |
| diff --git a/Classes/JumpGameMode.h b/Classes/JumpGameMode.h index a09bbea..7502a28 100644 --- a/Classes/JumpGameMode.h +++ b/Classes/JumpGameMode.h | |||
| @@ -23,8 +23,18 @@ | |||
| 23 | int ledgeScrollSpeed; | 23 | int ledgeScrollSpeed; |
| 24 | float ledgeAccelerationRate; | 24 | float ledgeAccelerationRate; |
| 25 | float addSpeed; | 25 | float addSpeed; |
| 26 | |||
| 27 | int score; | ||
| 28 | int lives; | ||
| 29 | int pointMultiplier; | ||
| 30 | CCLabelBMFont* scoreLabel; | ||
| 31 | CCLabelBMFont* livesLabel; | ||
| 32 | CCLabelBMFont* pointMultiplierLabel; | ||
| 26 | } | 33 | } |
| 27 | 34 | ||
| 35 | @property (nonatomic) int score; | ||
| 36 | @property (nonatomic) int lives; | ||
| 37 | @property (nonatomic) int pointMultiplier; | ||
| 28 | - (void)accelerateGame; | 38 | - (void)accelerateGame; |
| 29 | - (void)randomlyAddObject:(ccTime)dt; | 39 | - (void)randomlyAddObject:(ccTime)dt; |
| 30 | - (void)incrementScore; | 40 | - (void)incrementScore; |
| diff --git a/Classes/JumpGameMode.m b/Classes/JumpGameMode.m index f0cb469..af51a70 100644 --- a/Classes/JumpGameMode.m +++ b/Classes/JumpGameMode.m | |||
| @@ -10,6 +10,7 @@ | |||
| 10 | #import "SimpleAudioEngine.h" | 10 | #import "SimpleAudioEngine.h" |
| 11 | #import "FallingObject.h" | 11 | #import "FallingObject.h" |
| 12 | #import "GameOverScene.h" | 12 | #import "GameOverScene.h" |
| 13 | #import "ScoreBarLayer.h" | ||
| 13 | 14 | ||
| 14 | #define kMinimumGestureLength 25 | 15 | #define kMinimumGestureLength 25 |
| 15 | 16 | ||
| @@ -41,6 +42,8 @@ | |||
| 41 | 42 | ||
| 42 | @implementation JumpGameMode | 43 | @implementation JumpGameMode |
| 43 | 44 | ||
| 45 | @synthesize score, lives, pointMultiplier; | ||
| 46 | |||
| 44 | typedef enum { | 47 | typedef enum { |
| 45 | kRockObject = 0, | 48 | kRockObject = 0, |
| 46 | kOneUpObject, | 49 | kOneUpObject, |
| @@ -75,6 +78,33 @@ static GameModeInfo* info; | |||
| 75 | backgroundImage.position = ccp(240, 160); | 78 | backgroundImage.position = ccp(240, 160); |
| 76 | [self addChild:backgroundImage z:-1]; | 79 | [self addChild:backgroundImage z:-1]; |
| 77 | 80 | ||
| 81 | score = 0; | ||
| 82 | lives = 3; | ||
| 83 | pointMultiplier = 1; | ||
| 84 | |||
| 85 | ScoreBarLayer* scoreBar = [ScoreBarLayer scoreBar]; | ||
| 86 | [self addChild:scoreBar]; | ||
| 87 | |||
| 88 | scoreLabel = [CCLabelBMFont labelWithString:@"0" fntFile:@"helvetica2.fnt"]; | ||
| 89 | scoreLabel.position = ccp(30,20); | ||
| 90 | [scoreBar addChild:scoreLabel]; | ||
| 91 | |||
| 92 | CCSprite* livesImage = [CCSprite spriteWithFile:@"oneup.png"]; | ||
| 93 | livesImage.position = ccp(110, 20); | ||
| 94 | [scoreBar addChild:livesImage]; | ||
| 95 | |||
| 96 | livesLabel = [CCLabelBMFont labelWithString:@"x3" fntFile:@"helvetica2.fnt"]; | ||
| 97 | livesLabel.position = ccp(142,20); | ||
| 98 | [scoreBar addChild:livesLabel]; | ||
| 99 | |||
| 100 | CCSprite* pointMultiplierImage = [CCSprite spriteWithFile:@"multiplier.png"]; | ||
| 101 | pointMultiplierImage.position = ccp(190, 20); | ||
| 102 | [scoreBar addChild:pointMultiplierImage]; | ||
| 103 | |||
| 104 | pointMultiplierLabel = [CCLabelBMFont labelWithString:@"x1" fntFile:@"helvetica2.fnt"]; | ||
| 105 | pointMultiplierLabel.position = ccp(222,20); | ||
| 106 | [scoreBar addChild:pointMultiplierLabel]; | ||
| 107 | |||
| 78 | water = [CCSprite spriteWithFile:@"water.png"]; | 108 | water = [CCSprite spriteWithFile:@"water.png"]; |
| 79 | water.position = ccp(240, -60); | 109 | water.position = ccp(240, -60); |
| 80 | [self addChild:water]; | 110 | [self addChild:water]; |
| @@ -491,16 +521,30 @@ static GameModeInfo* info; | |||
| 491 | [self setScore:self.score+pointMultiplier]; | 521 | [self setScore:self.score+pointMultiplier]; |
| 492 | } | 522 | } |
| 493 | 523 | ||
| 494 | - (void)setLives:(int)m_lives | 524 | - (void)setScore:(int)m_score |
| 495 | { | 525 | { |
| 496 | int oldLives = lives; | 526 | score = m_score; |
| 497 | |||
| 498 | [super setLives:m_lives]; | ||
| 499 | 527 | ||
| 500 | if (oldLives > lives) | 528 | [scoreLabel setString:[NSString stringWithFormat:@"%d", score]]; |
| 529 | } | ||
| 530 | |||
| 531 | - (void)setLives:(int)m_lives | ||
| 532 | { | ||
| 533 | if (m_lives < lives) | ||
| 501 | { | 534 | { |
| 502 | [self setPointMultiplier:1]; | 535 | [self setPointMultiplier:1]; |
| 503 | } | 536 | } |
| 537 | |||
| 538 | lives = m_lives; | ||
| 539 | |||
| 540 | [livesLabel setString:[NSString stringWithFormat:@"x%d", lives]]; | ||
| 541 | } | ||
| 542 | |||
| 543 | - (void)setPointMultiplier:(int)m_pointMultiplier | ||
| 544 | { | ||
| 545 | pointMultiplier = m_pointMultiplier; | ||
| 546 | |||
| 547 | [pointMultiplierLabel setString:[NSString stringWithFormat:@"x%d", pointMultiplier]]; | ||
| 504 | } | 548 | } |
| 505 | 549 | ||
| 506 | - (void)didCatchItem:(FallingObject *)item | 550 | - (void)didCatchItem:(FallingObject *)item |
| diff --git a/Classes/ScoreBarLayer.h b/Classes/ScoreBarLayer.h new file mode 100644 index 0000000..4102f73 --- /dev/null +++ b/Classes/ScoreBarLayer.h | |||
| @@ -0,0 +1,19 @@ | |||
| 1 | // | ||
| 2 | // ScoreBarLayer.h | ||
| 3 | // Cartographic | ||
| 4 | // | ||
| 5 | // Created by Starla Insigna on 1/4/13. | ||
| 6 | // Copyright 2013 __MyCompanyName__. All rights reserved. | ||
| 7 | // | ||
| 8 | |||
| 9 | #import <Foundation/Foundation.h> | ||
| 10 | #import "cocos2d.h" | ||
| 11 | |||
| 12 | @interface ScoreBarLayer : CCLayerGradient { | ||
| 13 | |||
| 14 | } | ||
| 15 | |||
| 16 | + (ScoreBarLayer*)scoreBar; | ||
| 17 | - (id)init; | ||
| 18 | |||
| 19 | @end | ||
| diff --git a/Classes/ScoreBarLayer.m b/Classes/ScoreBarLayer.m new file mode 100644 index 0000000..b838ac9 --- /dev/null +++ b/Classes/ScoreBarLayer.m | |||
| @@ -0,0 +1,41 @@ | |||
| 1 | // | ||
| 2 | // ScoreBarLayer.m | ||
| 3 | // Cartographic | ||
| 4 | // | ||
| 5 | // Created by Starla Insigna on 1/4/13. | ||
| 6 | // Copyright 2013 __MyCompanyName__. All rights reserved. | ||
| 7 | // | ||
| 8 | |||
| 9 | #import "ScoreBarLayer.h" | ||
| 10 | |||
| 11 | |||
| 12 | @implementation ScoreBarLayer | ||
| 13 | |||
| 14 | + (ScoreBarLayer*)scoreBar | ||
| 15 | { | ||
| 16 | return [[[ScoreBarLayer alloc] init] autorelease]; | ||
| 17 | } | ||
| 18 | |||
| 19 | - (id)init | ||
| 20 | { | ||
| 21 | self = [super initWithColor:ccc4(101, 214, 253, 255) fadingTo:ccc4(0, 104, 248, 255)]; | ||
| 22 | |||
| 23 | if (nil != self) | ||
| 24 | { | ||
| 25 | [self changeWidth:480 height:40]; | ||
| 26 | self.position = ccp(0, 280); | ||
| 27 | } | ||
| 28 | |||
| 29 | return self; | ||
| 30 | } | ||
| 31 | |||
| 32 | - (void)draw | ||
| 33 | { | ||
| 34 | [super draw]; | ||
| 35 | |||
| 36 | glEnable(GL_LINE_SMOOTH); | ||
| 37 | glColor4ub(0, 0, 0, 255); | ||
| 38 | ccDrawLine(ccp(0,0), ccp(480,0)); | ||
| 39 | } | ||
| 40 | |||
| 41 | @end | ||
| diff --git a/Classes/TutorialMode.h b/Classes/TutorialMode.h index 697c688..160e6bc 100644 --- a/Classes/TutorialMode.h +++ b/Classes/TutorialMode.h | |||
| @@ -14,9 +14,16 @@ | |||
| 14 | TutorialBubble* currentTutorial; | 14 | TutorialBubble* currentTutorial; |
| 15 | BOOL showedDeathBubble; | 15 | BOOL showedDeathBubble; |
| 16 | int randomItemsDropped; | 16 | int randomItemsDropped; |
| 17 | |||
| 18 | int score; | ||
| 19 | int lives; | ||
| 20 | CCLabelBMFont* scoreLabel; | ||
| 21 | CCLabelBMFont* livesLabel; | ||
| 17 | } | 22 | } |
| 18 | 23 | ||
| 19 | @property (nonatomic,retain) TutorialBubble* currentTutorial; | 24 | @property (nonatomic,retain) TutorialBubble* currentTutorial; |
| 25 | @property (nonatomic) int score; | ||
| 26 | @property (nonatomic) int lives; | ||
| 20 | - (void)endTutorial; | 27 | - (void)endTutorial; |
| 21 | - (FallingObject*)dropSpecificItem:(int)objectType; | 28 | - (FallingObject*)dropSpecificItem:(int)objectType; |
| 22 | - (FallingObject*)dropRandomItem; | 29 | - (FallingObject*)dropRandomItem; |
| diff --git a/Classes/TutorialMode.m b/Classes/TutorialMode.m index 3f37505..17d9412 100644 --- a/Classes/TutorialMode.m +++ b/Classes/TutorialMode.m | |||
| @@ -12,6 +12,7 @@ | |||
| 12 | #import "SimpleAudioEngine.h" | 12 | #import "SimpleAudioEngine.h" |
| 13 | #import "ClassicGameMode.h" | 13 | #import "ClassicGameMode.h" |
| 14 | #import "JumpGameMode.h" | 14 | #import "JumpGameMode.h" |
| 15 | #import "ScoreBarLayer.h" | ||
| 15 | 16 | ||
| 16 | // Item tags: | 17 | // Item tags: |
| 17 | // 2000 - first dropped item | 18 | // 2000 - first dropped item |
| @@ -30,7 +31,7 @@ typedef enum { | |||
| 30 | 31 | ||
| 31 | @implementation TutorialMode | 32 | @implementation TutorialMode |
| 32 | 33 | ||
| 33 | @synthesize currentTutorial; | 34 | @synthesize currentTutorial, lives, score; |
| 34 | 35 | ||
| 35 | static GameModeInfo* info; | 36 | static GameModeInfo* info; |
| 36 | 37 | ||
| @@ -60,9 +61,27 @@ static GameModeInfo* info; | |||
| 60 | backgroundImage.position = ccp(240, 160); | 61 | backgroundImage.position = ccp(240, 160); |
| 61 | [self addChild:backgroundImage z:-1]; | 62 | [self addChild:backgroundImage z:-1]; |
| 62 | 63 | ||
| 64 | score = 0; | ||
| 65 | lives = 3; | ||
| 66 | |||
| 63 | showedDeathBubble = NO; | 67 | showedDeathBubble = NO; |
| 64 | randomItemsDropped = 0; | 68 | randomItemsDropped = 0; |
| 65 | 69 | ||
| 70 | ScoreBarLayer* scoreBar = [ScoreBarLayer scoreBar]; | ||
| 71 | [self addChild:scoreBar]; | ||
| 72 | |||
| 73 | scoreLabel = [CCLabelBMFont labelWithString:@"0" fntFile:@"helvetica2.fnt"]; | ||
| 74 | scoreLabel.position = ccp(30,20); | ||
| 75 | [scoreBar addChild:scoreLabel]; | ||
| 76 | |||
| 77 | CCSprite* livesImage = [CCSprite spriteWithFile:@"oneup.png"]; | ||
| 78 | livesImage.position = ccp(110, 20); | ||
| 79 | [scoreBar addChild:livesImage]; | ||
| 80 | |||
| 81 | livesLabel = [CCLabelBMFont labelWithString:@"x3" fntFile:@"helvetica2.fnt"]; | ||
| 82 | livesLabel.position = ccp(142,20); | ||
| 83 | [scoreBar addChild:livesLabel]; | ||
| 84 | |||
| 66 | [objectFactory createRecipeWithIdentifier:kCherryObject spriteFilename:@"cherry.png" weight:5]; | 85 | [objectFactory createRecipeWithIdentifier:kCherryObject spriteFilename:@"cherry.png" weight:5]; |
| 67 | [objectFactory createRecipeWithIdentifier:kEnergyDrinkObject spriteFilename:@"bottle.png" weight:6]; | 86 | [objectFactory createRecipeWithIdentifier:kEnergyDrinkObject spriteFilename:@"bottle.png" weight:6]; |
| 68 | [objectFactory createRecipeWithIdentifier:kOneUpObject spriteFilename:@"oneup.png" weight:10]; | 87 | [objectFactory createRecipeWithIdentifier:kOneUpObject spriteFilename:@"oneup.png" weight:10]; |
| @@ -397,4 +416,19 @@ static GameModeInfo* info; | |||
| 397 | randomItemsDropped++; | 416 | randomItemsDropped++; |
| 398 | } | 417 | } |
| 399 | 418 | ||
| 419 | |||
| 420 | - (void)setScore:(int)m_score | ||
| 421 | { | ||
| 422 | score = m_score; | ||
| 423 | |||
| 424 | [scoreLabel setString:[NSString stringWithFormat:@"%d", score]]; | ||
| 425 | } | ||
| 426 | |||
| 427 | - (void)setLives:(int)m_lives | ||
| 428 | { | ||
| 429 | lives = m_lives; | ||
| 430 | |||
| 431 | [livesLabel setString:[NSString stringWithFormat:@"x%d", lives]]; | ||
| 432 | } | ||
| 433 | |||
| 400 | @end | 434 | @end |
