| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- var CLevels = (function(){
- var _iUpMargin = CARD_HEIGHT/2 + CANVAS_HEIGHT*0.2;
- var _iEffectiveCentreX = CANVAS_WIDTH/2;
- var _iEffectiveCentreY = (CANVAS_HEIGHT - _iUpMargin)/2 + _iUpMargin;
- var _iEffectiveCanvasHeight = CANVAS_HEIGHT - _iUpMargin;
- var _iCardPadding = 30;
- // send level data
- var getLevelData = function(iLevel){
- var _iCardsNum = s_aCardsPerLevel[iLevel - 1];
-
- if(_iCardsNum > MAX_CARDS){
- _iCardsNum = MAX_CARDS;
- }
-
- var _oLevel = {
- cardZoomFactor : 1,
- cardsNum : _iCardsNum,
- cardsPos : [],
- timeAllotted : s_aSecsPerLevel[iLevel - 1] * 1000
- }
- for (var scaling = 1; scaling >= 0.1; scaling -= 0.01) {
- for (var rows = 2; rows <= 6; rows += 1) {
- var _iCardsPerRow = _iCardsNum/rows;
- if (_iCardsPerRow*(CARD_WIDTH*scaling + _iCardPadding*scaling) <= CANVAS_WIDTH &&
- (rows)*(CARD_HEIGHT*scaling+_iCardPadding*scaling) <= _iEffectiveCanvasHeight &&
- _iCardsNum%rows === 0) {
- var _iXShift = _iEffectiveCentreX - (_iCardsPerRow - 1)*(CARD_WIDTH*scaling+_iCardPadding*scaling)*0.5;
- var _iYShift = _iEffectiveCentreY - (_iUpMargin + ((CARD_HEIGHT*scaling+_iCardPadding*scaling)*(rows-1) + _iUpMargin)*0.5);
- for (var i = 0; i < rows; i++) {
- for (var j = 0; j < _iCardsPerRow; j++) {
- _oLevel.cardsPos[i*_iCardsPerRow + j] = [_iXShift+(CARD_WIDTH*scaling+_iCardPadding*scaling)*j,
- _iYShift + _iUpMargin+(CARD_HEIGHT*scaling+_iCardPadding*scaling)*i];
- };
- };
- _oLevel.cardZoomFactor = scaling;
- return _oLevel;
- };
- };
- };
- };
- return getLevelData;
- })();
|