Guest User

Untitled

a guest
Nov 12th, 2014
211
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 22.17 KB | None | 0 0
  1. function CGame(oData){
  2. var _bUpdate = false;
  3. var _bPlayerTurn;
  4. var _bSplitActive;
  5. var _bDoubleForPlayer;
  6. var _iInsuranceBet;
  7. var _iTimeElaps;
  8. var _iMaxBet;
  9. var _iMinBet;
  10. var _iMoney;
  11. var _iState;
  12. var _iCardIndexToDeal;
  13. var _iDealerValueCard;
  14. var _iCardDealedToDealer;
  15. var _iAcesForDealer;
  16. var _iCurFichesToWait;
  17. var _iNextCardForPlayer;
  18. var _iNextCardForDealer;
  19.  
  20. var _aCardsDealing;
  21. var _aCardsInCurHandForDealer;
  22. var _aDealerCards;
  23. var _aCardDeck;
  24. var _aCardsInCurHandForPlayer;
  25. var _aCurActiveCardOffset;
  26. var _oStartingCardOffset;
  27. var _oDealerCardOffset;
  28. var _oReceiveWinOffset;
  29. var _oFichesDealerOffset;
  30. var _oRemoveCardsOffset;
  31. var _oCardContainer;
  32.  
  33. var _oBg;
  34. var _oInterface;
  35. var _oSeat;
  36. var _oGameOverPanel;
  37.  
  38. this._init = function(){
  39. _iMoney = TOTAL_MONEY;
  40. _iMaxBet = MAX_BET;
  41. _iMinBet = MIN_BET;
  42. _iState = -1;
  43. _iTimeElaps = 0;
  44.  
  45. s_oTweenController = new CTweenController();
  46.  
  47. var iRandBg = Math.floor(Math.random() * 4) + 1;
  48. _oBg = new createjs.Bitmap(s_oSpriteLibrary.getSprite('bg_game_'+iRandBg));
  49. s_oStage.addChild(_oBg);
  50.  
  51. _oSeat = new CSeat();
  52. _oSeat.setCredit(TOTAL_MONEY);
  53. _oSeat.addEventListener(SIT_DOWN,this._onSitDown,this);
  54. _oSeat.addEventListener(RESTORE_ACTION,this._onSetPlayerActions);
  55. _oSeat.addEventListener(PASS_TURN,this._passTurnToDealer);
  56. _oSeat.addEventListener(END_HAND,this._onEndHand);
  57. _oSeat.addEventListener(PLAYER_LOSE,this._playerLose);
  58.  
  59. _oCardContainer = new createjs.Container();
  60. _oCardContainer.x = 0;
  61. _oCardContainer.y = 0;
  62. s_oStage.addChild(_oCardContainer);
  63.  
  64. _oInterface = new CInterface(_iMoney);
  65. _oInterface.displayMsg(TEXT_DISPLAY_MSG_SIT_DOWN);
  66.  
  67. this.reset();
  68.  
  69. _oStartingCardOffset = new CVector2();
  70. _oStartingCardOffset.set(876,228);
  71.  
  72. _oDealerCardOffset = new CVector2();
  73. _oDealerCardOffset.set(450,180);
  74.  
  75. _oReceiveWinOffset = new CVector2();
  76. _oReceiveWinOffset.set(80,820);
  77.  
  78. _oFichesDealerOffset = new CVector2();
  79. _oFichesDealerOffset.set(CANVAS_WIDTH/2,-100);
  80.  
  81. _oRemoveCardsOffset = new CVector2(116,216);
  82.  
  83. _aCurActiveCardOffset=new Array(_oSeat.getCardOffset(),_oDealerCardOffset);
  84.  
  85. _oInterface.disableBetFiches();
  86. _oGameOverPanel = new CGameOver();
  87.  
  88. _bUpdate = true;
  89. };
  90.  
  91. this.unload = function(){
  92. createjs.Sound.stop();
  93.  
  94. for(var i=0;i<_aCardsDealing.length;i++){
  95. _aCardsDealing[i].unload();
  96. }
  97.  
  98. var aCards=_oSeat.getPlayerCards();
  99. for(var k=0;k<aCards.length;k++){
  100. aCards[k].unload();
  101. }
  102.  
  103. s_oStage.removeAllChildren();
  104.  
  105. _oInterface.unload();
  106. _oGameOverPanel.unload();
  107. };
  108.  
  109. this.reset = function(){
  110. _bPlayerTurn=true;
  111. _bSplitActive=false;
  112. _bDoubleForPlayer=false;
  113. _iInsuranceBet=0;
  114. _iTimeElaps=0;
  115. _iCardIndexToDeal=0;
  116.  
  117. _iDealerValueCard=0;
  118. _iCardDealedToDealer=0;
  119. _iAcesForDealer=0;
  120. _iCurFichesToWait=0;
  121. _oSeat.reset();
  122.  
  123. _aCardsDealing=new Array();
  124. _aCardsDealing.splice(0);
  125.  
  126. _aDealerCards=new Array();
  127. _aDealerCards.splice(0);
  128.  
  129. _oInterface.reset();
  130. _oInterface.enableBetFiches();
  131.  
  132. _aCardDeck=new Array();
  133. _aCardDeck=s_oGameSettings.getShuffledCardDeck();
  134.  
  135. _aCardsInCurHandForPlayer=new Array();
  136. _aCardsInCurHandForDealer=new Array();
  137. for(var k=0;k<_aCardDeck.length;k++){
  138. if(k%2 === 0){
  139. _aCardsInCurHandForPlayer.push(_aCardDeck[k]);
  140. }else{
  141. _aCardsInCurHandForDealer.push(_aCardDeck[k]);
  142. }
  143. }
  144.  
  145.  
  146. _iNextCardForPlayer=0;
  147. _iNextCardForDealer=0;
  148. };
  149.  
  150. this.changeState = function(iState){
  151. _iState=iState;
  152.  
  153. switch(_iState){
  154. case STATE_GAME_DEALING:{
  155. _oInterface.disableButtons();
  156. _oInterface.displayMsg(TEXT_DISPLAY_MSG_DEALING);
  157. this._dealing();
  158. break;
  159. }
  160. }
  161. };
  162.  
  163. this.attachCardToDeal = function(pStartingPoint,pEndingPoint,bDealer,iCardCount){
  164. var oCard = new CCard(_oStartingCardOffset.getX(),_oStartingCardOffset.getY(),_oCardContainer);
  165.  
  166. if(bDealer){
  167. oCard.setInfo(pStartingPoint,pEndingPoint,_aCardsInCurHandForDealer[_iNextCardForDealer],
  168. s_oGameSettings.getCardValue(_aCardsInCurHandForDealer[_iNextCardForDealer]),bDealer,iCardCount);
  169.  
  170. _iNextCardForDealer++;
  171. }else{
  172. oCard.setInfo(pStartingPoint,pEndingPoint,_aCardsInCurHandForPlayer[_iNextCardForPlayer],
  173. s_oGameSettings.getCardValue(_aCardsInCurHandForPlayer[_iNextCardForPlayer]),bDealer,iCardCount);
  174.  
  175. _iNextCardForPlayer++;
  176. }
  177.  
  178.  
  179. oCard.addEventListener(ON_CARD_ANIMATION_ENDING,this.cardFromDealerArrived);
  180.  
  181. _aCardsDealing.push(oCard);
  182.  
  183. if(DISABLE_SOUND_MOBILE === false || s_bMobile === false){
  184. createjs.Sound.play("card");
  185. }
  186. };
  187.  
  188. this.cardFromDealerArrived = function(oCard,bDealerCard,iCount){
  189. for(var i=0;i<_aCardsDealing.length;i++){
  190. if(_aCardsDealing[i] === oCard){
  191. _aCardsDealing.splice(i,1);
  192. break;
  193. }
  194. }
  195.  
  196. if(bDealerCard === false){
  197. _oSeat.addCardToHand(oCard);
  198. _oSeat.increaseHandValue(oCard.getValue());
  199. _oSeat.refreshCardValue();
  200. }else{
  201. _iDealerValueCard += oCard.getValue();
  202. if(_iCardDealedToDealer > 2){
  203. _oInterface.refreshDealerCardValue(_iDealerValueCard);
  204. }
  205. if(oCard.getValue() === 11){
  206. _iAcesForDealer++;
  207. }
  208.  
  209. _aDealerCards.push(oCard);
  210. }
  211.  
  212.  
  213. if(iCount<3){
  214. s_oGame._dealing();
  215. }else{
  216. s_oGame._checkHand();
  217. if( bDealerCard === false && _bDoubleForPlayer){
  218. s_oGame._onStandPlayer();
  219. }
  220. }
  221. };
  222.  
  223. this._onStandPlayer = function(){
  224. _oSeat.stand();
  225. };
  226.  
  227. this._checkHand = function(){
  228. var i;
  229.  
  230. if(_bPlayerTurn){
  231. _oSeat.checkHand();
  232. }else{
  233. _oInterface.refreshDealerCardValue(_iDealerValueCard);
  234. if(_iDealerValueCard === 21){
  235. if(_iInsuranceBet>0){
  236. _oSeat.increaseCredit((_iInsuranceBet*2));
  237.  
  238. _oInterface.refreshCredit(_oSeat.getCredit());
  239. for(i=0;i<_oSeat.getNumHands();i++){
  240. this._playerLose(i);
  241. }
  242. }else{
  243. for(i=0;i<_oSeat.getNumHands();i++){
  244. this._playerLose(i);
  245. }
  246. }
  247. }else if(_iDealerValueCard>21){
  248. if(_iAcesForDealer>0){
  249. _iAcesForDealer--;
  250. _iDealerValueCard -= 10;
  251. _oInterface.refreshDealerCardValue(_iDealerValueCard);
  252. if(_iDealerValueCard<17){
  253. this.hitDealer();
  254. }else{
  255. this._checkWinner();
  256. }
  257. }else{
  258. this._checkWinner();
  259. }
  260. }else if(_iDealerValueCard<17){
  261. this.hitDealer();
  262. }else{
  263. this._checkWinner();
  264. }
  265. }
  266. };
  267.  
  268. this._playerWin = function(iHand){
  269. var iTotalWin=_oSeat.getBetForHand(iHand)*2;
  270. _oSeat.increaseCredit(iTotalWin);
  271. _oSeat.showWinner(iHand,TEXT_SHOW_WIN_PLAYER,iTotalWin);
  272. _oInterface.displayMsg(TEXT_DISPLAY_MSG_PLAYER_WIN);
  273.  
  274. _oSeat.initMovement(iHand,_oReceiveWinOffset.getX(),_oReceiveWinOffset.getY());
  275.  
  276. if(_iDealerValueCard === 21){
  277. _oSeat.initInsuranceMov(_oReceiveWinOffset.getX(),_oReceiveWinOffset.getY());
  278. }else{
  279. _oSeat.initInsuranceMov(_oFichesDealerOffset.getX(),_oFichesDealerOffset.getY());
  280. }
  281. };
  282.  
  283. this._playerLose = function(iHand){
  284. _oSeat.showWinner(iHand,TEXT_SHOW_LOSE_PLAYER,0);
  285. _oInterface.displayMsg(TEXT_DISPLAY_MSG_PLAYER_LOSE);
  286.  
  287. _oSeat.initMovement(iHand,_oFichesDealerOffset.getX(),_oFichesDealerOffset.getY());
  288.  
  289. if(_iDealerValueCard === 21){
  290. _oSeat.initInsuranceMov(_oReceiveWinOffset.getX(),_oReceiveWinOffset.getY());
  291. }else{
  292. _oSeat.initInsuranceMov(_oFichesDealerOffset.getX(),_oFichesDealerOffset.getY());
  293. }
  294. };
  295.  
  296. this.playerStandOff = function(iHand){
  297. _oSeat.increaseCredit(_oSeat.getBetForHand(iHand));
  298.  
  299. _oSeat.showWinner(iHand,TEXT_SHOW_STANDOFF,0);
  300. _oInterface.displayMsg(TEXT_DISPLAY_MSG_PLAYER_STANDOFF);
  301.  
  302. _oSeat.initMovement(iHand,_oReceiveWinOffset.getX(),_oReceiveWinOffset.getY());
  303.  
  304. if(_iDealerValueCard === 21){
  305. _oSeat.initInsuranceMov(_oReceiveWinOffset.getX(),_oReceiveWinOffset.getY());
  306. }else{
  307. _oSeat.initInsuranceMov(_oFichesDealerOffset.getX(),_oFichesDealerOffset.getY());
  308. }
  309. };
  310.  
  311. this._dealing = function(){
  312.  
  313. if(_iCardIndexToDeal<_aCurActiveCardOffset.length*2){
  314. var oCard = new CCard(_oStartingCardOffset.getX(),_oStartingCardOffset.getY(),_oCardContainer);
  315.  
  316. var pStartingPoint = new CVector2(_oStartingCardOffset.getX(),_oStartingCardOffset.getY());
  317. var pEndingPoint;
  318.  
  319. //THIS CARD IS FOR THE DEALER
  320. if((_iCardIndexToDeal%_aCurActiveCardOffset.length) === 1){
  321. _iCardDealedToDealer++;
  322. pEndingPoint=new CVector2(_oDealerCardOffset.getX()+(CARD_WIDTH+2)*(_iCardIndexToDeal > 1?1:0),_oDealerCardOffset.getY());
  323.  
  324. oCard.setInfo(pStartingPoint,pEndingPoint,_aCardsInCurHandForDealer[_iNextCardForDealer],
  325. s_oGameSettings.getCardValue(_aCardsInCurHandForDealer[_iNextCardForDealer]),
  326. true,_iCardDealedToDealer);
  327.  
  328. _iNextCardForDealer++;
  329. if(_iCardDealedToDealer === 2){
  330. oCard.addEventListener(ON_CARD_SHOWN,this._onCardShown);
  331. }
  332. }else{
  333. oCard.setInfo(pStartingPoint,_oSeat.getAttachCardOffset(),_aCardsInCurHandForPlayer[_iNextCardForPlayer],
  334. s_oGameSettings.getCardValue(_aCardsInCurHandForPlayer[_iNextCardForPlayer]),
  335. false,_oSeat.newCardDealed());
  336. _iNextCardForPlayer++;
  337. }
  338.  
  339. _aCardsDealing.push(oCard);
  340. _iCardIndexToDeal++;
  341.  
  342.  
  343. oCard.addEventListener(ON_CARD_ANIMATION_ENDING,this.cardFromDealerArrived);
  344. oCard.addEventListener(ON_CARD_TO_REMOVE,this._onRemoveCard);
  345.  
  346. if(DISABLE_SOUND_MOBILE === false || s_bMobile === false){
  347. createjs.Sound.play("card");
  348. }
  349. }else{
  350. this._checkAvailableActionForPlayer();
  351. }
  352. };
  353.  
  354. this.hitDealer = function(){
  355. var pStartingPoint=new CVector2(_oStartingCardOffset.getX(),_oStartingCardOffset.getY());
  356. var pEndingPoint=new CVector2(_oDealerCardOffset.getX()+((CARD_WIDTH+3)*_iCardDealedToDealer),_oDealerCardOffset.getY());
  357. _iCardDealedToDealer++;
  358.  
  359. this.attachCardToDeal(pStartingPoint,pEndingPoint,true,_iCardDealedToDealer);
  360.  
  361. this.changeState(STATE_GAME_HITTING);
  362.  
  363. if(DISABLE_SOUND_MOBILE === false || s_bMobile === false){
  364. createjs.Sound.play("card");
  365. }
  366. };
  367.  
  368. this._checkWinner = function(){
  369. for(var i=0;i<_oSeat.getNumHands();i++){
  370. if(_oSeat.getHandValue(i)>21){
  371. this._playerLose(i);
  372. }else if(_iDealerValueCard>21){
  373. this._playerWin(i);
  374. }else if(_oSeat.getHandValue(i)<22 && _oSeat.getHandValue(i)>_iDealerValueCard){
  375. this._playerWin(i);
  376. }else if(_oSeat.getHandValue(i) === _iDealerValueCard){
  377. this.playerStandOff(i);
  378. }else{
  379. this._playerLose(i);
  380. }
  381. }
  382. };
  383.  
  384. this._onEndHand = function(){
  385. var pRemoveOffset=new CVector2(_oRemoveCardsOffset.getX(),_oRemoveCardsOffset.getY());
  386.  
  387. for(var i=0;i<_aDealerCards.length;i++){
  388. _aDealerCards[i].initRemoving(pRemoveOffset);
  389. _aDealerCards[i].hideCard();
  390. }
  391.  
  392.  
  393. var aCards=_oSeat.getPlayerCards();
  394. for(var k=0;k<aCards.length;k++){
  395. aCards[k].initRemoving(pRemoveOffset);
  396. aCards[k].hideCard();
  397. }
  398.  
  399. _oSeat.clearText();
  400. _oInterface.clearDealerText();
  401. _iTimeElaps=0;
  402. s_oGame.changeState(STATE_GAME_SHOW_WINNER);
  403.  
  404. if(DISABLE_SOUND_MOBILE === false || s_bMobile === false){
  405. createjs.Sound.play("fiche_collect");
  406. }
  407.  
  408. $(s_oMain).trigger("end_hand",[_oSeat.getCredit()]);
  409. };
  410.  
  411. this.ficheSelected = function(iFicheValue,iFicheIndex){
  412. var iCurBet=_oSeat.getCurBet();
  413.  
  414. if( (iCurBet+iFicheValue) <= _iMaxBet && iFicheValue <= _oSeat.getCredit() ){
  415. iCurBet+=iFicheValue;
  416. iCurBet=Number(iCurBet.toFixed(1));
  417.  
  418. _oSeat.decreaseCredit(iFicheValue);
  419. _oSeat.changeBet(iCurBet);
  420. _oSeat.refreshFiches(iFicheValue,iFicheIndex,0,0);
  421.  
  422. _oSeat.bet(iCurBet,false);
  423. _oInterface.enable(true,false,false,false,false);
  424. _oInterface.refreshCredit(_oSeat.getCredit());
  425. }
  426. };
  427.  
  428. this._checkAvailableActionForPlayer = function(){
  429. this.changeState(-1);
  430.  
  431. var iPlayerValueCard =_oSeat.getHandValue(0);
  432. //PLAYER HAVE 21 WITH FIRST 2 CARDS
  433. if(iPlayerValueCard === 21){
  434. this._passTurnToDealer();
  435. return;
  436. }
  437.  
  438. var bActivateSplit = false;
  439.  
  440. if(_oSeat.isSplitAvailable() && _iMoney >= (_oSeat.getCurBet()*2)){
  441. bActivateSplit=true;
  442. }
  443. _oInterface.displayMsg(TEXT_DISPLAY_MSG_YOUR_ACTION);
  444.  
  445. var bActivateDouble=false;
  446. if(_oSeat.getHandValue(0) > 8 && _oSeat.getHandValue(0) < 16 && _iMoney >= (_oSeat.getCurBet()*2)){
  447. bActivateDouble=true;
  448. }
  449. _oInterface.enable(false,true,true,bActivateDouble,bActivateSplit);
  450.  
  451. //SHOW INSURANCE PANEL
  452. if(_aDealerCards[0].getValue() === 11){
  453. _iInsuranceBet=Math.floor(_oSeat.getCurBet()/2);
  454. _oInterface.showInsurancePanel();
  455. }
  456. };
  457.  
  458. this._passTurnToDealer = function(){
  459. _bPlayerTurn=false;
  460. _oInterface.disableButtons();
  461. _aDealerCards[1].showCard();
  462. if(DISABLE_SOUND_MOBILE === false || s_bMobile === false){
  463. createjs.Sound.play("card");
  464. }
  465.  
  466. _oInterface.displayMsg(TEXT_DISPLAY_MSG_DEALER_TURN);
  467. _oSeat.refreshCardValue();
  468. };
  469.  
  470. this._gameOver = function(){
  471. _oGameOverPanel.show();
  472. };
  473.  
  474. this.onFicheSelected = function(iFicheIndex,iFicheValue){
  475. this.ficheSelected(iFicheValue,iFicheIndex);
  476. };
  477.  
  478. this._onSetPlayerActions = function(bDeal,bHit,bStand,bDouble,bSplit){
  479. _oInterface.enable(bDeal,bHit,bStand,bDouble,bSplit);
  480. _oSeat.refreshCardValue();
  481. };
  482.  
  483. this._onSitDown = function(){
  484. this.changeState(STATE_GAME_WAITING_FOR_BET);
  485. _oInterface.enableBetFiches();
  486. };
  487.  
  488. this.onDeal = function(){
  489. this.changeState(STATE_GAME_DEALING);
  490. };
  491.  
  492. this.onHit = function(){
  493. var pStartingPoint=new CVector2(_oStartingCardOffset.getX(),_oStartingCardOffset.getY());
  494.  
  495. var pEndingPoint=new CVector2(_oSeat.getAttachCardOffset().getX(),_oSeat.getAttachCardOffset().getY());
  496.  
  497. this.attachCardToDeal(pStartingPoint,pEndingPoint,false,_oSeat.newCardDealed());
  498.  
  499. this.changeState(STATE_GAME_HITTING);
  500. };
  501.  
  502. this.onStand= function(){
  503. _oSeat.stand();
  504. };
  505.  
  506. this.onDouble = function(){
  507. var iDoubleBet=_oSeat.getCurBet();
  508.  
  509. var iCurBet = iDoubleBet;
  510. iCurBet += iDoubleBet;
  511.  
  512. _oSeat.double(iCurBet);
  513. _oSeat.changeBet(iCurBet);
  514. _oSeat.decreaseCredit(iDoubleBet);
  515.  
  516. _oSeat.bet(iCurBet);
  517. _oInterface.refreshCredit(_oSeat.getCredit());
  518.  
  519. this.onHit();
  520.  
  521. _bDoubleForPlayer=true;
  522. };
  523.  
  524. this.onSplit = function(){
  525. _oSeat.split();
  526.  
  527. this.changeState(STATE_GAME_SPLIT);
  528. };
  529.  
  530. this._onSplitCardEndAnim = function(){
  531. var iCurBet = _oSeat.getCurBet();
  532. var iSplitBet = iCurBet;
  533. iCurBet += iSplitBet;
  534. _oSeat.bet(iCurBet,true);
  535.  
  536. _bSplitActive=true;
  537.  
  538. _oInterface.enable(false,true,true,false,false);
  539.  
  540. _oSeat.setSplitHand();
  541. _oSeat.refreshCardValue();
  542.  
  543. _oSeat.changeBet(iCurBet-iSplitBet);
  544. _oSeat.decreaseCredit(iSplitBet);
  545. _oInterface.refreshCredit(_oSeat.getCredit());
  546. };
  547.  
  548. this.clearBets = function(){
  549. var iCurBet = _oSeat.getStartingBet();
  550. if(iCurBet>0){
  551. _oSeat.clearBet();
  552. _oSeat.increaseCredit(iCurBet);
  553. _oInterface.refreshCredit(_oSeat.getCredit());
  554. }
  555. };
  556.  
  557. this.onBuyInsurance = function(){
  558. var iCurBet=_oSeat.getCurBet();
  559. iCurBet += _iInsuranceBet;
  560. _oSeat.insurance(iCurBet,-_iInsuranceBet,_iInsuranceBet);
  561.  
  562. _oInterface.refreshCredit(_oSeat.getCredit());
  563. };
  564.  
  565. this._onCardShown = function(){
  566. s_oGame._checkHand();
  567. };
  568.  
  569. this._onRemoveCard = function(oCard){
  570. oCard.unload();
  571. };
  572.  
  573. this.onExit = function(){
  574. this.unload();
  575.  
  576. s_oMain.gotoMenu();
  577. $(s_oMain).trigger("restart");
  578. };
  579.  
  580. this.getState = function(){
  581. return _iState;
  582. };
  583.  
  584. this._updateWaitingBet = function(){
  585. _iTimeElaps += s_iTimeElaps;
  586. if(_iTimeElaps>BET_TIME){
  587. _iTimeElaps=0;
  588. if(_oSeat.getCurBet() === 0){
  589. this.ficheSelected(s_oGameSettings.getFichesValueAt(0),s_oGameSettings.getIndexForFiches(s_oGameSettings.getFichesValueAt(0)));
  590. }
  591. _oInterface.disableBetFiches();
  592. _oInterface.enable(true,false,false,false,false);
  593. this.changeState(STATE_GAME_DEALING);
  594. }else{
  595. var iCountDown=Math.floor((BET_TIME-_iTimeElaps)/1000);
  596. _oInterface.displayMsg(TEXT_MIN_BET+":"+_iMinBet+"\n"+TEXT_MAX_BET+":"+_iMaxBet,TEXT_DISPLAY_MSG_WAITING_BET+" "+iCountDown);
  597. }
  598. };
  599.  
  600. this._updateDealing = function(){
  601. for(var i=0;i<_aCardsDealing.length;i++){
  602. _aCardsDealing[i].update();
  603. }
  604. };
  605.  
  606. this._updateHitting = function(){
  607. for(var i=0;i<_aCardsDealing.length;i++){
  608. _aCardsDealing[i].update();
  609. }
  610. };
  611.  
  612. this._updateSplit = function(){
  613. _oSeat.updateSplit();
  614. };
  615.  
  616. this._updateShowWinner = function(){
  617. _oSeat.updateFichesController(s_iTimeElaps);
  618.  
  619. var aCards=_oSeat.getPlayerCards();
  620. for(var k=0;k<aCards.length;k++){
  621. aCards[k].update();
  622. }
  623.  
  624. for(var j=0;j<_aDealerCards.length;j++){
  625. _aDealerCards[j].update();
  626. }
  627.  
  628. _iTimeElaps+=s_iTimeElaps;
  629. if(_iTimeElaps>TIME_END_HAND){
  630. _iTimeElaps=0;
  631. this.reset();
  632. _oInterface.reset();
  633.  
  634. if(_oSeat.getCredit()<s_oGameSettings.getFichesValueAt(0)){
  635. this._gameOver();
  636. this.changeState(-1);
  637. }else{
  638. this.changeState(STATE_GAME_WAITING_FOR_BET);
  639. }
  640.  
  641. _oInterface.refreshCredit(_oSeat.getCredit());
  642. }
  643. };
  644.  
  645. this.update = function(){
  646. if(_bUpdate === false){
  647. return;
  648. }
  649.  
  650. switch(_iState){
  651. case STATE_GAME_WAITING_FOR_BET:{
  652. this._updateWaitingBet();
  653. break;
  654. }
  655. case STATE_GAME_DEALING:{
  656. this._updateDealing();
  657. break;
  658. }
  659. case STATE_GAME_HITTING:{
  660. this._updateHitting();
  661. break;
  662. }
  663. case STATE_GAME_SPLIT:{
  664. this._updateSplit();
  665. break;
  666. }
  667. case STATE_GAME_SHOW_WINNER:{
  668. this._updateShowWinner();
  669. break;
  670. }
  671. }
  672.  
  673.  
  674. };
  675.  
  676. s_oGame = this;
  677.  
  678. TOTAL_MONEY = oData.money;
  679. MIN_BET = oData.min_bet;
  680. MAX_BET = oData.max_bet;
  681. BET_TIME = oData.bet_time;
  682.  
  683. this._init();
  684. }
  685.  
  686. var s_oGame;
  687. var s_oTweenController;
Advertisement
Add Comment
Please, Sign In to add comment