From d279ad58f35364adf3b38dd0de82aa4848a69390 Mon Sep 17 00:00:00 2001 From: Starla Insigna Date: Mon, 5 Sep 2011 00:20:44 -0400 Subject: Tweaked difficulty of Jump mode The rate of dropped items now increases progressively like the speed of ledge scrolling. The scores at which two rocks and three rocks start appearing have also doubled. Refs #204 --- Classes/JumpGameMode.h | 2 +- Classes/JumpGameMode.m | 50 +++++++++----------------------------------------- 2 files changed, 10 insertions(+), 42 deletions(-) diff --git a/Classes/JumpGameMode.h b/Classes/JumpGameMode.h index f6a31f8..0d23317 100644 --- a/Classes/JumpGameMode.h +++ b/Classes/JumpGameMode.h @@ -25,7 +25,7 @@ float addSpeed; } -- (void)accelerateLedgeScrolling; +- (void)accelerateGame; - (void)randomlyAddObject:(ccTime)dt; - (void)incrementScore; diff --git a/Classes/JumpGameMode.m b/Classes/JumpGameMode.m index bac3fa5..f03eae0 100644 --- a/Classes/JumpGameMode.m +++ b/Classes/JumpGameMode.m @@ -73,7 +73,7 @@ { [super onEnterTransitionDidFinish]; - [self schedule:@selector(accelerateLedgeScrolling) interval:ledgeAccelerationRate]; + [self schedule:@selector(accelerateGame) interval:ledgeAccelerationRate]; [self schedule:@selector(randomlyAddObject:) interval:addSpeed]; [self schedule:@selector(incrementScore) interval:1.0f]; @@ -129,8 +129,6 @@ { cart.sprite.position = ccp(cart.sprite.position.x-ledgeScrollSpeed, cart.sprite.position.y); } - - int lastScore = score; [super tick:dt]; @@ -148,39 +146,6 @@ [self unscheduleAllSelectors]; [[CCDirector sharedDirector] replaceScene:[CCTransitionSlideInT transitionWithDuration:1.5f scene:[GameOverScene sceneWithScore:score gameMode:@"Jump"]]]; - } else if (score > lastScore) - { - if ((lastScore < 240) && (score >= 240)) - { - [self unschedule:@selector(randomlyAddObject:)]; - [self schedule:@selector(randomlyAddObject:) interval:0.6f]; - addSpeed = 0.6f; - } else if ((lastScore < 180) && (score >= 180)) - { - [self unschedule:@selector(randomlyAddObject:)]; - [self schedule:@selector(randomlyAddObject:) interval:0.7f]; - addSpeed = 0.7f; - } else if ((lastScore < 120) && (score >= 120)) - { - [self unschedule:@selector(randomlyAddObject:)]; - [self schedule:@selector(randomlyAddObject:) interval:0.8f]; - addSpeed = 0.8f; - } else if ((lastScore < 90) && (score >= 90)) - { - [self unschedule:@selector(randomlyAddObject:)]; - [self schedule:@selector(randomlyAddObject:) interval:0.9f]; - addSpeed = 0.9f; - } else if ((lastScore < 60) && (score >= 60)) - { - [self unschedule:@selector(randomlyAddObject:)]; - [self schedule:@selector(randomlyAddObject:) interval:1.0f]; - addSpeed = 1.0f; - } else if ((lastScore < 30) && (score >= 30)) - { - [self unschedule:@selector(randomlyAddObject:)]; - [self schedule:@selector(randomlyAddObject:) interval:2.0f]; - addSpeed = 2.0f; - } } if (wave) @@ -301,14 +266,17 @@ return NO; } -- (void)accelerateLedgeScrolling +- (void)accelerateGame { - [self unschedule:@selector(accelerateLedgeScrolling)]; + [self unschedule:@selector(accelerateGame)]; + [self unschedule:@selector(randomlyAddObject:)]; ledgeScrollSpeed += 2; ledgeAccelerationRate *= 2; + addSpeed *= 0.8f; - [self schedule:@selector(accelerateLedgeScrolling) interval:ledgeAccelerationRate]; + [self schedule:@selector(randomlyAddObject:) interval:addSpeed]; + [self schedule:@selector(accelerateGame) interval:ledgeAccelerationRate]; } - (void)randomlyAddObject:(ccTime)dt @@ -344,7 +312,7 @@ [objects addObject:object]; [object release]; - if (score >= 120) + if (score >= 240) { if (arc4random() % 100 > 80) { @@ -360,7 +328,7 @@ } } - if (score >= 240) + if (score >= 480) { if (arc4random() % 100 > 80) { -- cgit 1.4.1