CGame.js 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. function CGame(bChallengeMode){
  2. var _bChallengeMode;
  3. var _fGravityIncrease;
  4. var _iScore = 0;
  5. var _iHiScore = 0;
  6. var _iTimeElaps;
  7. var _oBall;
  8. var _oInterface;
  9. var _oPlayer;
  10. var _oEndPanel;
  11. this._init = function(bChallengeMode){
  12. _bChallengeMode = bChallengeMode;
  13. _iTimeElaps = TIME_GAME;
  14. _oPlayer = new CPlayer();
  15. if (_bChallengeMode) {
  16. _oInterface = new CInterface(this,_bChallengeMode);
  17. _oBall = new CBallChallenge(this);
  18. var scoringData = _oBall.getInitialScoringdata();
  19. _iScore = scoringData.initGravity;
  20. _fGravityIncrease = scoringData.tick;
  21. } else {
  22. _oInterface = new CInterface(this,_bChallengeMode);
  23. _oBall = new CBall(this);
  24. };
  25. _oEndPanel = new CEndPanel(s_oSpriteLibrary.getSprite('panel'));
  26. $(s_oMain).trigger("start_level",1);
  27. };
  28. this.unload = function(){
  29. $(s_oMain).trigger("end_level",1);
  30. _oBall.unload();
  31. s_oGame = null;
  32. s_oStage.removeAllChildren();
  33. s_oMain.gotoMenu();
  34. };
  35. this.update = function(){
  36. if(s_bClickBall === false){
  37. return;
  38. }
  39. if(_oBall.checkEdges()){
  40. if (_iScore !== 0) {
  41. _oInterface.updateScore(0, Math.floor(_iHiScore*100)/100);
  42. };
  43. if (_bChallengeMode) {
  44. _iScore = _oBall.getInitialScoringdata().initGravity;
  45. playSound("reset_kickup", 1, false);
  46. } else {
  47. if(_iScore > 0){
  48. _iScore = 0;
  49. playSound("reset_kickup", 1, false);
  50. }
  51. }
  52. }
  53. if(s_bClickBall){
  54. _iTimeElaps -= s_iTimeElaps;
  55. if(_iTimeElaps < 0){
  56. s_bClickBall = false;
  57. _oEndPanel.show(Math.floor(_iHiScore*100)/100,_bChallengeMode);
  58. $(s_oMain).trigger("end_level",1);
  59. }else{
  60. _oInterface.refreshTime(formatTime(_iTimeElaps));
  61. }
  62. }else{
  63. _oInterface.refreshTime(formatTime(0));
  64. }
  65. _oBall.update();
  66. s_oStage.update();
  67. };
  68. this.increaseScore = function(){
  69. if (_bChallengeMode) {
  70. _iScore += _fGravityIncrease;
  71. } else {
  72. _iScore++;
  73. };
  74. var fRand = Math.random();
  75. if (fRand <= 0.25 && _iScore > _iHiScore) {
  76. _oInterface.newTopScore();
  77. } else if (fRand <= 0.7) {
  78. _oInterface.encouragement();
  79. };
  80. if (_iScore > _iHiScore) {
  81. _iHiScore = _iScore;
  82. };
  83. _oInterface.updateScore(Math.floor(_iScore*100)/100, Math.floor(_iHiScore*100)/100);
  84. };
  85. this.playerAnim = function(posX,posY){
  86. _oPlayer.display(posX,posY);
  87. };
  88. s_oGame = this;
  89. s_bClickBall = true;
  90. this._init(bChallengeMode);
  91. }
  92. var s_bClickBall = true;
  93. var s_oGame = null;