mainJS.js 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. var nowLevelNo = 1;
  2. var gamesize = 0;
  3. var levelCount = 0;
  4. var lastLevelNo = "";
  5. var compArray = [];
  6. var packComp = [];
  7. var flowjson;
  8. var allLevels;
  9. var packid = 0;
  10. var level2Array = [];
  11. var nowPackNo = -1;
  12. var TScore = 0;
  13. var cj = ["image/menu/line.png", "image/menu/menubg.png", "image/btn_menu.png", "image/Logo1.png", "image/Logo2.png", "image/Logo3.png", "image/btn_play.png", "image/home.jpg", "image/game/gamebg.jpg", "image/game/level.png", "image/game/score.png", "image/game/grid_below.png", "image/game/grid_top.png", "image/game/timebg.png", "image/game/timebar.png", "image/scorecard/btn_playAgain.png", "image/scorecard/scorebg0.png", "image/scorecard/btn_MoreGames.png"];
  14. var cj1 = ["image/game/1/1.png", "image/game/1/2.png", "image/game/1/3.png", "image/game/1/4.png", "image/game/2/1.png", "image/game/2/2.png", "image/game/2/3.png", "image/game/2/4.png", "image/game/3/1.png", "image/game/3/2.png", "image/game/3/3.png", "image/game/3/4.png", "image/game/4/1.png", "image/game/4/2.png", "image/game/4/3.png", "image/game/4/4.png", "image/game/5/1.png", "image/game/5/2.png", "image/game/5/3.png", "image/game/5/4.png"];
  15. var gameElements = new Array();
  16. var isimgloaded = false;
  17. var gameTimer;
  18. var count = 360;//360长度
  19. var totalsec = 30;
  20. var levelScore = totalsec * 10;
  21. var step = count / totalsec;
  22. var arrayLeft = [92, 91.6, 91.2, 90.8, 90.4, 90, 89.6, 89.2, 88.8, 88.2, 87.8];
  23. var arrayTop = [234.0, 234.4, 234.8, 235.2, 235.6, 236, 236.4, 236.6, 237.0, 237.4, 238.8];
  24. //var arrayLeft = [112, 111.6, 111.2, 110.8, 110.4, 110, 109.6, 109.2, 108.8, 108.2, 107.8];
  25. var scorearr = [0, (totalsec - 12) * 190, (totalsec - 7) * 190, (totalsec - 5) * 190];
  26. var shake1;
  27. var shake2;
  28. var shake3;
  29. var shake4;
  30. var iswechat = (window.navigator.userAgent.toLowerCase().match(/MicroMessenger/i) == 'micromessenger');
  31. var level = "";
  32. function playgame(callback) {
  33. $("#maskloading").show();
  34. $("#game_screen").show();
  35. $.getJSON("data/new_levels.json", function (data) {
  36. if (data && data[0].length > 0 && data[0][1].levels.length > 0) {
  37. flowjson = data;
  38. gamesize = flowjson[0][1].size;
  39. level2Array = [];
  40. levelCount = 0;
  41. for (var i = 0; i < flowjson[0][1].levels.length; i++) {
  42. level2Array.push(flowjson[0][1].levels[i]);
  43. levelCount = levelCount + 1;
  44. }
  45. $.isFunction(callback) && callback();
  46. if (!isimgloaded) {
  47. $.loadImages(cj1, function (loadElements) {
  48. isimgloaded = true;
  49. var loadElementslength = loadElements.length;
  50. if (loadElementslength == cj1.length) {
  51. for (var i = 0; i < loadElementslength; i += 4) {
  52. gameElements.push([loadElements[i], loadElements[i + 1], loadElements[i + 2], loadElements[i + 3]]);
  53. }
  54. }
  55. mkGame(gamesize, level2Arrayf(level2Array[nowLevelNo - 1]), reline);
  56. Sforward.play();
  57. $("#maskloading").hide();
  58. });
  59. } else {
  60. mkGame(gamesize, level2Arrayf(level2Array[nowLevelNo - 1]), reline);
  61. Sforward.play();
  62. $("#maskloading").hide();
  63. }
  64. }
  65. else {
  66. $("#maskloading").hide();
  67. alert('加载失败,请重试!');
  68. }
  69. });
  70. }
  71. function gametick() {
  72. count = count - step;
  73. $("#timebar").css({ "width": count });
  74. if (count <= 0) {
  75. gameover();
  76. }
  77. }
  78. //终止计时器
  79. function gameover() {
  80. window.scrollTo(0, 0);
  81. if (gameTimer) window.clearInterval(gameTimer);
  82. $("#loading_div").hide();
  83. $("#content").show();
  84. $("#maskloading").fadeTo(800, 0.8, function () {
  85. $("#Logo2").show();
  86. $("#Logo2").animate({ "left": 90 }, 100, '', function () {
  87. shake3 = setInterval(function () {
  88. $("#Logo2").css({ "left": arrayLeft[parseInt(11 * Math.random())], "top": arrayTop[parseInt(11 * Math.random())] });
  89. }, 50);
  90. $("#Logo3").show();
  91. $("#Logo3").animate({ "left": 95 }, 100, '', function () {
  92. shake4 = setInterval(function () {
  93. $("#Logo3").css({ "left": arrayLeft[parseInt(11 * Math.random())], "top": arrayTop[parseInt(11 * Math.random())] });
  94. }, 50);
  95. $('#Logo1').show();
  96. $('#Logo1').addClass('scale').animate({ 'top': '236px', 'left': '90px' }, 1000, '', function () {
  97. setTimeout(function () {
  98. if (shake3) window.clearInterval(shake3);
  99. if (shake4) window.clearInterval(shake4);
  100. $("#maskloading").hide();
  101. $("#Logo2").hide();
  102. $("#Logo3").hide();
  103. $('#Logo1').hide();
  104. $('#content').hide();
  105. $("#p1_1").hide();
  106. $("#p1_2").hide();
  107. $('#p1_3').hide();
  108. $('#p1_4').show();
  109. $("#Logo2").css({ "left": "-295px" });
  110. $("#Logo3").css({ "left": "435px" });
  111. calculate();
  112. }, 500);
  113. });
  114. });
  115. });
  116. });
  117. page = 5;
  118. TScore = 0;
  119. nowLevelNo = 1;
  120. }
  121. function calculate() {
  122. var point = document.getElementById("score").innerHTML;
  123. level = document.getElementById("levelName").innerHTML;
  124. $("#result_score").html(point);
  125. do_submitScore(parseInt(point));
  126. }
  127. //根据NO来开始游戏
  128. function mkGameByNo() {
  129. showScore();
  130. //setCookie("lastLevelNo", nowLevelNo);
  131. if (nowLevelNo > levelCount - 1) {
  132. //setCookie("lastLevelNo", 1);
  133. alert("恭喜您,完成了全部关卡!");
  134. if (gameTimer) window.clearInterval(gameTimer);
  135. //playgame();
  136. $("#p1_1").hide();
  137. document.getElementById("main").style.overflow = "hidden";
  138. $("#p1_2").hide();
  139. $('#p1_3').hide();
  140. $('#p1_4').show();
  141. page = 5;
  142. calculate();
  143. }
  144. else {
  145. reline = 0;
  146. nowLevelNo = parseInt(nowLevelNo) + 1;
  147. $("#levelName").html(nowLevelNo);
  148. mkGame(gamesize, level2Arrayf(level2Array[nowLevelNo - 1]), reline);
  149. }
  150. }
  151. function level2Arrayf(levelstring) {
  152. var levelSplit = levelstring.split(";");
  153. var levelArray = [];
  154. for (var i = 0; i < levelSplit.length; i++) {
  155. levelArray[i] = levelSplit[i].split(",");
  156. }
  157. return levelArray;
  158. }
  159. function showScore() {
  160. if (levelScore >= 0)
  161. TScore += levelScore;
  162. $("#score").html(TScore);
  163. }
  164. function make_game1() {
  165. //pack_1_open = localStorage["pack_1_open"] || getCookie("pack_1_open") || 0;
  166. allLevels = $("#levels");
  167. var mainSLeft = $(".mainS")[0].offsetLeft;
  168. $.getJSON("data/new_levels.json", function (data) {
  169. flowjson = data;
  170. data.forEach(function (pack, packid) {
  171. //packComp.push(0);
  172. $("#pack_main").append("<a data-packid='" + packid + "' style='color:" + pack[0].color + "'>" +
  173. pack[0].name +
  174. "<h5></h5>" +
  175. "<span>" + pack[0].desc + "</span>" +
  176. "</a>"
  177. );
  178. });
  179. });
  180. }