Advertisement
Guest User

Untitled

a guest
Jul 22nd, 2017
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 82.40 KB | None | 0 0
  1.  
  2.  
  3. #import "GameScene.h"
  4. #import "HelloWorldScene.h"
  5. #import "CCTouchDispatcher.h"
  6. #import "SimpleAudioEngine.h"
  7. #import "CDAudioManager.h"
  8. #import "CocosDenshion.h"
  9. #import "CCProgressTimer.h"
  10.  
  11. #import "gameOver1.h"
  12. #import "gameOver2.h"
  13.  
  14. SimpleAudioEngine *sae;
  15. CCActionManager *actionManager;
  16. CDSoundSource* machineGun;
  17. CDSoundSource* pooSound;
  18.  
  19. CCProgressTimer *timer;
  20.  
  21. CCLabelTTF *menu;
  22.  
  23. CCSprite *bombIcon1;
  24. CCSprite *bombIcon2;
  25. CCSprite *bombIcon3;
  26.  
  27. CCSprite *pileSmall;
  28.  
  29. CCSprite *timerOutline;
  30. CCSprite *greenNinja;
  31. CCSprite *blueNinja;
  32. CCSprite *purpleNinja;
  33. CCSprite *bombNinja1;
  34. CCSprite *bombNinja2;
  35. CCSprite *bombNinja3;
  36. CCSprite *banana1;
  37. CCSprite *banana2;
  38. CCSprite *banana3;
  39. CCSprite *banana4;
  40. CCSprite *bullet;
  41. CCSprite *greenPooSplatter;
  42. CCSprite *purplePooSplatter;
  43. CCSprite *bluePooSplatter;
  44. CCSprite *red1PooSplatter;
  45. CCSprite *red2PooSplatter;
  46. CCSprite *red3PooSplatter;
  47. CCSprite *life1;
  48. CCSprite *life2;
  49. CCSprite *life3;
  50.  
  51. CCSprite *poo;
  52. CCSprite *bang;
  53. CCSprite *bang2;
  54. CCSprite *bang3;
  55. CCSprite *pooBomb;
  56. CCSprite *gunNA;
  57. CCSprite *bombNA;
  58.  
  59. CCSprite *bomb1;
  60. CCSprite *bomb2;
  61. CCSprite *bomb3;
  62.  
  63.  
  64. CCSprite *pooChoice;
  65. CCSprite *gunChoice;
  66. CCSprite *bombChoice;
  67.  
  68. CCSprite *monkey;
  69.  
  70. CCSprite *gun;
  71. CCSprite *monkeyBomb;
  72.  
  73. CCSprite *monkeyThrow1;
  74. CCSprite *monkeyThrow2;
  75. CCSprite *monkeyThrow3;
  76. CCSprite *monkeyThrow4;
  77. CCSprite *monkeyThrow5;
  78. CCSprite *monkeyThrow6;
  79. CCSprite *monkeyThrow7;
  80. CCSprite *monkeyThrow8;
  81. CCSprite *monkeyThrow9;
  82. CCSprite *monkeyThrow10;
  83. CCSprite *monkeyThrow11;
  84. CCSprite *monkeyThrow12;
  85. CCSprite *monkeyThrow13;
  86. CCSprite *monkeyThrow14;
  87. CCSprite *monkeyThrow15;
  88. CCSprite *monkeyThrow16;
  89. CCSprite *monkeyThrow17;
  90. CCSprite *monkeyThrow18;
  91. CCSprite *monkeyThrow19;
  92. CCSprite *monkeyThrow20;
  93. CCSprite *monkeyThrow21;
  94. CCSprite *monkeyThrow22;
  95. CCSprite *monkeyThrow23;
  96. CCSprite *monkeyThrow24;
  97. CCSprite *monkeyThrow25;
  98. CCSprite *monkeyThrow26;
  99. CCSprite *monkeyThrow27;
  100. CCSprite *monkeyThrow28;
  101. CCSprite *monkeyThrow29;
  102. CCSprite *monkeyThrow30;
  103. CCSprite *monkeyThrow31;
  104. CCSprite *monkeyThrow32;
  105. CCSprite *monkeyThrow33;
  106. CCSprite *monkeyThrow34;
  107. CCSprite *monkeyThrow35;
  108. CCSprite *monkeyThrow36;
  109. CCSprite *monkeyThrow37;
  110. CCSprite *monkeyThrow38;
  111. CCSprite *monkeyThrow39;
  112. CCSprite *monkeyThrow40;
  113.  
  114.  
  115. CCSprite *explo1;
  116. CCSprite *explo2;
  117. CCSprite *explo3;
  118. CCSprite *explo4;
  119. CCSprite *explo5;
  120. CCSprite *explo6;
  121.  
  122. CCSprite *lifeIcon;
  123.  
  124.  
  125.  
  126. CCSprite *sky;
  127. ccBezierConfig bezier1;
  128. ccBezierConfig bezier2;
  129. ccBezierConfig bezier3;
  130. ccBezierConfig bezier4;
  131. ccBezierConfig bezBomb;
  132. ccBezierConfig monkeyDie;
  133.  
  134.  
  135. ccBezierConfig bezBan1;
  136. ccBezierConfig bezBan2;
  137. ccBezierConfig bezBan3;
  138. ccBezierConfig bezBan4;
  139.  
  140. ccBezierConfig nin1;
  141. ccBezierConfig nin2;
  142. ccBezierConfig nin3;
  143.  
  144.  
  145.  
  146. CCLabelTTF *score;
  147. CCLabelTTF *reload;
  148. CCLabelTTF *requiredGun;
  149. CCLabelTTF *gunUnlocked;
  150. CCLabelTTF *requiredBomb;
  151. CCLabelTTF *bombUnlocked;
  152. CCLabelTTF *noBomb;
  153.  
  154. CCSprite *eveningSky;
  155. CCSprite *nightSky;
  156.  
  157. CCSprite *pooChunk1;
  158. CCSprite *pooChunk2;
  159. CCSprite *pooChunk3;
  160. CCSprite *pooChunk4;
  161. CCSprite *pooSplat1;
  162. CCSprite *pooSplat2;
  163. CCSprite *pooSplat3;
  164. CCSprite *pooSplat4;
  165. CCSprite *pooSplat5;
  166.  
  167. CCSprite *pauseButton;
  168.  
  169.  
  170.  
  171. int scoreVal;
  172. float purpleFlyingTime;
  173. float blueFlyingTime;
  174. float greenFlyingTime;
  175.  
  176. int purpleWaitTime;
  177. int blueWaitTime;
  178. int greenWaitTime;
  179. int lifeWaitTime;
  180.  
  181.  
  182.  
  183. @implementation GameScene
  184. +(id) scene{
  185. CCScene *scene = [CCScene node];
  186.  
  187. // 'layer' is an autorelease object.
  188. GameScene *layer = [GameScene node];
  189.  
  190. // add layer as a child to scene
  191. [scene addChild: layer];
  192.  
  193. // return the scene
  194. return scene;
  195. }
  196.  
  197. // on "init" you need to initialize your instance
  198. -(id) init
  199. {
  200. // always call "super" init
  201. // Apple recommends to re-assign "self" with the "super" return value
  202. if( (self=[super init] )) {
  203.  
  204. sae = [SimpleAudioEngine sharedEngine];
  205. [[CDAudioManager sharedManager] setResignBehavior:kAMRBStopPlay autoHandle:YES];
  206. actionManager = [CCActionManager sharedManager];
  207.  
  208. [sae preloadEffect:@"bullet.mp3"];
  209. [sae preloadEffect:@"pooSound.mp3"];
  210. [sae preloadEffect:@"fallingSound.mp3"];
  211. [sae preloadEffect:@"monkeyCall.mp3"];
  212.  
  213.  
  214. machineGun = [[sae soundSourceForFile:@"bullet.mp3"] retain];
  215. pooSound = [[sae soundSourceForFile:@"pooSound.mp3"] retain];
  216.  
  217. scoreVal = 0;
  218. purpleFlyingTime = 3.5;
  219. greenFlyingTime = 4;
  220. blueFlyingTime = 2.5;
  221.  
  222. greenWaitTime = arc4random()%3;
  223. purpleWaitTime = arc4random()%6;
  224. blueWaitTime = arc4random()%15;
  225. lifeWaitTime = 5;
  226.  
  227. [[CCTouchDispatcher sharedDispatcher]addTargetedDelegate:self priority:0 swallowsTouches:YES];
  228.  
  229.  
  230.  
  231. bombIcon1 = [CCSprite spriteWithFile:@"pooBombIcon.png"];
  232. bombIcon1.position = ccp(100,300);
  233. bombIcon1.opacity = 255;
  234. [self addChild:bombIcon1];
  235. bombIcon1.visible = FALSE;
  236.  
  237. bombIcon2 = [CCSprite spriteWithFile:@"pooBombIcon.png"];
  238. bombIcon2.position = ccp(150,300);
  239. bombIcon1.opacity = 255;
  240. [self addChild:bombIcon2];
  241. bombIcon2.visible = FALSE;
  242.  
  243. bombIcon3 = [CCSprite spriteWithFile:@"pooBombIcon.png"];
  244. bombIcon3.position = ccp(200,300);
  245. bombIcon1.opacity = 255;
  246. [self addChild:bombIcon3];
  247. bombIcon3.visible = FALSE;
  248.  
  249. bomb1 = [CCSprite spriteWithFile:@"bomb.png"];
  250. bomb1.position = bombNinja1.position;
  251. [self addChild:bomb1];
  252. bomb1.visible = FALSE;
  253.  
  254. bomb2 = [CCSprite spriteWithFile:@"bomb.png"];
  255. bomb2.position = bombNinja2.position;
  256. [self addChild:bomb2];
  257. bomb2.visible = FALSE;
  258.  
  259. bomb3 = [CCSprite spriteWithFile:@"bomb.png"];
  260. bomb3.position = bombNinja3.position;
  261. [self addChild:bomb3];
  262. bomb3.visible = FALSE;
  263.  
  264.  
  265. explo1 = [CCSprite spriteWithFile:@"explo1.png"];
  266. [self addChild:explo1];
  267. explo1.position = ccp(100,50);
  268. explo1.visible = FALSE;
  269.  
  270. explo2 = [CCSprite spriteWithFile:@"explo2.png"];
  271. [self addChild:explo2];
  272. explo2.position = ccp(300,180);
  273. explo2.visible = FALSE;
  274.  
  275. explo3 = [CCSprite spriteWithFile:@"explo3.png"];
  276. [self addChild:explo3];
  277. explo3.position = ccp(385,60);
  278. explo3.visible = FALSE;
  279.  
  280. explo4 = [CCSprite spriteWithFile:@"explo4.png"];
  281. [self addChild:explo4];
  282. explo4.position = ccp(100,300);
  283. explo4.visible = FALSE;
  284.  
  285. explo5 = [CCSprite spriteWithFile:@"explo5.png"];
  286. [self addChild:explo5];
  287. explo5.position = ccp(380,290);
  288. explo5.visible = FALSE;
  289.  
  290. explo6 = [CCSprite spriteWithFile:@"explo6.png"];
  291. [self addChild:explo6];
  292. explo6.position = ccp(160,200);
  293. explo6.visible = FALSE;
  294.  
  295.  
  296.  
  297. pooChunk1 = [CCSprite spriteWithFile:@"pooChunk.png"];
  298. pooChunk1.position = pooBomb.position;
  299. [self addChild:pooChunk1];
  300. pooChunk1.visible = FALSE;
  301.  
  302. pooChunk2 = [CCSprite spriteWithFile:@"pooChunk.png"];
  303. pooChunk2.position = pooBomb.position;
  304. [self addChild:pooChunk2];
  305. pooChunk2.visible = FALSE;
  306.  
  307. pooChunk3 = [CCSprite spriteWithFile:@"pooChunk.png"];
  308. pooChunk3.position = pooBomb.position;
  309. [self addChild:pooChunk3];
  310. pooChunk3.visible = FALSE;
  311.  
  312. pooChunk4 = [CCSprite spriteWithFile:@"pooChunk.png"];
  313. pooChunk4.position = pooBomb.position;
  314. [self addChild:pooChunk4];
  315. pooChunk4.visible = FALSE;
  316.  
  317. pooSplat1 = [CCSprite spriteWithFile:@"pooSplat1.png"];
  318. [self addChild:pooSplat1];
  319. pooSplat1.position = ccp(400,250);
  320. pooSplat1.visible = FALSE;
  321.  
  322.  
  323. pooSplat2 = [CCSprite spriteWithFile:@"pooSplat2.png"];
  324. [self addChild:pooSplat2];
  325. pooSplat2.position = ccp(400,80);
  326. pooSplat2.visible = FALSE;
  327.  
  328. pooSplat3 = [CCSprite spriteWithFile:@"pooSplat3.png"];
  329. [self addChild:pooSplat3];
  330. pooSplat3.position = ccp(80,250);
  331. pooSplat3.visible = FALSE;
  332.  
  333. pooSplat4 = [CCSprite spriteWithFile:@"pooSplat4.png"];
  334. [self addChild:pooSplat4];
  335. pooSplat4.position = ccp(80,80);
  336. pooSplat4.visible = FALSE;
  337.  
  338. pooSplat5 = [CCSprite spriteWithFile:@"pooSplat5.png"];
  339. [self addChild:pooSplat5];
  340. pooSplat5.position = ccp(220,150);
  341. pooSplat5.visible = FALSE;
  342.  
  343.  
  344. gunNA = [CCSprite spriteWithFile:@"NA.png"];
  345. gunNA.position = ccp(205,33);
  346. [self addChild:gunNA];
  347.  
  348. bombNA = [CCSprite spriteWithFile:@"NA.png"];
  349. bombNA.position = ccp(270,33);
  350. [self addChild:bombNA];
  351.  
  352. pooChoice = [CCSprite spriteWithFile:@"pooChoice.png"];
  353. pooChoice.position = ccp(140,28);
  354. pooChoice.opacity = 255;
  355. [self addChild:pooChoice];
  356.  
  357. gunChoice = [CCSprite spriteWithFile:@"gunChoice.png"];
  358. gunChoice.position = ccp(210,28);
  359. gunChoice.opacity = 100;
  360. [self addChild:gunChoice];
  361.  
  362. bombChoice = [CCSprite spriteWithFile:@"pooClearChoice.png"];
  363. bombChoice.position = ccp(275,28);
  364. bombChoice.opacity = 100;
  365. [self addChild:bombChoice];
  366.  
  367.  
  368.  
  369. bang = [CCSprite spriteWithFile:@"bang.png"];
  370. bang.position = ccp(62,82);
  371. [self addChild:bang z:2];
  372. bang.visible = FALSE;
  373.  
  374. bang2 = [CCSprite spriteWithFile:@"bang2.png"];
  375. bang2.position = ccp(62,82);
  376. [self addChild:bang2 z:2];
  377. bang2.visible = FALSE;
  378.  
  379. bang3 = [CCSprite spriteWithFile:@"bang3.png"];
  380. bang3.position = ccp(62,82);
  381. [self addChild:bang3 z:2];
  382. bang3.visible = FALSE;
  383.  
  384. pooBomb = [CCSprite spriteWithFile:@"pooBomb.png"];
  385. pooBomb.position = ccp(62,82);
  386. [self addChild:pooBomb z:2];
  387. pooBomb.visible = FALSE;
  388.  
  389.  
  390. pileSmall = [CCSprite spriteWithFile:@"pileSmall.png"];
  391. pileSmall.position = ccp(40,10);
  392. [self addChild:pileSmall];
  393.  
  394.  
  395. poo = [CCSprite spriteWithFile:@"poo.png"];
  396. poo.position = ccp(67,65);
  397. [self addChild:poo];
  398.  
  399. gun = [CCSprite spriteWithFile:@"handWithGun.png"];
  400. gun.position = ccp(49,53);
  401. [self addChild:gun z:1];
  402. gun.visible = FALSE;
  403.  
  404. monkeyBomb = [CCSprite spriteWithFile:@"monkeyBomb.png"];
  405. monkeyBomb.position = ccp(36,48);
  406. [self addChild:monkeyBomb z:1];
  407. monkeyBomb.visible = FALSE;
  408.  
  409.  
  410. monkeyThrow1 = [CCSprite spriteWithFile:@"monkeyThrow0001.png"];
  411. monkeyThrow1.position = ccp(55,50);
  412. [self addChild:monkeyThrow1 z:1];
  413.  
  414. monkeyThrow2 = [CCSprite spriteWithFile:@"monkeyThrow0002.png"];
  415. monkeyThrow2.position = ccp(55,50);
  416. monkeyThrow2.visible = FALSE;
  417. [self addChild:monkeyThrow2 z:1];
  418.  
  419. monkeyThrow3 = [CCSprite spriteWithFile:@"monkeyThrow0003.png"];
  420. monkeyThrow3.position = ccp(55,50);
  421. monkeyThrow3.visible = FALSE;
  422. [self addChild:monkeyThrow3 z:1];
  423.  
  424. monkeyThrow4 = [CCSprite spriteWithFile:@"monkeyThrow0004.png"];
  425. monkeyThrow4.position = ccp(55,50);
  426. monkeyThrow4.visible = FALSE;
  427. [self addChild:monkeyThrow4 z:1];
  428.  
  429. monkeyThrow5 = [CCSprite spriteWithFile:@"monkeyThrow0005.png"];
  430. monkeyThrow5.position = ccp(55,50);
  431. monkeyThrow5.visible = FALSE;
  432. [self addChild:monkeyThrow5 z:1];
  433.  
  434. monkeyThrow6 = [CCSprite spriteWithFile:@"monkeyThrow0006.png"];
  435. monkeyThrow6.position = ccp(55,50);
  436. monkeyThrow6.visible = FALSE;
  437. [self addChild:monkeyThrow6 z:1];
  438.  
  439. monkeyThrow7 = [CCSprite spriteWithFile:@"monkeyThrow0007.png"];
  440. monkeyThrow7.position = ccp(55,50);
  441. monkeyThrow7.visible = FALSE;
  442. [self addChild:monkeyThrow7 z:1];
  443.  
  444. monkeyThrow8 = [CCSprite spriteWithFile:@"monkeyThrow0008.png"];
  445. monkeyThrow8.position = ccp(55,50);
  446. monkeyThrow8.visible = FALSE;
  447. [self addChild:monkeyThrow8 z:1];
  448.  
  449. monkeyThrow9 = [CCSprite spriteWithFile:@"monkeyThrow0009.png"];
  450. monkeyThrow9.position = ccp(55,50);
  451. monkeyThrow9.visible = FALSE;
  452. [self addChild:monkeyThrow9 z:1];
  453.  
  454. monkeyThrow10 = [CCSprite spriteWithFile:@"monkeyThrow0010.png"];
  455. monkeyThrow10.position = ccp(55,50);
  456. monkeyThrow10.visible = FALSE;
  457. [self addChild:monkeyThrow10 z:1];
  458.  
  459. monkeyThrow11 = [CCSprite spriteWithFile:@"monkeyThrow0011.png"];
  460. monkeyThrow11.position = ccp(55,50);
  461. monkeyThrow11.visible = FALSE;
  462. [self addChild:monkeyThrow11 z:1];
  463.  
  464. monkeyThrow12 = [CCSprite spriteWithFile:@"monkeyThrow0012.png"];
  465. monkeyThrow12.position = ccp(55,50);
  466. monkeyThrow12.visible = FALSE;
  467. [self addChild:monkeyThrow12 z:1];
  468.  
  469. monkeyThrow13 = [CCSprite spriteWithFile:@"monkeyThrow0013.png"];
  470. monkeyThrow13.position = ccp(55,50);
  471. monkeyThrow13.visible = FALSE;
  472. [self addChild:monkeyThrow13 z:1];
  473.  
  474. monkeyThrow14 = [CCSprite spriteWithFile:@"monkeyThrow0014.png"];
  475. monkeyThrow14.position = ccp(55,50);
  476. monkeyThrow14.visible = FALSE;
  477. [self addChild:monkeyThrow14 z:1];
  478.  
  479. monkeyThrow15 = [CCSprite spriteWithFile:@"monkeyThrow0015.png"];
  480. monkeyThrow15.position = ccp(55,50);
  481. monkeyThrow15.visible = FALSE;
  482. [self addChild:monkeyThrow15 z:1];
  483.  
  484. monkeyThrow16 = [CCSprite spriteWithFile:@"monkeyThrow0016.png"];
  485. monkeyThrow16.position = ccp(55,50);
  486. monkeyThrow16.visible = FALSE;
  487. [self addChild:monkeyThrow16 z:1];
  488.  
  489. monkeyThrow17 = [CCSprite spriteWithFile:@"monkeyThrow0017.png"];
  490. monkeyThrow17.position = ccp(55,50);
  491. monkeyThrow17.visible = FALSE;
  492. [self addChild:monkeyThrow17 z:1];
  493.  
  494. monkeyThrow18 = [CCSprite spriteWithFile:@"monkeyThrow0018.png"];
  495. monkeyThrow18.position = ccp(55,50);
  496. monkeyThrow18.visible = FALSE;
  497. [self addChild:monkeyThrow18 z:1];
  498.  
  499. monkeyThrow19 = [CCSprite spriteWithFile:@"monkeyThrow0019.png"];
  500. monkeyThrow19.position = ccp(55,50);
  501. monkeyThrow19.visible = FALSE;
  502. [self addChild:monkeyThrow19 z:1];
  503.  
  504. monkeyThrow20 = [CCSprite spriteWithFile:@"monkeyThrow0020.png"];
  505. monkeyThrow20.position = ccp(55,50);
  506. monkeyThrow20.visible = FALSE;
  507. [self addChild:monkeyThrow20 z:1];
  508.  
  509. monkeyThrow21 = [CCSprite spriteWithFile:@"monkeyThrow0021.png"];
  510. monkeyThrow21.position = ccp(55,50);
  511. monkeyThrow21.visible = FALSE;
  512. [self addChild:monkeyThrow21 z:1];
  513.  
  514.  
  515. monkeyThrow22 = [CCSprite spriteWithFile:@"monkeyThrow0022.png"];
  516. monkeyThrow22.position = ccp(55,50);
  517. monkeyThrow22.visible = FALSE;
  518. [self addChild:monkeyThrow22 z:1];
  519.  
  520. monkeyThrow23 = [CCSprite spriteWithFile:@"monkeyThrow0023.png"];
  521. monkeyThrow23.position = ccp(55,50);
  522. monkeyThrow23.visible = FALSE;
  523. [self addChild:monkeyThrow23 z:1];
  524.  
  525. monkeyThrow24 = [CCSprite spriteWithFile:@"monkeyThrow0024.png"];
  526. monkeyThrow24.position = ccp(55,50);
  527. monkeyThrow24.visible = FALSE;
  528. [self addChild:monkeyThrow24 z:1];
  529.  
  530. monkeyThrow25 = [CCSprite spriteWithFile:@"monkeyThrow0025.png"];
  531. monkeyThrow25.position = ccp(55,50);
  532. monkeyThrow25.visible = FALSE;
  533. [self addChild:monkeyThrow25 z:1];
  534.  
  535. monkeyThrow26 = [CCSprite spriteWithFile:@"monkeyThrow0026.png"];
  536. monkeyThrow26.position = ccp(55,50);
  537. monkeyThrow26.visible = FALSE;
  538. [self addChild:monkeyThrow26 z:1];
  539.  
  540. monkeyThrow27 = [CCSprite spriteWithFile:@"monkeyThrow0027.png"];
  541. monkeyThrow27.position = ccp(55,50);
  542. monkeyThrow27.visible = FALSE;
  543. [self addChild:monkeyThrow27 z:1];
  544.  
  545. monkeyThrow28 = [CCSprite spriteWithFile:@"monkeyThrow0028.png"];
  546. monkeyThrow28.position = ccp(55,50);
  547. monkeyThrow28.visible = FALSE;
  548. [self addChild:monkeyThrow28 z:1];
  549.  
  550. monkeyThrow29 = [CCSprite spriteWithFile:@"monkeyThrow0029.png"];
  551. monkeyThrow29.position = ccp(55,50);
  552. monkeyThrow29.visible = FALSE;
  553. [self addChild:monkeyThrow29 z:1];
  554.  
  555. monkeyThrow30 = [CCSprite spriteWithFile:@"monkeyThrow0030.png"];
  556. monkeyThrow30.position = ccp(55,50);
  557. monkeyThrow30.visible = FALSE;
  558. [self addChild:monkeyThrow30 z:1];
  559.  
  560. monkeyThrow31 = [CCSprite spriteWithFile:@"monkeyThrow0031.png"];
  561. monkeyThrow31.position = ccp(55,50);
  562. monkeyThrow31.visible = FALSE;
  563. [self addChild:monkeyThrow31 z:1];
  564.  
  565. monkeyThrow32 = [CCSprite spriteWithFile:@"monkeyThrow0032.png"];
  566. monkeyThrow32.position = ccp(55,50);
  567. monkeyThrow32.visible = FALSE;
  568. [self addChild:monkeyThrow32 z:1];
  569.  
  570. monkeyThrow33 = [CCSprite spriteWithFile:@"monkeyThrow0033.png"];
  571. monkeyThrow33.position = ccp(55,50);
  572. monkeyThrow33.visible = FALSE;
  573. [self addChild:monkeyThrow33 z:1];
  574.  
  575. monkeyThrow34 = [CCSprite spriteWithFile:@"monkeyThrow0034.png"];
  576. monkeyThrow34.position = ccp(55,50);
  577. monkeyThrow34.visible = FALSE;
  578. [self addChild:monkeyThrow34 z:1];
  579.  
  580. monkeyThrow35 = [CCSprite spriteWithFile:@"monkeyThrow0035.png"];
  581. monkeyThrow35.position = ccp(55,50);
  582. monkeyThrow35.visible = FALSE;
  583. [self addChild:monkeyThrow35 z:1];
  584.  
  585. monkeyThrow36 = [CCSprite spriteWithFile:@"monkeyThrow0036.png"];
  586. monkeyThrow36.position = ccp(55,50);
  587. monkeyThrow36.visible = FALSE;
  588. [self addChild:monkeyThrow36 z:1];
  589.  
  590. monkeyThrow37 = [CCSprite spriteWithFile:@"monkeyThrow0037.png"];
  591. monkeyThrow37.position = ccp(55,50);
  592. monkeyThrow37.visible = FALSE;
  593. [self addChild:monkeyThrow37 z:1];
  594.  
  595. monkeyThrow38 = [CCSprite spriteWithFile:@"monkeyThrow0038.png"];
  596. monkeyThrow38.position = ccp(55,50);
  597. monkeyThrow38.visible = FALSE;
  598. [self addChild:monkeyThrow38 z:1];
  599.  
  600. monkeyThrow39 = [CCSprite spriteWithFile:@"monkeyThrow0039.png"];
  601. monkeyThrow39.position = ccp(55,50);
  602. monkeyThrow39.visible = FALSE;
  603. [self addChild:monkeyThrow39 z:1];
  604.  
  605. monkeyThrow40 = [CCSprite spriteWithFile:@"monkeyThrow0040.png"];
  606. monkeyThrow40.position = ccp(55,50);
  607. monkeyThrow40.visible = FALSE;
  608. [self addChild:monkeyThrow40 z:1];
  609.  
  610. monkey = [CCSprite spriteWithFile:@"monkeyBody.png"];
  611. monkey.position = ccp(32,49);
  612. [self addChild:monkey z:0];
  613.  
  614.  
  615. lifeIcon = [CCSprite spriteWithFile:@"lifeIcon.png"];
  616. lifeIcon.position = ccp(-50,260);
  617. [self addChild:lifeIcon];
  618.  
  619.  
  620.  
  621.  
  622.  
  623.  
  624. life1 = [CCSprite spriteWithFile:@"MonkeyLifeSmall.png"];
  625. life1.position = ccp(440,30);
  626. life1.opacity = 255;
  627. [self addChild:life1];
  628.  
  629. life2 = [CCSprite spriteWithFile:@"MonkeyLifeSmall.png"];
  630. life2.position = ccp(395,30);
  631. life2.opacity = 255;
  632. [self addChild:life2];
  633.  
  634. life3 = [CCSprite spriteWithFile:@"MonkeyLifeSmall.png"];
  635. life3.position = ccp(350,30);
  636. life3.opacity = 255;
  637. [self addChild:life3];
  638.  
  639.  
  640. score = [[CCLabelTTF labelWithString:[NSString stringWithFormat:@"%d",scoreVal] fontName:@"Marker Felt" fontSize:30]retain];
  641. score.position = ccp(40,300);
  642.  
  643. [self addChild:score];
  644.  
  645. reload = [CCLabelTTF labelWithString:@"Must Reload!" fontName:@"Marker Felt" fontSize:50];
  646. reload.position = ccp(240,160);
  647. reload.color = ccc3(255, 50, 50);
  648. [self addChild:reload];
  649. reload.visible = FALSE;
  650.  
  651. requiredGun = [CCLabelTTF labelWithString:@"1000 points needed!!" fontName:@"Marker Felt" fontSize:50];
  652. requiredGun.position = ccp(240,160);
  653. requiredGun.color = ccc3(255, 50, 50);
  654. [self addChild:requiredGun];
  655. requiredGun.visible = FALSE;
  656.  
  657. gunUnlocked = [CCLabelTTF labelWithString:@"Poo-Zooka Unlocked!!" fontName:@"Marker Felt" fontSize:50];
  658. gunUnlocked.position = ccp(240,160);
  659. gunUnlocked.color = ccc3(0, 255, 50);
  660. [self addChild:gunUnlocked];
  661. gunUnlocked.visible = FALSE;
  662.  
  663. requiredBomb = [CCLabelTTF labelWithString:@"4000 points needed!!" fontName:@"Marker Felt" fontSize:50];
  664. requiredBomb.position = ccp(240,160);
  665. requiredBomb.color = ccc3(255, 50, 50);
  666. [self addChild:requiredBomb];
  667. requiredBomb.visible = FALSE;
  668.  
  669. bombUnlocked = [CCLabelTTF labelWithString:@"Puclear Bomb Unlocked!!" fontName:@"Marker Felt" fontSize:50];
  670. bombUnlocked.position = ccp(240,160);
  671. bombUnlocked.color = ccc3(0, 255, 50);
  672. [self addChild:bombUnlocked];
  673. bombUnlocked.visible = FALSE;
  674.  
  675. noBomb = [CCLabelTTF labelWithString:@"No Bombs Left!!" fontName:@"Marker Felt" fontSize:50];
  676. noBomb.position = ccp(240,160);
  677. noBomb.color = ccc3(255, 50, 50);
  678. [self addChild:noBomb];
  679. noBomb.visible = FALSE;
  680.  
  681.  
  682.  
  683.  
  684. bombNinja1 = [CCSprite spriteWithFile:@"BombNinja.png"];
  685. bombNinja1.position = ccp(-50,200);
  686. [self addChild:bombNinja1];
  687.  
  688. bombNinja2 = [CCSprite spriteWithFile:@"BombNinja.png"];
  689. bombNinja2.position = ccp(-50,250);
  690. [self addChild:bombNinja2];
  691.  
  692. bombNinja3 = [CCSprite spriteWithFile:@"bombNinja.png"];
  693. bombNinja3.position = ccp(-50,300);
  694. [self addChild:bombNinja3];
  695.  
  696.  
  697.  
  698. blueNinja = [CCSprite spriteWithFile:@"BlueNinja.png"];
  699. blueNinja.position = ccp(-50,310);
  700. [self addChild:blueNinja];
  701.  
  702.  
  703. greenNinja = [CCSprite spriteWithFile:@"GreenNinja.png"];
  704. greenNinja.position = ccp(-50,250);
  705. [self addChild:greenNinja];
  706.  
  707. purpleNinja = [CCSprite spriteWithFile:@"PurpleNinja.png"];
  708. purpleNinja.position = ccp(-50,200);
  709. [self addChild: purpleNinja];
  710.  
  711. nightSky = [CCSprite spriteWithFile:@"nightMountain.png"];
  712. nightSky.position = ccp(245,160);
  713. [self addChild: nightSky z:-2];
  714.  
  715.  
  716. eveningSky = [CCSprite spriteWithFile:@"eveningMountain.png"];
  717. eveningSky.position = ccp(245,160);
  718. [self addChild: eveningSky z:-2];
  719.  
  720.  
  721. sky = [CCSprite spriteWithFile:@"morningMountain.png"];
  722. sky.position = ccp(245,160);
  723. [self addChild: sky z:-2];
  724.  
  725.  
  726.  
  727.  
  728.  
  729. timer = [CCProgressTimer progressWithFile:@"ammoInside.png"];
  730. timer.type = kCCProgressTimerTypeVerticalBarBT;
  731. timer.percentage = 100;
  732. [timer setPosition:ccp(470,46)];
  733. [self addChild:timer z:2];
  734.  
  735. menu = [CCLabelTTF labelWithString:@"Menu" fontName:@"Marker Felt" fontSize:18];
  736. menu.position = ccp(390,300);
  737. [self addChild:menu];
  738.  
  739.  
  740.  
  741.  
  742.  
  743.  
  744.  
  745.  
  746.  
  747.  
  748.  
  749.  
  750. [self schedule:@selector(moveGreen)interval:2];
  751. [self schedule:@selector(movePurple) interval:5];
  752. [self schedule:@selector(moveBlue) interval:10];
  753. [self schedule:@selector(moveLife) interval:3];
  754. [self schedule:@selector(moveBombNinja1) interval:13];
  755. [self schedule:@selector(moveBombNinja2) interval:40];
  756. [self schedule:@selector(moveBombNinja3) interval:70];
  757. [self schedule:@selector(checkCollision) interval:0];
  758. [self schedule:@selector(scoreChecker) interval:0];
  759. [self schedule:@selector(unlockGun) interval:0];
  760. [self schedule:@selector(unlockBomb) interval:0];
  761.  
  762. [self schedule:@selector(mornToEve) interval:60];
  763. [self schedule:@selector(eveToNight) interval:120];
  764. [self schedule:@selector(fadeEvening) interval:0];
  765. [self schedule:@selector(fadeNight) interval:0];
  766.  
  767. [self schedule:@selector(lifeChecker)interval:0];
  768.  
  769.  
  770. pauseButton = [CCSprite spriteWithFile:@"pause.png"];
  771. pauseButton.position = ccp(440,300);
  772. [self addChild:pauseButton];
  773.  
  774. }
  775. return self;
  776. }
  777.  
  778. -(void)loseBomb{
  779. if (bombIcon1.opacity == 255) {
  780. bombIcon1.opacity = 100;
  781. }
  782. else if (bombIcon2.opacity == 255){
  783. bombIcon2.opacity = 100;
  784. }
  785. else if (bombIcon3.opacity == 255){
  786. bombIcon3.opacity = 100;
  787. }
  788. }
  789.  
  790. -(void)goToGameOver2{
  791. [[CCDirector sharedDirector]replaceScene: [gameOver2 node]];
  792. }
  793.  
  794. -(void)lifeChecker{
  795. if(life3.opacity == 100){
  796. [[CCDirector sharedDirector]replaceScene: [gameOver1 node]];
  797. }
  798. }
  799.  
  800. -(void)gainLife{
  801. if (life2.opacity == 100) {
  802. life2.opacity = 255;
  803. }
  804. else if (life1.opacity == 100) {
  805. life1.opacity = 255;
  806. }
  807. }
  808.  
  809. -(void)loseLife{
  810. if (life1.opacity == 255) {
  811. life1.opacity = 100;
  812. id rotate1 = [CCRotateTo actionWithDuration:.1 angle:5];
  813. id rotate2 = [CCRotateTo actionWithDuration:.1 angle:-5];
  814. id rotate3 = [CCRotateTo actionWithDuration:.1 angle:0];
  815.  
  816. id sequence = [CCSequence actions:rotate1,rotate2,rotate3,nil];
  817. [life1 runAction:[CCRepeat actionWithAction:sequence times:3]];
  818. }
  819. else if (life2.opacity == 255){
  820. life2.opacity = 100;
  821. id rotate1 = [CCRotateTo actionWithDuration:.1 angle:5];
  822. id rotate2 = [CCRotateTo actionWithDuration:.1 angle:-5];
  823. id rotate3 = [CCRotateTo actionWithDuration:.1 angle:0];
  824.  
  825. id sequence = [CCSequence actions:rotate1,rotate2,rotate3,nil];
  826. [life2 runAction:[CCRepeat actionWithAction:sequence times:3]];
  827. }
  828. else if (life3.opacity == 255){
  829. [[SimpleAudioEngine sharedEngine]playEffect:@"monkeyCall.mp3"];
  830. life3.opacity = 100;
  831. }
  832. }
  833. -(void)fadeEvening{
  834. id fade = [CCFadeOut actionWithDuration:0];
  835. [eveningSky runAction:fade];
  836. [self unschedule:@selector(fadeEvening)];
  837. }
  838.  
  839. -(void)fadeNight{
  840. id fade = [CCFadeOut actionWithDuration:0];
  841. [nightSky runAction:fade];
  842. [self unschedule:@selector(fadeNight)];
  843. }
  844.  
  845. -(void)mornToEve{
  846. id fadeOut = [CCFadeOut actionWithDuration:10];
  847. id fadeIn = [CCFadeIn actionWithDuration:10];
  848. [sky runAction:fadeOut];
  849. [eveningSky runAction:fadeIn];
  850. [self unschedule:@selector(mornToEve)];
  851. }
  852. -(void)eveToNight{
  853. id fadeOut = [CCFadeOut actionWithDuration:10];
  854. id fadeIn = [CCFadeIn actionWithDuration:10];
  855. [eveningSky runAction:fadeOut];
  856. [nightSky runAction:fadeIn];
  857. [self unschedule:@selector(eveToNight)];
  858. }
  859. -(void) unlockBomb{
  860. if (scoreVal>=4000) {
  861. id show = [CCShow action];
  862. id wait = [CCDelayTime actionWithDuration:2];
  863. id hide = [CCHide action];
  864. [bombUnlocked runAction:[CCSequence actions:show,wait,hide,nil]];
  865. [self unschedule:@selector(unlockBomb)];
  866.  
  867. [bombIcon1 runAction:show];
  868. [bombIcon2 runAction:show];
  869. [bombIcon3 runAction:show];
  870.  
  871. }
  872.  
  873. }
  874.  
  875. -(void) unlockGun{
  876. if (scoreVal>=1000) {
  877. id show = [CCShow action];
  878. id wait = [CCDelayTime actionWithDuration:2];
  879. id hide = [CCHide action];
  880. [gunUnlocked runAction:[CCSequence actions:show,wait,hide,nil]];
  881. [self unschedule:@selector(unlockGun)];
  882.  
  883. }
  884. }
  885. -(void) scoreChecker{
  886. if (scoreVal>=1000) {
  887. gunNA.visible = FALSE;
  888. lifeWaitTime = 10;
  889. }
  890. if (scoreVal>=4000){
  891. bombNA.visible = FALSE;
  892. lifeWaitTime = 15;
  893. }
  894. }
  895.  
  896. -(void)hideGunNA{
  897. id hide = [CCHide action];
  898. [gunNA runAction:hide];
  899. }
  900.  
  901.  
  902.  
  903.  
  904.  
  905.  
  906. -(void) purpleScoreUpdate{
  907. scoreVal +=50;
  908. [score setString:[NSString stringWithFormat:@"%d",scoreVal]];
  909. if (scoreVal>3000) {
  910. purpleFlyingTime = 1.5;
  911. purpleWaitTime = arc4random()%2;
  912. }
  913. else if(scoreVal>2000){
  914. purpleFlyingTime = 2;
  915. purpleWaitTime = arc4random()%3;
  916. }
  917. else if (scoreVal>1000){
  918. purpleFlyingTime = 2.5;
  919. purpleWaitTime = arc4random()%4;
  920. }
  921. else if (scoreVal>500){
  922. purpleFlyingTime = 3;
  923. purpleWaitTime = arc4random()%5;
  924. }
  925.  
  926.  
  927. }
  928.  
  929. -(void) greenScoreUpdate{
  930. scoreVal +=25;
  931. [score setString:[NSString stringWithFormat:@"%d",scoreVal]];
  932. if (scoreVal>3000) {
  933. greenFlyingTime = 2;
  934. greenWaitTime = arc4random()%1;
  935. }
  936. else if(scoreVal>2000){
  937. greenFlyingTime = 3;
  938. greenWaitTime = arc4random()%2;
  939. }
  940. else if (scoreVal>1000){
  941. greenFlyingTime = 3.5;
  942. }
  943.  
  944.  
  945.  
  946.  
  947.  
  948. }
  949.  
  950. -(void) blueScoreUpdate{
  951. scoreVal +=100;
  952. [score setString:[NSString stringWithFormat:@"%d",scoreVal]];
  953. if(scoreVal>2000){
  954. blueFlyingTime = 1.5;
  955. blueWaitTime = arc4random()%5;
  956. }
  957. else if (scoreVal>1000){
  958. blueFlyingTime = 2;
  959. blueWaitTime = arc4random()%7;
  960.  
  961. }
  962.  
  963. }
  964.  
  965. -(void)moveLife{
  966.  
  967. int x1 = 50 +arc4random()%150;
  968. int y1 = 50 +arc4random()%100;
  969. int x2 = 150 +arc4random()%250;
  970. int y2 = 100 +arc4random()%300;
  971. int yEnd = 100+arc4random()%200;
  972.  
  973. bezier1.controlPoint_1 = ccp(x1,y1);
  974. bezier1.controlPoint_2 = ccp(x2,y2);
  975.  
  976. bezier1.endPosition=ccp(530,yEnd);
  977.  
  978. id move = [CCBezierTo actionWithDuration:5 bezier:bezier1];
  979.  
  980.  
  981. id wait = [CCDelayTime actionWithDuration:5];
  982.  
  983. CCCallFunc *restart = [CCCallFunc actionWithTarget:self selector:@selector(restartLife)];
  984.  
  985.  
  986. [lifeIcon runAction:[CCSequence actions:move,wait,restart,nil]];
  987. [self unschedule:@selector(moveLife)];
  988. }
  989.  
  990. -(void) restartLife{
  991. lifeIcon.position = ccp(-50,270);
  992.  
  993. CCCallFunc *again = [CCCallFunc actionWithTarget:self selector:@selector(moveLife)];
  994.  
  995.  
  996.  
  997. [lifeIcon runAction: again];
  998. }
  999.  
  1000.  
  1001. -(void) restartBombNinja1{
  1002. bombNinja1.position = ccp(-50,300);
  1003.  
  1004. CCCallFunc *again = [CCCallFunc actionWithTarget:self selector:@selector(moveBombNinja1)];
  1005.  
  1006.  
  1007.  
  1008. [bombNinja1 runAction: again];
  1009. }
  1010. -(void)moveBombNinja1{
  1011.  
  1012. int x1 = 50 +arc4random()%150;
  1013. int y1 = 50 +arc4random()%100;
  1014. int x2 = 150 +arc4random()%250;
  1015. int y2 = 100 +arc4random()%360;
  1016. int yEnd = 70+arc4random()%160;
  1017.  
  1018. bezier1.controlPoint_1 = ccp(x1,y1);
  1019. bezier1.controlPoint_2 = ccp(x2,y2);
  1020.  
  1021. bezier1.endPosition=ccp(530,yEnd);
  1022.  
  1023. id move = [CCBezierTo actionWithDuration:4 bezier:bezier1];
  1024.  
  1025.  
  1026. id wait = [CCDelayTime actionWithDuration:arc4random()%5];
  1027.  
  1028. CCCallFunc *restart = [CCCallFunc actionWithTarget:self selector:@selector(restartBombNinja1)];
  1029.  
  1030. [bombNinja1 runAction:[CCSequence actions:move,wait,restart,nil]];
  1031. [self unschedule:@selector(moveBombNinja1)];
  1032. }
  1033.  
  1034. -(void) restartBombNinja2{
  1035. bombNinja2.position = ccp(-50,280);
  1036.  
  1037. CCCallFunc *again = [CCCallFunc actionWithTarget:self selector:@selector(moveBombNinja2)];
  1038.  
  1039.  
  1040.  
  1041. [bombNinja2 runAction: again];
  1042. }
  1043. -(void)moveBombNinja2{
  1044.  
  1045. int x1 = 50 +arc4random()%150;
  1046. int y1 = 50 +arc4random()%100;
  1047. int x2 = 150 +arc4random()%250;
  1048. int y2 = 100 +arc4random()%360;
  1049. int yEnd = 70+arc4random()%160;
  1050.  
  1051. bezier3.controlPoint_1 = ccp(x1,y1);
  1052. bezier3.controlPoint_2 = ccp(x2,y2);
  1053.  
  1054. bezier3.endPosition=ccp(530,yEnd);
  1055.  
  1056. id move = [CCBezierTo actionWithDuration:4 bezier:bezier3];
  1057.  
  1058.  
  1059. id wait = [CCDelayTime actionWithDuration:arc4random()%5];
  1060.  
  1061. CCCallFunc *restart = [CCCallFunc actionWithTarget:self selector:@selector(restartBombNinja2)];
  1062.  
  1063. [bombNinja2 runAction:[CCSequence actions:move,wait,restart,nil]];
  1064. [self unschedule:@selector(moveBombNinja2)];
  1065. }
  1066.  
  1067. -(void) restartBombNinja3{
  1068. bombNinja3.position = ccp(-50,280);
  1069.  
  1070. CCCallFunc *again = [CCCallFunc actionWithTarget:self selector:@selector(moveBombNinja3)];
  1071.  
  1072.  
  1073.  
  1074. [bombNinja3 runAction: again];
  1075. }
  1076. -(void)moveBombNinja3{
  1077.  
  1078. int x1 = 50 +arc4random()%150;
  1079. int y1 = 50 +arc4random()%100;
  1080. int x2 = 150 +arc4random()%250;
  1081. int y2 = 100 +arc4random()%360;
  1082. int yEnd = 70+arc4random()%160;
  1083.  
  1084. bezier4.controlPoint_1 = ccp(x1,y1);
  1085. bezier4.controlPoint_2 = ccp(x2,y2);
  1086.  
  1087. bezier4.endPosition=ccp(530,yEnd);
  1088.  
  1089. id move = [CCBezierTo actionWithDuration:4 bezier:bezier4];
  1090.  
  1091.  
  1092. id wait = [CCDelayTime actionWithDuration:arc4random()%5];
  1093.  
  1094. CCCallFunc *restart = [CCCallFunc actionWithTarget:self selector:@selector(restartBombNinja3)];
  1095.  
  1096. [bombNinja3 runAction:[CCSequence actions:move,wait,restart,nil]];
  1097. [self unschedule:@selector(moveBombNinja3)];
  1098. }
  1099.  
  1100.  
  1101.  
  1102.  
  1103.  
  1104. -(void) restartBlue{
  1105. blueNinja.position = ccp(-50,300);
  1106.  
  1107. CCCallFunc *again = [CCCallFunc actionWithTarget:self selector:@selector(moveBlue)];
  1108.  
  1109.  
  1110.  
  1111. [blueNinja runAction: again];
  1112. }
  1113. -(void)moveBlue{
  1114.  
  1115. int x1 = 50 +arc4random()%150;
  1116. int y1 = 50 +arc4random()%100;
  1117. int x2 = 150 +arc4random()%250;
  1118. int y2 = 100 +arc4random()%300;
  1119. int yEnd = 100+arc4random()%200;
  1120.  
  1121. bezier1.controlPoint_1 = ccp(x1,y1);
  1122. bezier1.controlPoint_2 = ccp(x2,y2);
  1123.  
  1124. bezier1.endPosition=ccp(530,yEnd);
  1125.  
  1126. id move = [CCBezierTo actionWithDuration:blueFlyingTime bezier:bezier1];
  1127.  
  1128.  
  1129. id wait = [CCDelayTime actionWithDuration:blueWaitTime];
  1130.  
  1131. CCCallFunc *restart = [CCCallFunc actionWithTarget:self selector:@selector(restartBlue)];
  1132. CCCallFunc *lost = [CCCallFunc actionWithTarget:self selector:@selector(loseLife)];
  1133.  
  1134.  
  1135. [blueNinja runAction:[CCSequence actions:move,lost,wait,restart,nil]];
  1136. [self unschedule:@selector(moveBlue)];
  1137. }
  1138.  
  1139.  
  1140.  
  1141.  
  1142.  
  1143. -(void) restartGreen{
  1144. greenNinja.position = ccp(-50,250);
  1145.  
  1146. CCCallFunc *again = [CCCallFunc actionWithTarget:self selector:@selector(moveGreen)];
  1147.  
  1148.  
  1149.  
  1150. [greenNinja runAction: again];
  1151. }
  1152. -(void)moveGreen{
  1153.  
  1154. int x1 = 50 +arc4random()%150;
  1155. int y1 = 50 +arc4random()%100;
  1156. int x2 = 150 +arc4random()%250;
  1157. int y2 = 100 +arc4random()%300;
  1158. int yEnd = 100+arc4random()%200;
  1159.  
  1160. bezier1.controlPoint_1 = ccp(x1,y1);
  1161. bezier1.controlPoint_2 = ccp(x2,y2);
  1162.  
  1163. bezier1.endPosition=ccp(530,yEnd);
  1164.  
  1165. id move = [CCBezierTo actionWithDuration:greenFlyingTime bezier:bezier1];
  1166.  
  1167.  
  1168. id wait = [CCDelayTime actionWithDuration:greenWaitTime];
  1169.  
  1170. CCCallFunc *restart = [CCCallFunc actionWithTarget:self selector:@selector(restartGreen)];
  1171. CCCallFunc *lost = [CCCallFunc actionWithTarget:self selector:@selector(loseLife)];
  1172.  
  1173. [greenNinja runAction:[CCSequence actions:move,lost,wait,restart,nil]];
  1174. [self unschedule:@selector(moveGreen)];
  1175. }
  1176.  
  1177. -(void) restartPurple{
  1178.  
  1179. purpleNinja.position = ccp(-50,200);
  1180. CCCallFunc *again = [CCCallFunc actionWithTarget:self selector:@selector(movePurple)];
  1181.  
  1182.  
  1183.  
  1184. [purpleNinja runAction:again];
  1185.  
  1186.  
  1187. }
  1188. -(void)movePurple{
  1189.  
  1190. int x1 = 50 +arc4random()%150;
  1191. int y1 = 50 +arc4random()%100;
  1192. int x2 = 150 +arc4random()%250;
  1193. int y2 = 100 +arc4random()%300;
  1194. int yEnd = 100+arc4random()%200;
  1195.  
  1196. bezier1.controlPoint_1 = ccp(x1,y1);
  1197. bezier1.controlPoint_2 = ccp(x2,y2);
  1198.  
  1199. bezier1.endPosition=ccp(530,yEnd);
  1200.  
  1201. id move = [CCBezierTo actionWithDuration:purpleFlyingTime bezier:bezier1];
  1202.  
  1203. id wait = [CCDelayTime actionWithDuration:purpleWaitTime];
  1204.  
  1205. CCCallFunc *restart = [CCCallFunc actionWithTarget:self selector:@selector(restartPurple)];
  1206. CCCallFunc *lost = [CCCallFunc actionWithTarget:self selector:@selector(loseLife)];
  1207.  
  1208. [purpleNinja runAction:[CCSequence actions:move,lost,wait,restart,nil]];
  1209. [self unschedule:@selector(movePurple)];
  1210. }
  1211.  
  1212. -(void)bangBang{
  1213. id show = [CCShow action];
  1214. id hide = [CCHide action];
  1215. id wait = [CCDelayTime actionWithDuration:0.1];
  1216.  
  1217. id bangAction = [CCSequence actions:show,wait,hide,wait,nil];
  1218. id bang2Action = [CCSequence actions:wait,show,wait,hide,nil];
  1219. id bang3Action = [CCSequence actions:wait,wait,show,wait,hide,nil];
  1220.  
  1221. [bang runAction:[CCRepeatForever actionWithAction:bangAction]];
  1222. [bang2 runAction:[CCRepeatForever actionWithAction:bang2Action]];
  1223. [bang3 runAction:[CCRepeatForever actionWithAction:bang3Action]];
  1224. }
  1225.  
  1226. -(BOOL)ccTouchBegan: (UITouch *)touch withEvent:(UIEvent *)event{
  1227. CGPoint location = [touch locationInView: [touch view]];
  1228. CGPoint convertedLocation = [[CCDirector sharedDirector]convertToGL:location];
  1229.  
  1230. CGRect pooChoiceRect = CGRectMake(pooChoice.position.x-40, pooChoice.position.y-40, 80, 80);
  1231. CGRect gunChoiceRect = CGRectMake(gunChoice.position.x-40, gunChoice.position.y-40, 80, 80);
  1232. CGRect bombChoiceRect = CGRectMake(bombChoice.position.x-40, bombChoice.position.y-40, 80, 80);
  1233. if (gunChoice.opacity ==255) {
  1234.  
  1235.  
  1236.  
  1237.  
  1238.  
  1239.  
  1240.  
  1241. if(CGRectContainsPoint(pooChoiceRect, convertedLocation)){}
  1242. else if (CGRectContainsPoint(gunChoiceRect, convertedLocation)){}
  1243. else if (CGRectContainsPoint(bombChoiceRect, convertedLocation)){}
  1244. else {
  1245.  
  1246. CCCallFunc *ammoBar = [CCCallFunc actionWithTarget:self selector:@selector(ammoLeft)];
  1247. [gun runAction:ammoBar];
  1248.  
  1249. CCCallFunc *showBang = [CCCallFunc actionWithTarget:self selector:@selector(bangBang)];
  1250. [bang runAction:showBang];
  1251.  
  1252. machineGun.looping = YES;
  1253. machineGun.gain = 0.5f;
  1254. [machineGun play];}
  1255. }
  1256.  
  1257.  
  1258.  
  1259.  
  1260. return YES;
  1261. }
  1262. -(void)ccTouchMoved: (UITouch *)touch withEvent:(UIEvent *)event{
  1263.  
  1264. CCCallFunc *gameOver = [CCCallFunc actionWithTarget:self selector:@selector(gameOverExplosion)];
  1265. CGPoint location = [touch locationInView: [touch view]];
  1266. CGPoint convertedLocation = [[CCDirector sharedDirector]convertToGL:location];
  1267.  
  1268. CGRect greenNinjaRect = CGRectMake(greenNinja.position.x-30, greenNinja.position.y-30, 60, 40);
  1269. CGRect purpleNinjaRect = CGRectMake(purpleNinja.position.x-30, purpleNinja.position.y-30, 60, 40);
  1270. CGRect blueNinjaRect = CGRectMake(blueNinja.position.x-30, blueNinja.position.y-30, 60, 40);
  1271.  
  1272. CGRect bombNinja1Rect = CGRectMake(bombNinja1.position.x-20, bombNinja1.position.y-20, 50, 50);
  1273. CGRect bombNinja2Rect = CGRectMake(bombNinja2.position.x-20, bombNinja2.position.y-20, 50, 50);
  1274. CGRect bombNinja3Rect = CGRectMake(bombNinja3.position.x-20, bombNinja3.position.y-20, 50, 50);
  1275.  
  1276. CGRect lifeRect = CGRectMake(lifeIcon.position.x-20, lifeIcon.position.y-20, 30, 30);
  1277.  
  1278.  
  1279. if (gunChoice.opacity == 255) {
  1280.  
  1281.  
  1282.  
  1283. CCCallFunc *showReload = [CCCallFunc actionWithTarget:self selector:@selector(showReload)];
  1284. [reload runAction:showReload];
  1285.  
  1286.  
  1287. float angleRadians = atanf((convertedLocation.y)/(convertedLocation.x));
  1288. float angleDegrees = CC_RADIANS_TO_DEGREES(angleRadians);
  1289. gun.rotation = -1*(angleDegrees-30);
  1290.  
  1291.  
  1292.  
  1293.  
  1294. bullet = [CCSprite spriteWithFile:@"poo.png"];
  1295. bullet.position = convertedLocation;
  1296. [self addChild:bullet];
  1297. bullet.visible = FALSE;
  1298.  
  1299.  
  1300.  
  1301.  
  1302. id show = [CCShow action];
  1303. id hide = [CCHide action];
  1304.  
  1305. id scaleBullet = [CCScaleTo actionWithDuration:0.4 scale:0];
  1306.  
  1307. [bullet runAction:[CCSequence actions:show,scaleBullet,hide,nil]];
  1308.  
  1309.  
  1310. if(CGRectContainsPoint(greenNinjaRect, convertedLocation)){
  1311. if(greenPooSplatter.visible ==FALSE){
  1312. greenPooSplatter = [CCSprite spriteWithFile:@"pooSplat.png"];
  1313. greenPooSplatter.position = ccp(greenNinja.position.x+10,greenNinja.position.y-10);
  1314. [self addChild:greenPooSplatter];
  1315. greenPooSplatter.visible = FALSE;
  1316.  
  1317. id showSplat = [CCShow action];
  1318. id fadeSplat = [CCFadeOut actionWithDuration:0.8];
  1319. id hideSplat = [CCHide action];
  1320.  
  1321.  
  1322. [greenPooSplatter runAction:[CCSequence actions: showSplat,fadeSplat,hideSplat,nil]];
  1323. pooSound.gain = 2.0f;
  1324. [pooSound play];}
  1325.  
  1326.  
  1327.  
  1328.  
  1329.  
  1330.  
  1331. CCCallFunc *restart = [CCCallFunc actionWithTarget:self selector:@selector(restartGreen)];
  1332. [greenNinja stopAllActions];
  1333. id die = [CCBezierTo actionWithDuration:.7 bezier:bezier2];
  1334. id rotate = [CCRotateTo actionWithDuration:.7 angle:1080];
  1335.  
  1336. bezier2.controlPoint_1 = ccp(greenNinja.position.x,greenNinja.position.y);
  1337. bezier2.controlPoint_2 = ccp(greenNinja.position.x+15,greenNinja.position.y+15);
  1338.  
  1339. bezier2.endPosition=ccp(greenNinja.position.x+30,-80);
  1340. id wait = [CCDelayTime actionWithDuration:arc4random()%3];
  1341.  
  1342. CCCallFunc *update = [CCCallFunc actionWithTarget:self selector:@selector(greenScoreUpdate)];
  1343.  
  1344.  
  1345. [greenNinja runAction:[CCSequence actions:die,update,wait,restart,nil]];
  1346. [greenNinja runAction:rotate];
  1347.  
  1348. banana1 = [CCSprite spriteWithFile:@"Banana.png"];
  1349. banana1.position = ccp(greenNinja.position.x,greenNinja.position.y);
  1350. [self addChild:banana1];
  1351.  
  1352. bezBan1.controlPoint_1 = ccp(greenNinja.position.x,greenNinja.position.y);
  1353. bezBan1.controlPoint_2 = ccp(greenNinja.position.x-20,greenNinja.position.y+180);
  1354. bezBan1.endPosition = ccp(greenNinja.position.x-40,-100);
  1355.  
  1356. id showBan1 = [CCBezierTo actionWithDuration:1 bezier:bezBan1];
  1357.  
  1358.  
  1359. [banana1 runAction: showBan1];
  1360.  
  1361.  
  1362.  
  1363.  
  1364.  
  1365.  
  1366.  
  1367.  
  1368.  
  1369. [self unschedule:@selector(moveGreen)];
  1370.  
  1371. }
  1372.  
  1373. else if (CGRectContainsPoint(purpleNinjaRect, convertedLocation)){
  1374. if(purplePooSplatter.visible ==FALSE){
  1375. purplePooSplatter = [CCSprite spriteWithFile:@"pooSplat.png"];
  1376. purplePooSplatter.position = ccp(purpleNinja.position.x+10,purpleNinja.position.y-10);
  1377. [self addChild:purplePooSplatter];
  1378. purplePooSplatter.visible = FALSE;
  1379.  
  1380. id showSplat = [CCShow action];
  1381. id fadeSplat = [CCFadeOut actionWithDuration:0.8];
  1382. id hideSplat =[CCHide action];
  1383.  
  1384. [purplePooSplatter runAction:[CCSequence actions: showSplat,fadeSplat,hideSplat,nil]];
  1385. pooSound.gain = 2.0f;
  1386. [pooSound play];}
  1387.  
  1388.  
  1389.  
  1390. CCCallFunc *restart = [CCCallFunc actionWithTarget:self selector:@selector(restartPurple)];
  1391. [purpleNinja stopAllActions];
  1392. id die = [CCBezierTo actionWithDuration:.7 bezier:bezier2];
  1393. id rotate = [CCRotateTo actionWithDuration:.7 angle:1080];
  1394.  
  1395. bezier2.controlPoint_1 = ccp(purpleNinja.position.x,purpleNinja.position.y);
  1396. bezier2.controlPoint_2 = ccp(purpleNinja.position.x+15,purpleNinja.position.y+15);
  1397.  
  1398. bezier2.endPosition=ccp(purpleNinja.position.x+30,-80);
  1399. id wait = [CCDelayTime actionWithDuration:arc4random()%6];
  1400.  
  1401. CCCallFunc *update = [CCCallFunc actionWithTarget:self selector:@selector(purpleScoreUpdate)];
  1402.  
  1403.  
  1404. [purpleNinja runAction:[CCSequence actions:die,update,wait,restart,nil]];
  1405. [purpleNinja runAction:rotate];
  1406.  
  1407. banana1 = [CCSprite spriteWithFile:@"Banana.png"];
  1408. banana1.position = ccp(purpleNinja.position.x,purpleNinja.position.y);
  1409. [self addChild:banana1];
  1410.  
  1411. banana2 = [CCSprite spriteWithFile:@"Banana.png"];
  1412. banana2.position = ccp(purpleNinja.position.x,purpleNinja.position.y);
  1413. [self addChild:banana2];
  1414.  
  1415. bezBan1.controlPoint_1 = ccp(purpleNinja.position.x,purpleNinja.position.y);
  1416. bezBan1.controlPoint_2 = ccp(purpleNinja.position.x-20,purpleNinja.position.y+180);
  1417. bezBan1.endPosition = ccp(purpleNinja.position.x-40,-100);
  1418.  
  1419. bezBan2.controlPoint_1 = ccp(purpleNinja.position.x,purpleNinja.position.y);
  1420. bezBan2.controlPoint_2 = ccp(purpleNinja.position.x+20,purpleNinja.position.y+180);
  1421. bezBan2.endPosition = ccp(purpleNinja.position.x+40,-100);
  1422.  
  1423. id showBan1 = [CCBezierTo actionWithDuration:1 bezier:bezBan1];
  1424. id showBan2 = [CCBezierTo actionWithDuration:1 bezier:bezBan2];
  1425.  
  1426. [banana1 runAction: showBan1];
  1427. [banana2 runAction: showBan2];
  1428.  
  1429.  
  1430.  
  1431. [self unschedule:@selector(movePurple)];
  1432. }
  1433.  
  1434. else if (CGRectContainsPoint(blueNinjaRect, convertedLocation)){
  1435. if(bluePooSplatter.visible == FALSE){
  1436. bluePooSplatter = [CCSprite spriteWithFile:@"pooSplat.png"];
  1437. bluePooSplatter.position = ccp(blueNinja.position.x+10,blueNinja.position.y-10);
  1438. [self addChild:bluePooSplatter];
  1439. bluePooSplatter.visible = FALSE;
  1440.  
  1441. id showSplat = [CCShow action];
  1442. id fadeSplat = [CCFadeOut actionWithDuration:0.8];
  1443. id hideSplat = [CCHide action];
  1444.  
  1445. [bluePooSplatter runAction:[CCSequence actions: showSplat,fadeSplat,hideSplat,nil]];
  1446. pooSound.gain = 2.0f;
  1447. [pooSound play];}
  1448.  
  1449.  
  1450.  
  1451. CCCallFunc *restart = [CCCallFunc actionWithTarget:self selector:@selector(restartBlue)];
  1452. [blueNinja stopAllActions];
  1453. id die = [CCBezierTo actionWithDuration:.7 bezier:bezier2];
  1454. id rotate = [CCRotateTo actionWithDuration:.7 angle:1080];
  1455.  
  1456. bezier2.controlPoint_1 = ccp(blueNinja.position.x,blueNinja.position.y);
  1457. bezier2.controlPoint_2 = ccp(blueNinja.position.x+15,blueNinja.position.y+15);
  1458.  
  1459. bezier2.endPosition=ccp(blueNinja.position.x+30,-80);
  1460. id wait = [CCDelayTime actionWithDuration:arc4random()%15];
  1461.  
  1462. CCCallFunc *update = [CCCallFunc actionWithTarget:self selector:@selector(blueScoreUpdate)];
  1463.  
  1464.  
  1465. [blueNinja runAction:[CCSequence actions:die,update,wait,restart,nil]];
  1466. [blueNinja runAction:rotate];
  1467.  
  1468. banana1 = [CCSprite spriteWithFile:@"Banana.png"];
  1469. banana1.position = ccp(blueNinja.position.x,blueNinja.position.y);
  1470. [self addChild:banana1];
  1471.  
  1472. banana2 = [CCSprite spriteWithFile:@"Banana.png"];
  1473. banana2.position = ccp(blueNinja.position.x,blueNinja.position.y);
  1474. [self addChild:banana2];
  1475.  
  1476. banana3 = [CCSprite spriteWithFile:@"Banana.png"];
  1477. banana3.position = ccp(blueNinja.position.x,blueNinja.position.y);
  1478. [self addChild:banana3];
  1479.  
  1480. banana4 = [CCSprite spriteWithFile:@"Banana.png"];
  1481. banana4.position = ccp(blueNinja.position.x,blueNinja.position.y);
  1482. [self addChild:banana4];
  1483.  
  1484. bezBan1.controlPoint_1 = ccp(blueNinja.position.x,blueNinja.position.y);
  1485. bezBan1.controlPoint_2 = ccp(blueNinja.position.x-20,blueNinja.position.y+180);
  1486. bezBan1.endPosition = ccp(blueNinja.position.x-40,-100);
  1487.  
  1488. bezBan2.controlPoint_1 = ccp(blueNinja.position.x,blueNinja.position.y);
  1489. bezBan2.controlPoint_2 = ccp(blueNinja.position.x+20,blueNinja.position.y+180);
  1490. bezBan2.endPosition = ccp(blueNinja.position.x+40,-100);
  1491.  
  1492. bezBan3.controlPoint_1 = ccp(blueNinja.position.x,blueNinja.position.y);
  1493. bezBan3.controlPoint_2 = ccp(blueNinja.position.x-20,blueNinja.position.y+100);
  1494. bezBan3.endPosition = ccp(blueNinja.position.x-40,-100);
  1495.  
  1496. bezBan4.controlPoint_1 = ccp(blueNinja.position.x,blueNinja.position.y);
  1497. bezBan4.controlPoint_2 = ccp(blueNinja.position.x+20,blueNinja.position.y+100);
  1498. bezBan4.endPosition = ccp(blueNinja.position.x+40,-100);
  1499.  
  1500.  
  1501. id showBan1 = [CCBezierTo actionWithDuration:1 bezier:bezBan1];
  1502. id showBan2 = [CCBezierTo actionWithDuration:1 bezier:bezBan2];
  1503. id showBan3 = [CCBezierTo actionWithDuration:1 bezier:bezBan3];
  1504. id showBan4 = [CCBezierTo actionWithDuration:1 bezier:bezBan4];
  1505.  
  1506. [banana1 runAction: showBan1];
  1507. [banana2 runAction: showBan2];
  1508. [banana3 runAction: showBan3];
  1509. [banana4 runAction: showBan4];
  1510.  
  1511.  
  1512. [self unschedule:@selector(moveBlue)];
  1513. }
  1514. else if (CGRectContainsPoint(bombNinja1Rect, convertedLocation)){
  1515. if(red1PooSplatter.visible ==FALSE){
  1516. red1PooSplatter = [CCSprite spriteWithFile:@"pooSplat.png"];
  1517. red1PooSplatter.position = ccp(bombNinja1.position.x+10,bombNinja1.position.y-10);
  1518. [self addChild:red1PooSplatter];
  1519. red1PooSplatter.visible = FALSE;
  1520.  
  1521. id showSplat = [CCShow action];
  1522. id fadeSplat = [CCFadeOut actionWithDuration:0.8];
  1523. id hideSplat =[CCHide action];
  1524.  
  1525. [red1PooSplatter runAction:[CCSequence actions: showSplat,fadeSplat,hideSplat,nil]];
  1526. pooSound.gain = 2.0f;
  1527. [pooSound play];
  1528.  
  1529. [[SimpleAudioEngine sharedEngine]playEffect:@"monkeyCall.mp3"];
  1530. [poo stopAllActions];
  1531. CCCallFunc *returnPoo = [CCCallFunc actionWithTarget:self selector:@selector(pooPosition)];
  1532.  
  1533. [poo runAction:returnPoo];
  1534. bomb1.position = bombNinja1.position;
  1535.  
  1536. id hide = [CCHide action];
  1537. [poo runAction:hide];
  1538. id showBomb1 = [CCShow action];
  1539.  
  1540.  
  1541.  
  1542. id moveBomb1 = [CCMoveTo actionWithDuration:1 position:ccp(bomb1.position.x,-50)];
  1543. [bomb1 runAction: [CCSequence actions:showBomb1,moveBomb1,nil]];
  1544.  
  1545. [bombNinja1 runAction:gameOver];
  1546. }
  1547. }
  1548. else if (CGRectContainsPoint(bombNinja2Rect, convertedLocation)){
  1549. if(red2PooSplatter.visible ==FALSE){
  1550. red2PooSplatter = [CCSprite spriteWithFile:@"pooSplat.png"];
  1551. red2PooSplatter.position = ccp(bombNinja2.position.x+10,bombNinja2.position.y-10);
  1552. [self addChild:red2PooSplatter];
  1553. red2PooSplatter.visible = FALSE;
  1554.  
  1555. id showSplat = [CCShow action];
  1556. id fadeSplat = [CCFadeOut actionWithDuration:0.8];
  1557. id hideSplat =[CCHide action];
  1558.  
  1559. [red2PooSplatter runAction:[CCSequence actions: showSplat,fadeSplat,hideSplat,nil]];
  1560. pooSound.gain = 2.0f;
  1561. [pooSound play];
  1562.  
  1563. [[SimpleAudioEngine sharedEngine]playEffect:@"monkeyCall.mp3"];
  1564. [poo stopAllActions];
  1565. CCCallFunc *returnPoo = [CCCallFunc actionWithTarget:self selector:@selector(pooPosition)];
  1566.  
  1567. [poo runAction:returnPoo];
  1568. bomb2.position = bombNinja2.position;
  1569.  
  1570. id hide = [CCHide action];
  1571. [poo runAction:hide];
  1572. id showBomb2 = [CCShow action];
  1573.  
  1574.  
  1575.  
  1576. id moveBomb2 = [CCMoveTo actionWithDuration:1 position:ccp(bomb2.position.x,-50)];
  1577. [bomb2 runAction: [CCSequence actions:showBomb2,moveBomb2,nil]];
  1578.  
  1579. [bombNinja2 runAction:gameOver];
  1580. }
  1581. }
  1582. else if (CGRectContainsPoint(bombNinja3Rect, convertedLocation)){
  1583. if(red3PooSplatter.visible ==FALSE){
  1584. red3PooSplatter = [CCSprite spriteWithFile:@"pooSplat.png"];
  1585. red3PooSplatter.position = ccp(bombNinja3.position.x+10,bombNinja3.position.y-10);
  1586. [self addChild:red3PooSplatter];
  1587. red3PooSplatter.visible = FALSE;
  1588.  
  1589. id showSplat = [CCShow action];
  1590. id fadeSplat = [CCFadeOut actionWithDuration:0.8];
  1591. id hideSplat =[CCHide action];
  1592.  
  1593. [red3PooSplatter runAction:[CCSequence actions: showSplat,fadeSplat,hideSplat,nil]];
  1594. pooSound.gain = 2.0f;
  1595. [pooSound play];
  1596. [[SimpleAudioEngine sharedEngine]playEffect:@"monkeyCall.mp3"];
  1597. [poo stopAllActions];
  1598. CCCallFunc *returnPoo = [CCCallFunc actionWithTarget:self selector:@selector(pooPosition)];
  1599.  
  1600. [poo runAction:returnPoo];
  1601. bomb3.position = bombNinja3.position;
  1602.  
  1603. id hide = [CCHide action];
  1604. [poo runAction:hide];
  1605. id showBomb3 = [CCShow action];
  1606.  
  1607.  
  1608.  
  1609. id moveBomb3 = [CCMoveTo actionWithDuration:1 position:ccp(bomb3.position.x,-50)];
  1610. [bomb3 runAction: [CCSequence actions:showBomb3,moveBomb3,nil]];
  1611.  
  1612. [bombNinja3 runAction:gameOver];
  1613. }
  1614. }
  1615.  
  1616. else if (CGRectContainsPoint(lifeRect, convertedLocation)){
  1617.  
  1618. CCCallFunc *playSound = [CCCallFunc actionWithTarget:self selector:@selector(playPoo)];
  1619. [bullet runAction:playSound];
  1620.  
  1621. [lifeIcon stopAllActions];
  1622.  
  1623. CCCallFunc *restart = [CCCallFunc actionWithTarget:self selector:@selector(restartLife)];
  1624. CCCallFunc *rePosition = [CCCallFunc actionWithTarget:self selector:@selector(lifePosition)];
  1625.  
  1626. id hide = [CCHide action];
  1627. id show = [CCShow action];
  1628. id wait = [CCDelayTime actionWithDuration:5];
  1629.  
  1630. [lifeIcon runAction:[CCSequence actions:hide,rePosition,show,wait,restart,nil]];
  1631.  
  1632. CCCallFunc *newLife = [CCCallFunc actionWithTarget:self selector:@selector(gainLife)];
  1633. [lifeIcon runAction:newLife];
  1634. }
  1635.  
  1636. }
  1637.  
  1638.  
  1639.  
  1640. }
  1641. -(void)ccTouchEnded:(UITouch *)touch withEvent:(UIEvent *)event{
  1642.  
  1643. CGPoint location = [touch locationInView: [touch view]];
  1644. CGPoint convertedLocation = [[CCDirector sharedDirector]convertToGL:location];
  1645.  
  1646. CGRect pooChoiceRect = CGRectMake(pooChoice.position.x-40, pooChoice.position.y-40, 80, 80);
  1647. CGRect gunChoiceRect = CGRectMake(gunChoice.position.x-40, gunChoice.position.y-40, 80, 80);
  1648. CGRect bombChoiceRect = CGRectMake(bombChoice.position.x-40, bombChoice.position.y-40, 80, 80);
  1649. CGRect pauseRect = CGRectMake(pauseButton.position.x-20, pauseButton.position.y-20, 40, 40);
  1650. CGRect menuRect = CGRectMake(menu.position.x-20, menu.position.y-20, 40, 40);
  1651.  
  1652.  
  1653.  
  1654. if(bombChoice.opacity == 255){
  1655. if (CGRectContainsPoint(menuRect, convertedLocation)) {
  1656.  
  1657.  
  1658. [[CCDirector sharedDirector] replaceScene:[HelloWorld node]];
  1659. }
  1660. if (CGRectContainsPoint(pauseRect, convertedLocation)) {
  1661. UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Paused" message:@"" delegate:self cancelButtonTitle:@"Resume" otherButtonTitles:nil];
  1662. [alert show];
  1663.  
  1664. [[CCDirector sharedDirector] pause];
  1665. }
  1666. if(bombIcon3.opacity == 255){
  1667. if(CGRectContainsPoint(gunChoiceRect, convertedLocation)){}
  1668. else if(CGRectContainsPoint(pooChoiceRect, convertedLocation)){}
  1669. else {bezBan1.controlPoint_1 = ccp(pooBomb.position.x,pooBomb.position.y);
  1670. bezBan1.controlPoint_2 = ccp(convertedLocation.x-pooBomb.position.x-50,convertedLocation.y-pooBomb.position.y+100);
  1671. bezBan1.endPosition = convertedLocation;
  1672.  
  1673. id bombMove = [CCBezierTo actionWithDuration:.5 bezier:bezBan1];
  1674. id show = [CCShow action];
  1675. id hide = [CCHide action];
  1676. CCCallFunc *pooBombRestart = [CCCallFunc actionWithTarget:self selector:@selector(restartPooBomb)];
  1677. CCCallFunc *killNinjas = [CCCallFunc actionWithTarget:self selector:@selector(ninjaDieFromBomb)];
  1678. [pooBomb runAction:[CCSequence actions:show,bombMove,hide,killNinjas,pooBombRestart,nil]];
  1679.  
  1680. CCCallFunc *goBomb = [CCCallFunc actionWithTarget:self selector:@selector(loseBomb)];
  1681. [pooBomb runAction:goBomb];
  1682. }
  1683. }
  1684. else{
  1685. id show = [CCShow action];
  1686. id wait = [CCDelayTime actionWithDuration:2];
  1687. id hide = [CCHide action];
  1688.  
  1689. [noBomb runAction:[CCSequence actions:show,wait,hide,nil]];
  1690. }
  1691. }
  1692.  
  1693.  
  1694. if (gunChoice.opacity ==255) {
  1695. if (CGRectContainsPoint(menuRect, convertedLocation)) {
  1696.  
  1697.  
  1698. [[CCDirector sharedDirector] replaceScene:[HelloWorld node]];
  1699. }
  1700.  
  1701. if (CGRectContainsPoint(pauseRect, convertedLocation)) {
  1702. UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Paused" message:@"" delegate:self cancelButtonTitle:@"Resume" otherButtonTitles:nil];
  1703. [alert show];
  1704.  
  1705. [[CCDirector sharedDirector] pause];
  1706. }
  1707.  
  1708. [machineGun stop];
  1709. bang.visible =FALSE;
  1710. bang2.visible = FALSE;
  1711. bang3.visible = FALSE;
  1712. [bang stopAllActions];
  1713. [bang2 stopAllActions];
  1714. [bang3 stopAllActions];
  1715.  
  1716. CCCallFunc *moreAmmo = [CCCallFunc actionWithTarget:self selector:@selector(restoreAmmo)];
  1717. [gun runAction:moreAmmo];
  1718.  
  1719.  
  1720. }
  1721.  
  1722. if(CGRectContainsPoint(gunChoiceRect, convertedLocation)){
  1723. if (gunNA.visible == FALSE) {
  1724. gunChoice.opacity = 255;
  1725. pooChoice.opacity = 100;
  1726. bombChoice.opacity = 100;
  1727. [machineGun stop];
  1728. poo.visible = FALSE;
  1729. gun.visible = TRUE;
  1730. monkeyThrow1.visible = FALSE;
  1731. monkeyBomb.visible = FALSE;
  1732. monkey.visible = TRUE;
  1733. }
  1734. else{
  1735. id show = [CCShow action];
  1736. id wait = [CCDelayTime actionWithDuration:1];
  1737. id hide = [CCHide action];
  1738. [requiredGun runAction:[CCSequence actions:show,wait,hide,nil]];
  1739. }}
  1740.  
  1741. if(CGRectContainsPoint(bombChoiceRect, convertedLocation)){
  1742. if (bombNA.visible == FALSE) {
  1743. gunChoice.opacity = 100;
  1744. pooChoice.opacity = 100;
  1745. bombChoice.opacity = 255;
  1746. [machineGun stop];
  1747. poo.visible = FALSE;
  1748. gun.visible = FALSE;
  1749. monkeyThrow1.visible = FALSE;
  1750. monkeyBomb.visible = TRUE;
  1751. monkey.visible = FALSE;
  1752. }
  1753. else{
  1754. id show = [CCShow action];
  1755. id wait = [CCDelayTime actionWithDuration:1];
  1756. id hide = [CCHide action];
  1757. [requiredBomb runAction:[CCSequence actions:show,wait,hide,nil]];
  1758. }
  1759.  
  1760. }
  1761.  
  1762.  
  1763.  
  1764.  
  1765. else if (pooChoice.opacity == 255) {
  1766.  
  1767. if (CGRectContainsPoint(menuRect, convertedLocation)) {
  1768.  
  1769.  
  1770. [[CCDirector sharedDirector] replaceScene:[HelloWorld node]];
  1771. }
  1772.  
  1773.  
  1774. if (CGRectContainsPoint(pauseRect, convertedLocation)) {
  1775. UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Paused" message:@"" delegate:self cancelButtonTitle:@"Resume" otherButtonTitles:nil];
  1776. [alert show];
  1777.  
  1778. [[CCDirector sharedDirector] pause];
  1779. }
  1780.  
  1781. else{
  1782. id pooMove = [CCMoveTo actionWithDuration:0.1 position:ccp(55,75)];
  1783. id pooThrow = [CCMoveTo actionWithDuration:0.3 position:convertedLocation];
  1784. id scaleOut = [CCScaleTo actionWithDuration:0.1 scale:0];
  1785. id scaleIn = [CCScaleTo actionWithDuration:0.1 scale:1];
  1786.  
  1787. CCCallFunc *pooReturn = [CCCallFunc actionWithTarget:self selector:@selector(pooPosition)];
  1788.  
  1789. [poo runAction:[CCSequence actions:pooMove,pooThrow,scaleOut,pooReturn,scaleIn,nil]];
  1790.  
  1791.  
  1792.  
  1793.  
  1794.  
  1795. id hide = [CCHide action];
  1796. id show = [CCShow action];
  1797. id pause = [CCDelayTime actionWithDuration:0.02f];
  1798.  
  1799.  
  1800.  
  1801.  
  1802. id wait3 = [CCDelayTime actionWithDuration:0.02f];
  1803. id wait4 = [CCDelayTime actionWithDuration:0.04f];
  1804. id wait5 = [CCDelayTime actionWithDuration:0.06f];
  1805. id wait6 = [CCDelayTime actionWithDuration:0.08f];
  1806. id wait7 = [CCDelayTime actionWithDuration:0.10f];
  1807. id wait8 = [CCDelayTime actionWithDuration:0.12f];
  1808. id wait9 = [CCDelayTime actionWithDuration:0.14f];
  1809. id wait10 = [CCDelayTime actionWithDuration:0.16f];
  1810. id wait11 = [CCDelayTime actionWithDuration:0.18f];
  1811. id wait12 = [CCDelayTime actionWithDuration:0.20f];
  1812. id wait13 = [CCDelayTime actionWithDuration:0.22f];
  1813. id wait14 = [CCDelayTime actionWithDuration:0.24f];
  1814. id wait15 = [CCDelayTime actionWithDuration:0.26f];
  1815. id wait16 = [CCDelayTime actionWithDuration:0.28f];
  1816. id wait17 = [CCDelayTime actionWithDuration:0.30f];
  1817. id wait18 = [CCDelayTime actionWithDuration:0.32f];
  1818. id wait19 = [CCDelayTime actionWithDuration:0.34f];
  1819. id wait20 = [CCDelayTime actionWithDuration:0.36f];
  1820. id wait21 = [CCDelayTime actionWithDuration:0.38f];
  1821. id wait22 = [CCDelayTime actionWithDuration:0.40f];
  1822. id wait23 = [CCDelayTime actionWithDuration:0.42f];
  1823. id wait24 = [CCDelayTime actionWithDuration:0.44f];
  1824. id wait25 = [CCDelayTime actionWithDuration:0.46f];
  1825. id wait26 = [CCDelayTime actionWithDuration:0.48f];
  1826. id wait27 = [CCDelayTime actionWithDuration:0.50f];
  1827. id wait28 = [CCDelayTime actionWithDuration:0.52f];
  1828. id wait29 = [CCDelayTime actionWithDuration:0.54f];
  1829. id wait30 = [CCDelayTime actionWithDuration:0.56f];
  1830. id wait31 = [CCDelayTime actionWithDuration:0.58f];
  1831. id wait32 = [CCDelayTime actionWithDuration:0.60f];
  1832. id wait33 = [CCDelayTime actionWithDuration:0.62f];
  1833. id wait34 = [CCDelayTime actionWithDuration:0.64f];
  1834. id wait35 = [CCDelayTime actionWithDuration:0.66f];
  1835. id wait36 = [CCDelayTime actionWithDuration:0.68f];
  1836. id wait37 = [CCDelayTime actionWithDuration:0.70f];
  1837. id wait38 = [CCDelayTime actionWithDuration:0.72f];
  1838. id wait39 = [CCDelayTime actionWithDuration:0.74f];
  1839. id wait40 = [CCDelayTime actionWithDuration:0.76f];
  1840. id wait41 = [CCDelayTime actionWithDuration:0.76f];
  1841.  
  1842. [monkeyThrow1 runAction:[CCSequence actions: hide,wait41,show,nil]];
  1843. [monkeyThrow2 runAction:[CCSequence actions:show,pause,hide,nil]];
  1844. [monkeyThrow3 runAction:[CCSequence actions:wait3,show,pause,hide,nil]];
  1845. [monkeyThrow4 runAction:[CCSequence actions:wait4,show,pause,hide,nil]];
  1846. [monkeyThrow5 runAction:[CCSequence actions:wait5,show,pause,hide,nil]];
  1847. [monkeyThrow6 runAction:[CCSequence actions:wait6,show,pause,hide,nil]];
  1848. [monkeyThrow7 runAction:[CCSequence actions:wait7,show,pause,hide,nil]];
  1849. [monkeyThrow8 runAction:[CCSequence actions:wait8,show,pause,hide,nil]];
  1850. [monkeyThrow9 runAction:[CCSequence actions:wait9,show,pause,hide,nil]];
  1851. [monkeyThrow10 runAction:[CCSequence actions:wait10,show,pause,hide,nil]];
  1852. [monkeyThrow11 runAction:[CCSequence actions:wait11,show,pause,hide,nil]];
  1853. [monkeyThrow12 runAction:[CCSequence actions:wait12,show,pause,hide,nil]];
  1854. [monkeyThrow13 runAction:[CCSequence actions:wait13,show,pause,hide,nil]];
  1855. [monkeyThrow14 runAction:[CCSequence actions:wait14,show,pause,hide,nil]];
  1856. [monkeyThrow15 runAction:[CCSequence actions:wait15,show,pause,hide,nil]];
  1857. [monkeyThrow16 runAction:[CCSequence actions:wait16,show,pause,hide,nil]];
  1858. [monkeyThrow17 runAction:[CCSequence actions:wait17,show,pause,hide,nil]];
  1859. [monkeyThrow18 runAction:[CCSequence actions:wait18,show,pause,hide,nil]];
  1860. [monkeyThrow19 runAction:[CCSequence actions:wait19,show,pause,hide,nil]];
  1861. [monkeyThrow20 runAction:[CCSequence actions:wait20,show,pause,hide,nil]];
  1862. [monkeyThrow21 runAction:[CCSequence actions:wait21,show,pause,hide,nil]];
  1863. [monkeyThrow22 runAction:[CCSequence actions:wait22,show,pause,hide,nil]];
  1864. [monkeyThrow23 runAction:[CCSequence actions:wait23,show,pause,hide,nil]];
  1865. [monkeyThrow24 runAction:[CCSequence actions:wait24,show,pause,hide,nil]];
  1866. [monkeyThrow25 runAction:[CCSequence actions:wait25,show,pause,hide,nil]];
  1867. [monkeyThrow26 runAction:[CCSequence actions:wait26,show,pause,hide,nil]];
  1868. [monkeyThrow27 runAction:[CCSequence actions:wait27,show,pause,hide,nil]];
  1869. [monkeyThrow28 runAction:[CCSequence actions:wait28,show,pause,hide,nil]];
  1870. [monkeyThrow29 runAction:[CCSequence actions:wait29,show,pause,hide,nil]];
  1871. [monkeyThrow30 runAction:[CCSequence actions:wait30,show,pause,hide,nil]];
  1872. [monkeyThrow31 runAction:[CCSequence actions:wait31,show,pause,hide,nil]];
  1873. [monkeyThrow32 runAction:[CCSequence actions:wait32,show,pause,hide,nil]];
  1874. [monkeyThrow33 runAction:[CCSequence actions:wait33,show,pause,hide,nil]];
  1875. [monkeyThrow34 runAction:[CCSequence actions:wait34,show,pause,hide,nil]];
  1876. [monkeyThrow35 runAction:[CCSequence actions:wait35,show,pause,hide,nil]];
  1877. [monkeyThrow36 runAction:[CCSequence actions:wait36,show,pause,hide,nil]];
  1878. [monkeyThrow37 runAction:[CCSequence actions:wait37,show,pause,hide,nil]];
  1879. [monkeyThrow38 runAction:[CCSequence actions:wait38,show,pause,hide,nil]];
  1880. [monkeyThrow39 runAction:[CCSequence actions:wait39,show,pause,hide,nil]];
  1881. [monkeyThrow40 runAction:[CCSequence actions:wait40,show,hide,nil]];
  1882.  
  1883.  
  1884. }
  1885.  
  1886.  
  1887. }
  1888.  
  1889.  
  1890.  
  1891.  
  1892.  
  1893. if(CGRectContainsPoint(pooChoiceRect, convertedLocation)){
  1894. pooChoice.opacity = 255;
  1895. gunChoice.opacity = 100;
  1896. bombChoice.opacity = 100;
  1897. poo.visible = TRUE;
  1898. gun.visible = FALSE;
  1899. monkeyThrow1.visible = TRUE;
  1900. monkeyBomb.visible = FALSE;
  1901. monkey.visible = TRUE;
  1902. }
  1903.  
  1904.  
  1905.  
  1906.  
  1907.  
  1908.  
  1909.  
  1910.  
  1911.  
  1912.  
  1913.  
  1914.  
  1915.  
  1916.  
  1917.  
  1918.  
  1919.  
  1920.  
  1921.  
  1922.  
  1923.  
  1924.  
  1925.  
  1926.  
  1927.  
  1928.  
  1929.  
  1930.  
  1931.  
  1932.  
  1933.  
  1934.  
  1935.  
  1936.  
  1937. }
  1938. -(void)ninjaDieFromBomb{
  1939. id rotateGreen = [CCRotateTo actionWithDuration:.7 angle:1080];
  1940. id rotateBlue = [CCRotateTo actionWithDuration:.7 angle:1080];
  1941. id rotatePurple = [CCRotateTo actionWithDuration:.7 angle:1080];
  1942. id waitGreen = [CCDelayTime actionWithDuration:3];
  1943. id waitBlue = [CCDelayTime actionWithDuration:5];
  1944. id waitPurple = [CCDelayTime actionWithDuration:7];
  1945.  
  1946. [greenNinja stopAllActions];
  1947. bezier1.controlPoint_1 = ccp(greenNinja.position.x,greenNinja.position.y);
  1948. bezier1.controlPoint_2 = ccp(greenNinja.position.x+15,greenNinja.position.y+15);
  1949. bezier1.endPosition=ccp(greenNinja.position.x+30,-80);
  1950.  
  1951. id dieGreen = [CCBezierTo actionWithDuration:1 bezier:bezier1];
  1952. CCCallFunc *restartGreenNinja = [CCCallFunc actionWithTarget:self selector:@selector(restartGreen)];
  1953. [greenNinja runAction:[CCSequence actions:dieGreen,waitGreen,restartGreenNinja,nil]];
  1954. [greenNinja runAction:rotateGreen];
  1955. scoreVal+=100;
  1956.  
  1957.  
  1958.  
  1959.  
  1960. [blueNinja stopAllActions];
  1961. bezier2.controlPoint_1 = ccp(blueNinja.position.x,blueNinja.position.y);
  1962. bezier2.controlPoint_2 = ccp(blueNinja.position.x+15,blueNinja.position.y+15);
  1963. bezier2.endPosition=ccp(greenNinja.position.x+30,-80);
  1964.  
  1965. id dieBlue = [CCBezierTo actionWithDuration:1 bezier:bezier2];
  1966. CCCallFunc *restartBlueNinja = [CCCallFunc actionWithTarget:self selector:@selector(restartBlue)];
  1967. [blueNinja runAction:[CCSequence actions:dieBlue,waitBlue,restartBlueNinja,nil]];
  1968. [blueNinja runAction:rotateBlue];
  1969. scoreVal +=500;
  1970.  
  1971.  
  1972.  
  1973.  
  1974. [purpleNinja stopAllActions];
  1975. bezier3.controlPoint_1 = ccp(purpleNinja.position.x,purpleNinja.position.y);
  1976. bezier3.controlPoint_2 = ccp(purpleNinja.position.x+15,purpleNinja.position.y+15);
  1977. bezier3.endPosition=ccp(purpleNinja.position.x+30,-80);
  1978.  
  1979. id diePurple = [CCBezierTo actionWithDuration:1 bezier:bezier3];
  1980. CCCallFunc *restartPurpleNinja = [CCCallFunc actionWithTarget:self selector:@selector(restartPurple)];
  1981. [purpleNinja runAction:[CCSequence actions:diePurple,waitPurple,restartPurpleNinja,nil]];
  1982. [purpleNinja runAction:rotatePurple];
  1983. scoreVal +=250;
  1984.  
  1985.  
  1986. pooChunk1.position = pooBomb.position;
  1987. pooChunk2.position = pooBomb.position;
  1988. pooChunk3.position = pooBomb.position;
  1989. pooChunk4.position = pooBomb.position;
  1990.  
  1991. id scalePoo1 = [CCScaleTo actionWithDuration:.5 scale:2.5];
  1992. id scalePoo2 = [CCScaleTo actionWithDuration:.5 scale:2.5];
  1993. id scalePoo3 = [CCScaleTo actionWithDuration:.5 scale:2.5];
  1994. id scalePoo4 = [CCScaleTo actionWithDuration:.5 scale:2.5];
  1995. id show = [CCShow action];
  1996. id hide = [CCHide action];
  1997. id move1 = [CCMoveTo actionWithDuration:.5 position:ccp(400,250)];
  1998. id move2 = [CCMoveTo actionWithDuration:.6 position:ccp(400,80)];
  1999. id move3 = [CCMoveTo actionWithDuration:.7 position:ccp(80,250)];
  2000. id move4 = [CCMoveTo actionWithDuration:.8 position:ccp(80,80)];
  2001. id rotate1 = [CCRotateTo actionWithDuration:.5 angle:720];
  2002. id rotate2 = [CCRotateTo actionWithDuration:.6 angle:720];
  2003. id rotate3 = [CCRotateTo actionWithDuration:.7 angle:720];
  2004. id rotate4 = [CCRotateTo actionWithDuration:.8 angle:720];
  2005. [score setString:[NSString stringWithFormat:@"%d",scoreVal]];
  2006. [pooChunk1 runAction:[CCSequence actions:show,move1,hide,nil]];
  2007. [pooChunk2 runAction:[CCSequence actions:show,move2,hide,nil]];
  2008. [pooChunk3 runAction:[CCSequence actions:show,move3,hide,nil]];
  2009. [pooChunk4 runAction:[CCSequence actions:show,move4,hide,nil]];
  2010. [pooChunk1 runAction:[CCSequence actions:rotate1,nil]];
  2011. [pooChunk2 runAction:[CCSequence actions:rotate2,nil]];
  2012. [pooChunk3 runAction:[CCSequence actions:rotate3,nil]];
  2013. [pooChunk4 runAction:[CCSequence actions:rotate4,nil]];
  2014. [pooChunk1 runAction:[CCSequence actions:scalePoo1,nil]];
  2015. [pooChunk2 runAction:[CCSequence actions:scalePoo2,nil]];
  2016. [pooChunk3 runAction:[CCSequence actions:scalePoo3,nil]];
  2017. [pooChunk4 runAction:[CCSequence actions:scalePoo4,nil]];
  2018.  
  2019.  
  2020.  
  2021. id splatWait1 = [CCDelayTime actionWithDuration:.5];
  2022. id splatWait2 = [CCDelayTime actionWithDuration:.6];
  2023. id splatWait3 = [CCDelayTime actionWithDuration:.7];
  2024. id splatWait4 = [CCDelayTime actionWithDuration:.8];
  2025. id splatWait5 = [CCDelayTime actionWithDuration:.9];
  2026.  
  2027. id fadeSplat1 = [CCFadeOut actionWithDuration:2];
  2028. id fadeSplat2 = [CCFadeOut actionWithDuration:2];
  2029. id fadeSplat3 = [CCFadeOut actionWithDuration:2];
  2030. id fadeSplat4 = [CCFadeOut actionWithDuration:2];
  2031. id fadeSplat5 = [CCFadeOut actionWithDuration:2];
  2032.  
  2033. id moveSplat1 = [CCMoveTo actionWithDuration:3.5 position:ccp(400,-50)];
  2034. id moveSplat2 = [CCMoveTo actionWithDuration:3.5 position:ccp(400,-50)];
  2035. id moveSplat3 = [CCMoveTo actionWithDuration:3.5 position:ccp(80,-50)];
  2036. id moveSplat4 = [CCMoveTo actionWithDuration:3.5 position:ccp(80,-50)];
  2037. id moveSplat5 = [CCMoveTo actionWithDuration:3.5 position:ccp(220,-50)];
  2038.  
  2039. CCCallFunc *reset = [CCCallFunc actionWithTarget:self selector:@selector(splatPosition)];
  2040. CCCallFunc *splatSound = [CCCallFunc actionWithTarget:self selector:@selector(splatNoise)];
  2041. CCCallFunc *bombNoise = [CCCallFunc actionWithTarget:self selector:@selector(bombSound)];
  2042.  
  2043. [pooBomb runAction:bombNoise];
  2044.  
  2045.  
  2046.  
  2047. [pooSplat1 runAction:[CCSequence actions:splatWait1,show,fadeSplat1,nil]];
  2048. [pooSplat2 runAction:[CCSequence actions:splatWait2,show,splatSound,fadeSplat2,nil]];
  2049. [pooSplat3 runAction:[CCSequence actions:splatWait3,show,fadeSplat3,nil]];
  2050. [pooSplat4 runAction:[CCSequence actions:splatWait4,show,splatSound,fadeSplat4,nil]];
  2051. [pooSplat5 runAction:[CCSequence actions:splatWait5,show,fadeSplat5,nil]];
  2052.  
  2053. [pooSplat1 runAction:[CCSequence actions:splatWait1,moveSplat1,reset,nil]];
  2054. [pooSplat2 runAction:[CCSequence actions:splatWait2,moveSplat2,reset,nil]];
  2055. [pooSplat3 runAction:[CCSequence actions:splatWait3,moveSplat3,reset,nil]];
  2056. [pooSplat4 runAction:[CCSequence actions:splatWait4,moveSplat4,reset,nil]];
  2057. [pooSplat5 runAction:[CCSequence actions:splatWait5,moveSplat5,reset,nil]];
  2058.  
  2059. }
  2060. -(void)bombSound{
  2061. [[SimpleAudioEngine sharedEngine]playEffect:@"bombSound.mp3"];
  2062. }
  2063. -(void)splatNoise{
  2064. [[SimpleAudioEngine sharedEngine]playEffect:@"pooSound.mp3"];
  2065. }
  2066.  
  2067. -(void)splatPosition{
  2068. pooSplat1.position = ccp(400,250);
  2069. pooSplat2.position = ccp(400,80);
  2070. pooSplat3.position = ccp(80,250);
  2071. pooSplat4.position = ccp(80,80);
  2072. pooSplat5.position = ccp(220,150);
  2073.  
  2074. }
  2075. -(void)restartPooBomb{
  2076. pooBomb.position = ccp(62,82);
  2077.  
  2078. }
  2079. -(void)pooPosition{
  2080. poo.position = ccp(67,65);
  2081. }
  2082. -(void)checkCollision{
  2083. CCCallFunc *gameOver = [CCCallFunc actionWithTarget:self selector:@selector(gameOverExplosion)];
  2084.  
  2085. CGRect greenNinjaRect = CGRectMake(greenNinja.position.x-20, greenNinja.position.y-20, 50, 50);
  2086. CGRect blueNinjaRect = CGRectMake(blueNinja.position.x-20, blueNinja.position.y-20, 50, 50);
  2087. CGRect purpleNinjaRect = CGRectMake(purpleNinja.position.x-20, purpleNinja.position.y-20, 50, 50);
  2088.  
  2089. CGRect bombNinja1Rect = CGRectMake(bombNinja1.position.x-20, bombNinja1.position.y-20, 50, 50);
  2090. CGRect bombNinja2Rect = CGRectMake(bombNinja2.position.x-20, bombNinja2.position.y-20, 50, 50);
  2091. CGRect bombNinja3Rect = CGRectMake(bombNinja3.position.x-20, bombNinja3.position.y-20, 50, 50);
  2092.  
  2093. CGRect lifeRect = CGRectMake(lifeIcon.position.x-20,lifeIcon.position.y-20,30,30);
  2094.  
  2095.  
  2096. CGRect pooRect = CGRectMake(poo.position.x-15, poo.position.y-15, 40, 40);
  2097.  
  2098. if (CGRectIntersectsRect(greenNinjaRect, pooRect)&&greenPooSplatter.visible == FALSE) {
  2099.  
  2100.  
  2101. [poo stopAllActions];
  2102.  
  2103. CCCallFunc *returnPoo = [CCCallFunc actionWithTarget:self selector:@selector(pooPosition)];
  2104.  
  2105. CCCallFunc *playSound = [CCCallFunc actionWithTarget:self selector:@selector(playPoo)];
  2106. id scaleOut = [CCScaleTo actionWithDuration:.1 scale:0];
  2107. id scaleIn = [CCScaleTo actionWithDuration:.1 scale:1];
  2108.  
  2109.  
  2110. [poo runAction:[CCSequence actions:scaleOut,playSound,returnPoo,scaleIn,nil]];
  2111.  
  2112.  
  2113.  
  2114. greenPooSplatter = [CCSprite spriteWithFile:@"pooSplat.png"];
  2115. greenPooSplatter.position = ccp(greenNinja.position.x+10,greenNinja.position.y-10);
  2116. [self addChild:greenPooSplatter];
  2117. greenPooSplatter.visible = FALSE;
  2118.  
  2119. id showSplat = [CCShow action];
  2120. id fadeSplat = [CCFadeOut actionWithDuration:0.8];
  2121. id hideSplat = [CCHide action];
  2122.  
  2123.  
  2124.  
  2125.  
  2126. [greenPooSplatter runAction:[CCSequence actions: showSplat,fadeSplat,hideSplat,nil]];
  2127.  
  2128.  
  2129.  
  2130.  
  2131.  
  2132.  
  2133.  
  2134. CCCallFunc *restart = [CCCallFunc actionWithTarget:self selector:@selector(restartGreen)];
  2135. [greenNinja stopAllActions];
  2136. id die = [CCBezierTo actionWithDuration:.7 bezier:bezier2];
  2137. id rotate = [CCRotateTo actionWithDuration:.7 angle:1080];
  2138.  
  2139. bezier2.controlPoint_1 = ccp(greenNinja.position.x,greenNinja.position.y);
  2140. bezier2.controlPoint_2 = ccp(greenNinja.position.x+15,greenNinja.position.y+15);
  2141.  
  2142. bezier2.endPosition=ccp(greenNinja.position.x+30,-80);
  2143. id wait = [CCDelayTime actionWithDuration:arc4random()%3];
  2144.  
  2145. CCCallFunc *update = [CCCallFunc actionWithTarget:self selector:@selector(greenScoreUpdate)];
  2146.  
  2147.  
  2148. [greenNinja runAction:[CCSequence actions:die,update,wait,restart,nil]];
  2149. [greenNinja runAction:rotate];
  2150.  
  2151. banana1 = [CCSprite spriteWithFile:@"Banana.png"];
  2152. banana1.position = ccp(greenNinja.position.x,greenNinja.position.y);
  2153. [self addChild:banana1];
  2154.  
  2155. bezBan1.controlPoint_1 = ccp(greenNinja.position.x,greenNinja.position.y);
  2156. bezBan1.controlPoint_2 = ccp(greenNinja.position.x-20,greenNinja.position.y+180);
  2157. bezBan1.endPosition = ccp(greenNinja.position.x-40,-100);
  2158.  
  2159. id showBan1 = [CCBezierTo actionWithDuration:1 bezier:bezBan1];
  2160.  
  2161.  
  2162. [banana1 runAction: showBan1];
  2163.  
  2164.  
  2165.  
  2166.  
  2167.  
  2168.  
  2169.  
  2170.  
  2171.  
  2172. [self unschedule:@selector(moveGreen)];
  2173.  
  2174. }
  2175.  
  2176. else if (CGRectIntersectsRect(purpleNinjaRect, pooRect)&&purplePooSplatter.visible == FALSE) {
  2177.  
  2178. [poo stopAllActions];
  2179.  
  2180.  
  2181. CCCallFunc *returnPoo = [CCCallFunc actionWithTarget:self selector:@selector(pooPosition)];
  2182.  
  2183. CCCallFunc *playSound = [CCCallFunc actionWithTarget:self selector:@selector(playPoo)];
  2184. id scaleOut = [CCScaleTo actionWithDuration:.1 scale:0];
  2185. id scaleIn = [CCScaleTo actionWithDuration:.1 scale:1];
  2186.  
  2187.  
  2188. [poo runAction:[CCSequence actions:scaleOut,playSound,returnPoo,scaleIn,nil]];
  2189.  
  2190.  
  2191.  
  2192. purplePooSplatter = [CCSprite spriteWithFile:@"pooSplat.png"];
  2193. purplePooSplatter.position = ccp(purpleNinja.position.x+10,purpleNinja.position.y-10);
  2194. [self addChild:purplePooSplatter];
  2195. purplePooSplatter.visible = FALSE;
  2196.  
  2197. id showSplat = [CCShow action];
  2198. id fadeSplat = [CCFadeOut actionWithDuration:0.8];
  2199. id hideSplat = [CCHide action];
  2200.  
  2201.  
  2202.  
  2203.  
  2204. [purplePooSplatter runAction:[CCSequence actions: showSplat,fadeSplat,hideSplat,nil]];
  2205.  
  2206.  
  2207.  
  2208.  
  2209.  
  2210.  
  2211.  
  2212. CCCallFunc *restart = [CCCallFunc actionWithTarget:self selector:@selector(restartPurple)];
  2213. [purpleNinja stopAllActions];
  2214. id die = [CCBezierTo actionWithDuration:.7 bezier:bezier2];
  2215. id rotate = [CCRotateTo actionWithDuration:.7 angle:1080];
  2216.  
  2217. bezier2.controlPoint_1 = ccp(purpleNinja.position.x,purpleNinja.position.y);
  2218. bezier2.controlPoint_2 = ccp(purpleNinja.position.x+15,purpleNinja.position.y+15);
  2219.  
  2220. bezier2.endPosition=ccp(purpleNinja.position.x+30,-80);
  2221. id wait = [CCDelayTime actionWithDuration:arc4random()%3];
  2222.  
  2223. CCCallFunc *update = [CCCallFunc actionWithTarget:self selector:@selector(purpleScoreUpdate)];
  2224.  
  2225.  
  2226. [purpleNinja runAction:[CCSequence actions:die,update,wait,restart,nil]];
  2227. [purpleNinja runAction:rotate];
  2228.  
  2229. banana1 = [CCSprite spriteWithFile:@"Banana.png"];
  2230. banana1.position = ccp(purpleNinja.position.x,purpleNinja.position.y);
  2231. [self addChild:banana1];
  2232.  
  2233. banana2 = [CCSprite spriteWithFile:@"Banana.png"];
  2234. banana2.position = ccp(purpleNinja.position.x,purpleNinja.position.y);
  2235. [self addChild:banana2];
  2236.  
  2237. bezBan1.controlPoint_1 = ccp(purpleNinja.position.x,purpleNinja.position.y);
  2238. bezBan1.controlPoint_2 = ccp(purpleNinja.position.x-20,purpleNinja.position.y+180);
  2239. bezBan1.endPosition = ccp(purpleNinja.position.x-40,-100);
  2240.  
  2241. bezBan2.controlPoint_1 = ccp(purpleNinja.position.x,purpleNinja.position.y);
  2242. bezBan2.controlPoint_2 = ccp(purpleNinja.position.x+20,purpleNinja.position.y+180);
  2243. bezBan2.endPosition = ccp(purpleNinja.position.x+40,-100);
  2244.  
  2245. id showBan1 = [CCBezierTo actionWithDuration:1 bezier:bezBan1];
  2246. id showBan2 = [CCBezierTo actionWithDuration:1 bezier:bezBan2];
  2247.  
  2248. [banana1 runAction: showBan1];
  2249. [banana2 runAction: showBan2];
  2250.  
  2251.  
  2252.  
  2253.  
  2254.  
  2255. [self unschedule:@selector(movePurple)];
  2256.  
  2257. }
  2258. else if (CGRectIntersectsRect(blueNinjaRect, pooRect)&&bluePooSplatter.visible == FALSE) {
  2259.  
  2260. [poo stopAllActions];
  2261.  
  2262. CCCallFunc *returnPoo = [CCCallFunc actionWithTarget:self selector:@selector(pooPosition)];
  2263.  
  2264. CCCallFunc *playSound = [CCCallFunc actionWithTarget:self selector:@selector(playPoo)];
  2265. id scaleOut = [CCScaleTo actionWithDuration:.1 scale:0];
  2266. id scaleIn = [CCScaleTo actionWithDuration:.1 scale:1];
  2267.  
  2268.  
  2269. [poo runAction:[CCSequence actions:scaleOut,playSound,returnPoo,scaleIn,nil]];
  2270.  
  2271.  
  2272.  
  2273. bluePooSplatter = [CCSprite spriteWithFile:@"pooSplat.png"];
  2274. bluePooSplatter.position = ccp(blueNinja.position.x+10,blueNinja.position.y-10);
  2275. [self addChild:bluePooSplatter];
  2276. bluePooSplatter.visible = FALSE;
  2277.  
  2278. id showSplat = [CCShow action];
  2279. id fadeSplat = [CCFadeOut actionWithDuration:0.8];
  2280. id hideSplat = [CCHide action];
  2281.  
  2282.  
  2283.  
  2284.  
  2285. [bluePooSplatter runAction:[CCSequence actions: showSplat,fadeSplat,hideSplat,nil]];
  2286.  
  2287. CCCallFunc *restart = [CCCallFunc actionWithTarget:self selector:@selector(restartBlue)];
  2288. [blueNinja stopAllActions];
  2289. id die = [CCBezierTo actionWithDuration:.7 bezier:bezier2];
  2290. id rotate = [CCRotateTo actionWithDuration:.7 angle:1080];
  2291.  
  2292. bezier2.controlPoint_1 = ccp(blueNinja.position.x,blueNinja.position.y);
  2293. bezier2.controlPoint_2 = ccp(blueNinja.position.x+15,blueNinja.position.y+15);
  2294.  
  2295. bezier2.endPosition=ccp(blueNinja.position.x+30,-80);
  2296. id wait = [CCDelayTime actionWithDuration:arc4random()%15];
  2297.  
  2298. CCCallFunc *update = [CCCallFunc actionWithTarget:self selector:@selector(blueScoreUpdate)];
  2299.  
  2300.  
  2301. [blueNinja runAction:[CCSequence actions:die,update,wait,restart,nil]];
  2302. [blueNinja runAction:rotate];
  2303.  
  2304. banana1 = [CCSprite spriteWithFile:@"Banana.png"];
  2305. banana1.position = ccp(blueNinja.position.x,blueNinja.position.y);
  2306. [self addChild:banana1];
  2307.  
  2308. banana2 = [CCSprite spriteWithFile:@"Banana.png"];
  2309. banana2.position = ccp(blueNinja.position.x,blueNinja.position.y);
  2310. [self addChild:banana2];
  2311.  
  2312. banana3 = [CCSprite spriteWithFile:@"Banana.png"];
  2313. banana3.position = ccp(blueNinja.position.x,blueNinja.position.y);
  2314. [self addChild:banana3];
  2315.  
  2316. banana4 = [CCSprite spriteWithFile:@"Banana.png"];
  2317. banana4.position = ccp(blueNinja.position.x,blueNinja.position.y);
  2318. [self addChild:banana4];
  2319.  
  2320. bezBan1.controlPoint_1 = ccp(blueNinja.position.x,blueNinja.position.y);
  2321. bezBan1.controlPoint_2 = ccp(blueNinja.position.x-20,blueNinja.position.y+180);
  2322. bezBan1.endPosition = ccp(blueNinja.position.x-40,-100);
  2323.  
  2324. bezBan2.controlPoint_1 = ccp(blueNinja.position.x,blueNinja.position.y);
  2325. bezBan2.controlPoint_2 = ccp(blueNinja.position.x+20,blueNinja.position.y+180);
  2326. bezBan2.endPosition = ccp(blueNinja.position.x+40,-100);
  2327.  
  2328. bezBan3.controlPoint_1 = ccp(blueNinja.position.x,blueNinja.position.y);
  2329. bezBan3.controlPoint_2 = ccp(blueNinja.position.x-20,blueNinja.position.y+100);
  2330. bezBan3.endPosition = ccp(blueNinja.position.x-40,-100);
  2331.  
  2332. bezBan4.controlPoint_1 = ccp(blueNinja.position.x,blueNinja.position.y);
  2333. bezBan4.controlPoint_2 = ccp(blueNinja.position.x+20,blueNinja.position.y+100);
  2334. bezBan4.endPosition = ccp(blueNinja.position.x+40,-100);
  2335.  
  2336.  
  2337. id showBan1 = [CCBezierTo actionWithDuration:1 bezier:bezBan1];
  2338. id showBan2 = [CCBezierTo actionWithDuration:1 bezier:bezBan2];
  2339. id showBan3 = [CCBezierTo actionWithDuration:1 bezier:bezBan3];
  2340. id showBan4 = [CCBezierTo actionWithDuration:1 bezier:bezBan4];
  2341.  
  2342. [banana1 runAction: showBan1];
  2343. [banana2 runAction: showBan2];
  2344. [banana3 runAction: showBan3];
  2345. [banana4 runAction: showBan4];
  2346.  
  2347.  
  2348. [self unschedule:@selector(moveBlue)];
  2349. }
  2350. else if (CGRectIntersectsRect(bombNinja1Rect, pooRect)&& bomb1.visible == FALSE){
  2351. [[SimpleAudioEngine sharedEngine]playEffect:@"monkeyCall.mp3"];
  2352. [poo stopAllActions];
  2353. CCCallFunc *returnPoo = [CCCallFunc actionWithTarget:self selector:@selector(pooPosition)];
  2354.  
  2355. [poo runAction:returnPoo];
  2356. bomb1.position = bombNinja1.position;
  2357.  
  2358. id hide = [CCHide action];
  2359. [poo runAction:hide];
  2360. id showBomb1 = [CCShow action];
  2361.  
  2362.  
  2363.  
  2364. id moveBomb1 = [CCMoveTo actionWithDuration:1 position:ccp(bomb1.position.x,-50)];
  2365. [bomb1 runAction: [CCSequence actions:showBomb1,moveBomb1,nil]];
  2366.  
  2367. [bombNinja1 runAction:gameOver];
  2368. }
  2369. else if (CGRectIntersectsRect(bombNinja2Rect, pooRect)&& bomb2.visible ==FALSE){
  2370. [[SimpleAudioEngine sharedEngine]playEffect:@"monkeyCall.mp3"];
  2371. [poo stopAllActions];
  2372. CCCallFunc *returnPoo = [CCCallFunc actionWithTarget:self selector:@selector(pooPosition)];
  2373.  
  2374. [poo runAction:returnPoo];
  2375. bomb2.position = bombNinja2.position;
  2376.  
  2377. id hide = [CCHide action];
  2378. [poo runAction:hide];
  2379. id showBomb2 = [CCShow action];
  2380.  
  2381.  
  2382.  
  2383. id moveBomb2 = [CCMoveTo actionWithDuration:1 position:ccp(bomb2.position.x,-50)];
  2384. [bomb2 runAction: [CCSequence actions:showBomb2,moveBomb2,nil]];
  2385.  
  2386.  
  2387.  
  2388. [bombNinja2 runAction:gameOver];
  2389. }
  2390. else if (CGRectIntersectsRect(bombNinja3Rect, pooRect)&&bomb3.visible == FALSE){
  2391. [[SimpleAudioEngine sharedEngine]playEffect:@"monkeyCall.mp3"];
  2392. [poo stopAllActions];
  2393. CCCallFunc *returnPoo = [CCCallFunc actionWithTarget:self selector:@selector(pooPosition)];
  2394.  
  2395. [poo runAction:returnPoo];
  2396. bomb3.position = bombNinja3.position;
  2397.  
  2398. id hide = [CCHide action];
  2399. [poo runAction:hide];
  2400. id showBomb3 = [CCShow action];
  2401.  
  2402.  
  2403.  
  2404. id moveBomb3 = [CCMoveTo actionWithDuration:1 position:ccp(bomb3.position.x,-50)];
  2405. [bomb3 runAction: [CCSequence actions:showBomb3,moveBomb3,nil]];
  2406.  
  2407.  
  2408.  
  2409. [bombNinja3 runAction:gameOver];
  2410. }
  2411.  
  2412. else if (CGRectIntersectsRect(lifeRect, pooRect)){
  2413. [poo stopAllActions];
  2414.  
  2415. CCCallFunc *returnPoo = [CCCallFunc actionWithTarget:self selector:@selector(pooPosition)];
  2416.  
  2417. CCCallFunc *playSound = [CCCallFunc actionWithTarget:self selector:@selector(playPoo)];
  2418. id scaleOut = [CCScaleTo actionWithDuration:.1 scale:0];
  2419. id scaleIn = [CCScaleTo actionWithDuration:.1 scale:1];
  2420.  
  2421.  
  2422. [poo runAction:[CCSequence actions:scaleOut,playSound,returnPoo,scaleIn,nil]];
  2423.  
  2424. [lifeIcon stopAllActions];
  2425.  
  2426. CCCallFunc *restart = [CCCallFunc actionWithTarget:self selector:@selector(restartLife)];
  2427. CCCallFunc *rePosition = [CCCallFunc actionWithTarget:self selector:@selector(lifePosition)];
  2428.  
  2429. id hide = [CCHide action];
  2430. id show = [CCShow action];
  2431. id wait = [CCDelayTime actionWithDuration:5];
  2432.  
  2433. [lifeIcon runAction:[CCSequence actions:hide,rePosition,show,wait,restart,nil]];
  2434.  
  2435. CCCallFunc *newLife = [CCCallFunc actionWithTarget:self selector:@selector(gainLife)];
  2436. [lifeIcon runAction:newLife];
  2437.  
  2438. }
  2439.  
  2440.  
  2441. }
  2442.  
  2443. -(void)lifePosition{
  2444. lifeIcon.position = ccp(-50,270);
  2445. }
  2446.  
  2447.  
  2448.  
  2449. -(void)gameOverExplosion{
  2450.  
  2451.  
  2452.  
  2453.  
  2454. CCCallFunc *bombNoise = [CCCallFunc actionWithTarget:self selector:@selector(bombSound)];
  2455.  
  2456. id show1 = [CCShow action];
  2457. id show2 = [CCShow action];
  2458.  
  2459. id show3 = [CCShow action];
  2460.  
  2461. id show4 = [CCShow action];
  2462.  
  2463. id show5 = [CCShow action];
  2464.  
  2465. id gameOverWait = [CCDelayTime actionWithDuration:5];
  2466.  
  2467.  
  2468. id wait1 = [CCDelayTime actionWithDuration:1];
  2469. id wait2 = [CCDelayTime actionWithDuration:1.3];
  2470. id wait3 = [CCDelayTime actionWithDuration:1.6];
  2471. id wait4 = [CCDelayTime actionWithDuration:2];
  2472. id wait5 = [CCDelayTime actionWithDuration:2.3];
  2473.  
  2474. [explo1 runAction:[CCSequence actions:wait1,bombNoise,show1,nil]];
  2475. [explo2 runAction:[CCSequence actions:wait2,bombNoise,show2,nil]];
  2476. [explo3 runAction:[CCSequence actions:wait3,bombNoise,show3,nil]];
  2477. [explo4 runAction:[CCSequence actions:wait4,bombNoise,show4,nil]];
  2478. [explo5 runAction:[CCSequence actions:wait5,bombNoise,show5,nil]];
  2479.  
  2480. CCCallFunc *fall = [CCCallFunc actionWithTarget:self selector:@selector(ninjaDieGameOver)];
  2481.  
  2482. [blueNinja runAction:[CCSequence actions:wait1,fall,nil]];
  2483. [greenNinja runAction:[CCSequence actions:wait1,fall,nil]];
  2484. [purpleNinja runAction:[CCSequence actions:wait1,fall,nil]];
  2485.  
  2486. CCCallFunc *gameOver = [CCCallFunc actionWithTarget:self selector:@selector(goToGameOver2)];
  2487.  
  2488. [explo1 runAction:[CCSequence actions:gameOverWait,gameOver,nil]];
  2489.  
  2490.  
  2491.  
  2492.  
  2493.  
  2494. id hide = [CCHide action];
  2495. [pauseButton runAction:hide];
  2496. [menu runAction:hide];
  2497. CCCallFunc *monkeyDead = [CCCallFunc actionWithTarget:self selector:@selector(killMonkey)];
  2498.  
  2499. [monkeyThrow1 runAction:[CCSequence actions:wait1,hide,monkeyDead,nil]];
  2500. [monkeyBomb runAction:[CCSequence actions:wait1,hide,nil]];
  2501. [gun runAction:[CCSequence actions:wait1,hide,nil]];
  2502. [monkey runAction:[CCSequence actions:wait1,hide,nil]];
  2503.  
  2504. }
  2505. -(void)killMonkey{
  2506. monkeyDie.controlPoint_1 = monkey.position;
  2507. monkeyDie.controlPoint_2 = ccp(250,500);
  2508. monkeyDie.endPosition = ccp(500,-100);
  2509.  
  2510. CCSprite *deadMonkey = [CCSprite spriteWithFile:@"deadMonkey.png"];
  2511. deadMonkey.position = monkey.position;
  2512. [self addChild:deadMonkey];
  2513.  
  2514. id rotate = [CCRotateBy actionWithDuration:3 angle:3600];
  2515. id die = [CCBezierTo actionWithDuration:2 bezier:monkeyDie];
  2516.  
  2517. [deadMonkey runAction:die];
  2518. [deadMonkey runAction:rotate];
  2519. }
  2520.  
  2521. -(void)ninjaDieGameOver{
  2522.  
  2523. [blueNinja stopAllActions];
  2524. [purpleNinja stopAllActions];
  2525. [greenNinja stopAllActions];
  2526.  
  2527. id blueFall = [CCMoveTo actionWithDuration:1 position:ccp(blueNinja.position.x,-50)];
  2528. id greenFall = [CCMoveTo actionWithDuration:1 position:ccp(greenNinja.position.x,-50)];
  2529. id purpleFall = [CCMoveTo actionWithDuration:1 position:ccp(purpleNinja.position.x,-50)];
  2530.  
  2531. CCCallFunc *stop = [CCCallFunc actionWithTarget:self selector:@selector(stopNinjas)];
  2532.  
  2533. [blueNinja runAction:[CCSequence actions:blueFall,stop,nil]];
  2534. [greenNinja runAction:[CCSequence actions:greenFall,stop,nil]];
  2535. [purpleNinja runAction:[CCSequence actions:purpleFall,stop,nil]];
  2536.  
  2537.  
  2538. }
  2539. -(void)stopNinjas{
  2540. blueNinja.position = ccp(-50,-50);
  2541. greenNinja.position = ccp(-50,-50);
  2542. purpleNinja.position = ccp(-50,-50);
  2543.  
  2544. [blueNinja stopAllActions];
  2545. [purpleNinja stopAllActions];
  2546. [greenNinja stopAllActions];
  2547. }
  2548.  
  2549.  
  2550.  
  2551.  
  2552. -(void)playPoo{
  2553. pooSound.gain = 2.0f;
  2554. [pooSound play];
  2555. }
  2556.  
  2557. -(void)ammoLeft{
  2558.  
  2559. CCProgressFromTo *to1 = [CCProgressFromTo actionWithDuration:timer.percentage/75 from:timer.percentage to:0];
  2560.  
  2561. [timer runAction:to1];
  2562.  
  2563. }
  2564.  
  2565. -(void)restoreAmmo{
  2566.  
  2567.  
  2568. CCProgressFromTo *to1 = [CCProgressFromTo actionWithDuration:3 from:timer.percentage to:100];
  2569. id wait = [CCDelayTime actionWithDuration:1];
  2570. id hide = [CCHide action];
  2571. [reload runAction:[CCSequence actions:wait,hide,nil]];
  2572. [timer runAction:to1];
  2573. }
  2574. -(void)showReload{
  2575.  
  2576. if (timer.percentage == 0) {
  2577. id show = [CCShow action];
  2578. id hide = [CCHide action];
  2579. gunChoice.opacity = 100;
  2580. pooChoice.opacity = 255;
  2581. [machineGun stop];
  2582. [bang stopAllActions];
  2583. [bang2 stopAllActions];
  2584. [bang3 stopAllActions];
  2585. [bang runAction:hide];
  2586. [bang2 runAction:hide];
  2587. [bang3 runAction:hide];
  2588. [gun runAction:hide];
  2589. [poo runAction:show];
  2590. [reload runAction:show];
  2591.  
  2592. CCCallFunc *moreAmmo = [CCCallFunc actionWithTarget:self selector:@selector(restoreAmmo)];
  2593. [timer runAction:moreAmmo];
  2594.  
  2595. }
  2596. }
  2597.  
  2598.  
  2599.  
  2600.  
  2601. -(void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex {
  2602.  
  2603. [[CCDirector sharedDirector] resume];}
  2604.  
  2605. // on "dealloc" you need to release all your retained objects
  2606. - (void) dealloc
  2607. {
  2608. [score dealloc];
  2609. [pooSound dealloc];
  2610. [machineGun dealloc];
  2611. // in case you have something to dealloc, do it in this method
  2612. // in this particular example nothing needs to be released.
  2613. // cocos2d will automatically release all the children (Label)
  2614.  
  2615. // don't forget to call "super dealloc"
  2616. [super dealloc];
  2617. }
  2618. @end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement