spaceman.min.js 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693
  1. function main() {
  2. var e = {
  3. isShowClue1: !0,
  4. isFirstInGame: !1,
  5. init: function() {
  6. jsGame.canvas.screen.setWidth(e.width);
  7. jsGame.canvas.screen.setHeight(e.height);
  8. e.width < e.height && (e.clue = !0);
  9. 300 <= e.height ? e.isShowClue1 = !1 : e.isFirstInGame && (e.isFirstInGame = !1, e.isShowClue1 = !0)
  10. },
  11. initCanvas: function() {
  12. jsGame.canvas.screen.getTouch() ? (window.scrollTo(0, -5), e.height = 640, e.width = 480, jsGame.canvas.screen.setHeight(e.height), e.top = 0, e.left = 0) : (e.height = 640, e.width = 480, jsGame.canvas.screen.setHeight(e.height), jsGame.canvas.screen.setWidth(e.width), e.top = 0, e.left = (window.innerWidth - e.width) / 2);
  13. e.init();
  14. e.canvas = document.getElementById("jsGameScreen");
  15. e.ctx = e.canvas.getContext("2d")
  16. }
  17. };
  18. e.initCanvas();
  19. jsGame.initImage([{
  20. id: "a",
  21. src: "3.png"
  22. },
  23. {
  24. id: "h",
  25. src: "4.png"
  26. },
  27. {
  28. id: "chinese",
  29. src: "5.png"
  30. },
  31. {
  32. id: "english",
  33. src: "6.png"
  34. },
  35. {
  36. id: "fm",
  37. src: "1.jpg"
  38. },
  39. {
  40. id: "jianren",
  41. src: "7.png"
  42. },
  43. {
  44. id: "xue",
  45. src: "8.png"
  46. },
  47. {
  48. id: "bl1",
  49. src: "9.png"
  50. },
  51. {
  52. id: "bl2",
  53. src: "10.png"
  54. },
  55. {
  56. id: "han1",
  57. src: "11.png"
  58. },
  59. {
  60. id: "han2",
  61. src: "12.png"
  62. },
  63. {
  64. id: "sb",
  65. src: "13.png"
  66. },
  67. {
  68. id: "sz",
  69. src: "14.png"
  70. },
  71. {
  72. id: "start",
  73. src: "15.png"
  74. },
  75. {
  76. id: "startE",
  77. src: "16.png"
  78. },
  79. {
  80. id: "more",
  81. src: "17.png"
  82. },
  83. {
  84. id: "moreE",
  85. src: "18.png"
  86. },
  87. {
  88. id: "back",
  89. src: "19.png"
  90. },
  91. {
  92. id: "backE",
  93. src: "20.png"
  94. },
  95. {
  96. id: "retry",
  97. src: "21.png"
  98. },
  99. {
  100. id: "retryE",
  101. src: "22.png"
  102. },
  103. {
  104. id: "intro",
  105. src: "23.png"
  106. },
  107. {
  108. id: "score",
  109. src: "24.png"
  110. },
  111. {
  112. id: "scoreE",
  113. src: "25.png"
  114. },
  115. {
  116. id: "Hscore",
  117. src: "26.png"
  118. },
  119. {
  120. id: "HscoreE",
  121. src: "27.png"
  122. }]);
  123. jsGame.initImageCallBack(function(t, n) {
  124. if (t >= n) jsGame.gameFlow.run();
  125. else try {
  126. var r = t / n,
  127. r = 1 < r ? 1 : r;
  128. e.ctx.fillStyle = "#000000";
  129. e.ctx.fillRect(0, 0, e.width, e.height);
  130. e.ctx.drawImage(jsGame.getImage("a"), 0, 0, 250, 81, (e.width - 250) / 2, (e.height - 81) / 2, 250, 81);
  131. e.ctx.drawImage(jsGame.getImage("a"), 2, 86, 246 * r, 10, (e.width - 246) / 2, (e.height - 81) / 2 + 51, 246 * r, 10)
  132. } catch(i) {}
  133. });
  134. jsGame.pageLoad(function(t) {
  135. function n(e, n, r, i, s, o, u, a, f, l) {
  136. t.canvas.drawImage(e, n * i, r * s, i, s, o, u, a, f, l)
  137. }
  138. function r(e, t, n) {
  139. return t > e.x && n > e.y && t < e.x + e.w && n < e.y + e.h ? !0 : !1
  140. }
  141. function i(e) {
  142. D == L ? r(u, e.x, e.y) ? u.isPressed = !0 : r(a, e.x, e.y) && (a.isPressed = !0) : D == A ? r(f, e.x, e.y) ? f.isPressed = !0 : r(l, e.x, e.y) && (l.isPressed = !0) : D == O ? (B(), D = M) : D == M ? e.x >= t.canvas.screen.getWidth() / 2 ? v.jianren.state == p.jianRenStateType.normal && (v.jianren.index++, v.jianren.index >= v.wall.tiles.bottom.length && (v.jianren.index = 0), v.jianren.direction = p.jianRenDirection.right) : v.jianren.state == p.jianRenStateType.normal && (v.jianren.index--, 0 > v.jianren.index && (v.jianren.index = v.wall.tiles.bottom.length - 1), v.jianren.direction = p.jianRenDirection.left) : D == _ && (r(c, e.x, e.y) ? c.isPressed = !0 : r(h, e.x, e.y) && (h.isPressed = !0))
  143. }
  144. function s(e) {
  145. D == L ? (r(u, e.x, e.y) || (u.isPressed = !1), r(a, e.x, e.y) || (a.isPressed = !1)) : D == A ? (r(f, e.x, e.y) || (f.isPressed = !1), r(l, e.x, e.y) || (l.isPressed = !1)) : D == _ && (r(c, e.x, e.y) || (c.isPressed = !1), r(h, e.x, e.y) || (h.isPressed = !1))
  146. }
  147. function o(e) {
  148. D == L ? u.isPressed && r(u, e.x, e.y) ? (D = A, P = "CHS", t.localStorage.setItem("language2", P), u.isPressed = !1) : a.isPressed && r(a, e.x, e.y) && (D = A, P = "ENG", t.localStorage.setItem("language2", P), a.isPressed = !1) : D == A ? f.isPressed && r(f, e.x, e.y) ? (D = O, f.isPressed = !1) : l.isPressed && r(l, e.x, e.y) && (goHome(), l.isPressed = !1) : D == _ && (c.isPressed && r(c, e.x, e.y) ? (B(), D = M, c.isPressed = !1) : h.isPressed && r(h, e.x, e.y) && (D = A, h.isPressed = !1))
  149. }
  150. e.showClue = function() {
  151. window.scrollTo(0, -5);
  152. e.ctx.fillStyle = "#ffffff";
  153. e.ctx.fillRect(0, 0, window.innerWidth, window.innerHeight);
  154. t.canvas.drawImage("h", (window.innerWidth - 153) / 2, (window.innerHeight - 122) / 2)
  155. };
  156. var u = {
  157. x: (t.canvas.screen.getWidth() - 126) / 2,
  158. y: 180,
  159. w: 126,
  160. h: 35,
  161. isPressed: !1,
  162. draw: n
  163. },
  164. a = {
  165. x: (t.canvas.screen.getWidth() - 126) / 2,
  166. y: 260,
  167. w: 126,
  168. h: 35,
  169. isPressed: !1,
  170. draw: n
  171. },
  172. f = {
  173. x: (t.canvas.screen.getWidth() - 126) / 2,
  174. y: 420,
  175. w: 126,
  176. h: 35,
  177. isPressed: !1,
  178. draw: n
  179. },
  180. l = {
  181. x: (t.canvas.screen.getWidth() - 126) / 2,
  182. y: 500,
  183. w: 126,
  184. h: 35,
  185. isPressed: !1,
  186. draw: n
  187. },
  188. c = {
  189. x: (t.canvas.screen.getWidth() - 126) / 2,
  190. y: 420,
  191. w: 126,
  192. h: 35,
  193. isPressed: !1,
  194. draw: n
  195. },
  196. h = {
  197. x: (t.canvas.screen.getWidth() - 126) / 2,
  198. y: 500,
  199. w: 126,
  200. h: 35,
  201. isPressed: !1,
  202. draw: n
  203. },
  204. p = {
  205. jianRenStateType: {
  206. normal: 0,
  207. died: 1,
  208. stop: 2
  209. },
  210. jianRenDirection: {
  211. center: 0,
  212. left: 1,
  213. right: 2
  214. }
  215. },
  216. v = {
  217. baseY: 0,
  218. mission: 0,
  219. wall: {
  220. width: 30,
  221. topWallY: -150,
  222. bottomWallY: 0,
  223. timeout: 1e3,
  224. gapTimeout: 1e3,
  225. dropped: !1,
  226. tiles: {
  227. top: [],
  228. bottom: []
  229. }
  230. },
  231. jianren: {
  232. index: 0,
  233. y: 0,
  234. width: 30,
  235. height: 38,
  236. state: p.jianRenStateType.normal,
  237. direction: p.jianRenDirection.center,
  238. showAction: !1
  239. }
  240. },
  241. m,
  242. g,
  243. y,
  244. b,
  245. w,
  246. E,
  247. S = [20, 35, 50, 25],
  248. x,
  249. T = function(e) {
  250. if (0 < e) {
  251. switch (e) {
  252. case 10:
  253. y = 3;
  254. v.wall.timeout = 500;
  255. break;
  256. case 20:
  257. y = 2;
  258. v.wall.timeout = 350;
  259. break;
  260. case 30:
  261. y = 1;
  262. v.wall.timeout = 225;
  263. break;
  264. case 40:
  265. v.wall.timeout = 100;
  266. break;
  267. case 50:
  268. v.wall.timeout = 50
  269. }
  270. for (b = []; b.length < y;) if (w = t.commandFuns.getRandom(0, parseInt(t.canvas.screen.getWidth() / 2 / v.wall.width) - 1), 0 == b.length) b.push(w);
  271. else {
  272. E = !0;
  273. for (e = 0; e < b.length; e++) w == b[e] && (E = !1);
  274. E && b.push(w)
  275. }
  276. var n;
  277. v.wall.tiles.top = [];
  278. v.wall.tiles.bottom = [];
  279. for (e = 0; e < parseInt(t.canvas.screen.getWidth() / 2 / v.wall.width); e++) n = t.commandFuns.getRandom(220, 280),
  280. v.wall.tiles.top.push({
  281. height: n
  282. }),
  283. v.wall.tiles.bottom.push({
  284. height: t.canvas.screen.getHeight() - n
  285. });
  286. for (e = 0; e < b.length; e++) v.wall.tiles.top[b[e]].height -= S[t.commandFuns.getRandom(0, S.length - 1)]
  287. } else v.wall.tiles = {
  288. top: [{
  289. height: 250
  290. },
  291. {
  292. height: 250
  293. },
  294. {
  295. height: 250
  296. },
  297. {
  298. height: 250
  299. },
  300. {
  301. height: 215
  302. },
  303. {
  304. height: 250
  305. },
  306. {
  307. height: 250
  308. },
  309. {
  310. height: 250
  311. }],
  312. bottom: [{
  313. height: 70
  314. },
  315. {
  316. height: 70
  317. },
  318. {
  319. height: 70
  320. },
  321. {
  322. height: 70
  323. },
  324. {
  325. height: 70
  326. },
  327. {
  328. height: 70
  329. },
  330. {
  331. height: 70
  332. },
  333. {
  334. height: 70
  335. }]
  336. };
  337. m = [];
  338. for (e = 0; e < v.wall.tiles.top.length; e++) m.push({
  339. sx: e * v.wall.width,
  340. sy: v.baseY + v.wall.tiles.top[e].height,
  341. ex: (e + 1) * v.wall.width,
  342. ey: v.baseY + v.wall.tiles.top[e].height
  343. });
  344. g = [];
  345. for (e = 0; e < v.wall.tiles.bottom.length; e++) g.push({
  346. sx: e * v.wall.width,
  347. sy: v.baseY + t.canvas.screen.getHeight() - v.wall.tiles.bottom[e].height,
  348. ex: (e + 1) * v.wall.width,
  349. ey: v.baseY + t.canvas.screen.getHeight() - v.wall.tiles.bottom[e].height
  350. });
  351. v.wall.topWallY = -150;
  352. v.wall.bottomWallY = 0;
  353. v.wall.timeout = 1e3;
  354. v.wall.gapTimeout = 800;
  355. v.wall.dropped = !1;
  356. v.jianren.index = 4;
  357. v.jianren.y = 150;
  358. v.jianren.state = p.jianRenStateType.normal;
  359. v.jianren.showAction = !1;
  360. x = t.commandFuns.getRandom(0, 1)
  361. },
  362. N = 0,
  363. C,
  364. k,
  365. L = 5,
  366. A = 0,
  367. O = 1,
  368. M = 2,
  369. _ = 3,
  370. D = 0,
  371. P = "",
  372. H = 0,
  373. P = "CHS",
  374. D = null == P ? L: A,
  375. H = t.localStorage.getItem("highScore2");
  376. null == H && (H = 0);
  377. updateShareScore(H);
  378. var B = function() {
  379. N = 0;
  380. v.mission = 1;
  381. y = 3;
  382. v.jianren.direction = p.jianRenDirection.center;
  383. C = 0;
  384. k = 105;
  385. T(v.mission)
  386. },
  387. j = function() {
  388. t.canvas.drawImage("bl1", 0, 0, t.getImage("bl1").width, t.getImage("bl1").height, 0, 0, t.canvas.screen.getWidth(), t.canvas.screen.getHeight())
  389. },
  390. F = [],
  391. I = 0,
  392. q = [],
  393. R,
  394. U = 0,
  395. z = [{
  396. sx: 0,
  397. sy: 0
  398. },
  399. {
  400. sx: 30,
  401. sy: 0
  402. }],
  403. W = 0,
  404. X = [{
  405. sx: 60,
  406. sy: 0
  407. },
  408. {
  409. sx: 60,
  410. sy: 0
  411. },
  412. {
  413. sx: 90,
  414. sy: 0
  415. },
  416. {
  417. sx: 90,
  418. sy: 0
  419. },
  420. {
  421. sx: 120,
  422. sy: 0
  423. },
  424. {
  425. sx: 120,
  426. sy: 0
  427. },
  428. {
  429. sx: 150,
  430. sy: 0
  431. },
  432. {
  433. sx: 150,
  434. sy: 0
  435. },
  436. {
  437. sx: 180,
  438. sy: 0
  439. },
  440. {
  441. sx: 180,
  442. sy: 0
  443. }],
  444. V,
  445. $ = [0, 1],
  446. J = [2, 3],
  447. K = 0,
  448. Q = [{
  449. sx: 0,
  450. sy: 0
  451. },
  452. {
  453. sx: 30,
  454. sy: 0
  455. },
  456. {
  457. sx: 60,
  458. sy: 0
  459. },
  460. {
  461. sx: 90,
  462. sy: 0
  463. },
  464. {
  465. sx: 120,
  466. sy: 0
  467. }],
  468. G = 0,
  469. Y = function(e, n) {
  470. 6 > G ? (t.canvas.drawImage("han1", 20 * parseInt(G), 0, 20, 17, 2 * (e + 15), 2 * n, 40, 34), G += .5) : 12 > G && (t.canvas.drawImage("han2", 20 * parseInt(G - 6), 0, 20, 17, 2 * (e - 5), 2 * n, 40, 34), G += .5, G %= 12)
  471. },
  472. Z = [],
  473. et = [],
  474. tt,
  475. nt = function(e, n, r) {
  476. t.canvas.beginPath();
  477. t.canvas.lineWidth(2 * (n + 2)).strokeStyle("#000000");
  478. for (var i = 0; i < e.length; i++) 0 == i ? t.canvas.moveTo(2 * e[i].sx, 2 * (r + e[i].sy)) : t.canvas.lineTo(2 * e[i].sx, 2 * (r + e[i].sy)),
  479. t.canvas.lineTo(2 * e[i].ex, 2 * (r + e[i].ey));
  480. t.canvas.stroke();
  481. t.canvas.lineWidth(2 * n).strokeStyle("#00FF00");
  482. for (i = 0; i < e.length; i++) 0 == i ? t.canvas.moveTo(2 * e[i].sx, 2 * (r + e[i].sy)) : t.canvas.lineTo(2 * e[i].sx, 2 * (r + e[i].sy)),
  483. t.canvas.lineTo(2 * e[i].ex, 2 * (r + e[i].ey));
  484. t.canvas.stroke().closePath().lineWidth(2)
  485. },
  486. rt = 0,
  487. it = {
  488. x: 0,
  489. y: 0
  490. };
  491. t.events.touchStart(function(e) {
  492. it = {
  493. x: e.touches[0].clientX,
  494. y: e.touches[0].clientY
  495. };
  496. i(it)
  497. }).touchMove(function(e) {
  498. it = {
  499. x: e.touches[0].clientX,
  500. y: e.touches[0].clientY
  501. };
  502. s(it)
  503. }).touchEnd(function(e) {
  504. o(it)
  505. }).mouseMove(function(t) {
  506. it = {
  507. x: t.clientX - e.left,
  508. y: t.clientY - e.top
  509. };
  510. s(it)
  511. }).mouseDown(function(t) {
  512. it = {
  513. x: t.clientX - e.left,
  514. y: t.clientY - e.top
  515. };
  516. i(it)
  517. }).mouseUp(function(t) {
  518. it = {
  519. x: t.clientX - e.left,
  520. y: t.clientY - e.top
  521. };
  522. o(it)
  523. });
  524. var st = !1;
  525. t.run(function() {
  526. window.scrollTo(0, -5);
  527. if (window.innerHeight < window.innerWidth && jsGame.canvas.screen.getTouch()) e.showClue(),
  528. st = !0;
  529. else if (st && (st = !1), D == L) e.ctx.fillStyle = "#000000",
  530. e.ctx.fillRect(0, 0, e.width, e.height),
  531. u.draw("chinese", 0, u.isPressed ? 1 : 0, u.w, u.h, u.x, u.y, u.w, u.h),
  532. a.draw("english", 0, a.isPressed ? 1 : 0, a.w, a.h, a.x, a.y, a.w, a.h);
  533. else if (D == A) {
  534. e.ctx.fillStyle = "#000000";
  535. e.ctx.fillRect(0, 0, e.width, e.height);
  536. var n = t.canvas.screen.getWidth() / t.getImage("fm").width;
  537. t.canvas.drawImage("fm", 0, 0, t.getImage("fm").width, t.getImage("fm").height, 0, 0, t.getImage("fm").width * n, t.getImage("fm").height * n);
  538. "ENG" == P ? (f.draw("startE", 0, f.isPressed ? 1 : 0, f.w, f.h, f.x, f.y, f.w, f.h), l.draw("moreE", 0, l.isPressed ? 1 : 0, l.w, l.h, l.x, l.y, l.w, l.h)) : (f.draw("start", 0, f.isPressed ? 1 : 0, f.w, f.h, f.x, f.y, f.w, f.h), l.draw("more", 0, l.isPressed ? 1 : 0, l.w, l.h, l.x, l.y, l.w, l.h))
  539. } else if (D == O) j(),
  540. t.canvas.drawImage("intro", (t.canvas.screen.getWidth() - t.getImage("intro").width) / 2, 60);
  541. else if (D == _) {
  542. j();
  543. t.canvas.drawImage("jianren", parseInt(C) * v.jianren.width, 2 * v.jianren.height, v.jianren.width, v.jianren.height, k, 30, 2 * v.jianren.width, 2 * v.jianren.height);
  544. C += .2;
  545. C %= 2;
  546. 260 == k ? rt = 1 : 80 == k && (rt = 0);
  547. k = 0 == rt ? k + 1 : k - 1;
  548. var r = t.getImage("sb"),
  549. n = r.width,
  550. r = r.height,
  551. n = parseInt((t.canvas.screen.getWidth() - n) / 2),
  552. r = parseInt((t.canvas.screen.getHeight() - r) / 2) - 40;
  553. t.canvas.drawImage("sb", n, r);
  554. "ENG" == P ? (t.canvas.drawImage("scoreE", n + 30, r + 200).drawNumber(v.mission, "sz", 8, 15, n + 84, r + 202, !1), t.canvas.drawImage("HscoreE", n + 30, r + 170).drawNumber(H, "sz", 8, 15, n + 124, r + 172, !1), c.draw("retryE", 0, c.isPressed ? 1 : 0, c.w, c.h, c.x, c.y, c.w, c.h), h.draw("backE", 0, h.isPressed ? 1 : 0, h.w, h.h, h.x, h.y, h.w, h.h)) : (t.canvas.drawImage("score", n + 30, r + 200).drawNumber(v.mission, "sz", 8, 15, n + 84, r + 202, !1), t.canvas.drawImage("Hscore", n + 30, r + 170).drawNumber(H, "sz", 8, 15, n + 124, r + 172, !1), c.draw("retry", 0, c.isPressed ? 1 : 0, c.w, c.h, c.x, c.y, c.w, c.h), h.draw("back", 0, h.isPressed ? 1 : 0, h.w, h.h, h.x, h.y, h.w, h.h))
  555. } else if (4 == D)"ENG" == P ? t.canvas.drawImage("isexitE", (t.canvas.screen.getWidth() - t.getImage("isexit").width) / 2, 300) : t.canvas.drawImage("isexit", (t.canvas.screen.getWidth() - t.getImage("isexit").width) / 2, 300);
  556. else if (D == M) switch (N) {
  557. case 0:
  558. N = 1;
  559. break;
  560. case 1:
  561. t.canvas.clearScreen();
  562. j();
  563. F = v.wall.tiles.top;
  564. t.canvas.fillStyle("#333333");
  565. for (n = 0; n < F.length; n++) t.canvas.drawImage("bl2", n * v.wall.width, 0, v.wall.width, F[n].height, n * v.wall.width * 2, 2 * (v.baseY + v.wall.topWallY), 2 * v.wall.width, 2 * F[n].height);
  566. nt(m, 2, v.wall.topWallY); - 150 >= v.wall.topWallY && 0 == v.mission && (I++, I %= 2);
  567. q = v.wall.tiles.bottom;
  568. t.canvas.fillStyle("#000000");
  569. for (n = 0; n < q.length; n++) t.canvas.fillRect(n * v.wall.width * 2, 2 * (v.baseY + t.canvas.screen.getHeight() - q[n].height + v.wall.bottomWallY), 2 * v.wall.width, 2 * q[n].height);
  570. nt(g, 2, v.wall.bottomWallY);
  571. R = v.baseY + t.canvas.screen.getHeight() - v.wall.tiles.bottom[v.jianren.index].height - v.jianren.height;
  572. if (v.jianren.y < R) R = v.jianren.y - v.jianren.height,
  573. v.jianren.y += 10,
  574. t.canvas.drawImage("jianren", z[U].sx, z[U].sy, v.jianren.width, v.jianren.height, 2 * (v.jianren.index * v.wall.width + parseInt((v.wall.width - v.jianren.width) / 2)), 2 * R, 2 * v.jianren.width, 2 * v.jianren.height),
  575. Y(v.jianren.index * v.wall.width + parseInt((v.wall.width - v.jianren.width) / 2), R),
  576. U++,
  577. U %= z.length;
  578. else if (v.jianren.showAction) if (v.jianren.state != p.jianRenStateType.died) switch (V = t.canvas.screen.getHeight() - (v.wall.tiles.top[v.jianren.index].height + v.wall.tiles.bottom[v.jianren.index].height), V) {
  579. case S[0]:
  580. t.canvas.drawImage("jianren", $[x] * v.jianren.width, v.jianren.height, v.jianren.width, v.jianren.height, 2 * (v.jianren.index * v.wall.width + parseInt((v.wall.width - v.jianren.width) / 2)), 2 * R, 2 * v.jianren.width, 2 * v.jianren.height);
  581. Y(v.jianren.index * v.wall.width + parseInt((v.wall.width - v.jianren.width) / 2), R + 10);
  582. break;
  583. case S[1]:
  584. t.canvas.drawImage("jianren", J[x] * v.jianren.width, v.jianren.height, v.jianren.width, v.jianren.height, 2 * (v.jianren.index * v.wall.width + parseInt((v.wall.width - v.jianren.width) / 2)), 2 * R, 2 * v.jianren.width, 2 * v.jianren.height);
  585. Y(v.jianren.index * v.wall.width + parseInt((v.wall.width - v.jianren.width) / 2), R);
  586. break;
  587. case S[2]:
  588. t.canvas.drawImage("jianren", X[W].sx, X[W].sy, v.jianren.width, v.jianren.height, 2 * (v.jianren.index * v.wall.width + parseInt((v.wall.width - v.jianren.width) / 2)), 2 * R, 2 * v.jianren.width, 2 * v.jianren.height);
  589. W++;
  590. W %= X.length;
  591. break;
  592. case S[3]:
  593. t.canvas.drawImage("jianren", 7 * v.jianren.width, 0, v.jianren.width, v.jianren.height, 2 * (v.jianren.index * v.wall.width + parseInt((v.wall.width - v.jianren.width) / 2)), 2 * R, 2 * v.jianren.width, 2 * v.jianren.height),
  594. Y(v.jianren.index * v.wall.width + parseInt((v.wall.width - v.jianren.width) / 2), R)
  595. } else t.canvas.drawImage("xue", Q[K].sx, Q[K].sy, 30, 30, 2 * (v.jianren.index * v.wall.width + parseInt((v.wall.width - v.jianren.width) / 2)), 2 * (v.baseY + t.canvas.screen.getHeight() - v.wall.tiles.bottom[v.jianren.index].height) + 2, 60, 60),
  596. K < Q.length - 1 && K++;
  597. else switch (v.jianren.direction) {
  598. case p.jianRenDirection.center:
  599. t.canvas.drawImage("jianren", X[W].sx, X[W].sy, v.jianren.width, v.jianren.height, 2 * (v.jianren.index * v.wall.width + parseInt((v.wall.width - v.jianren.width) / 2)), 2 * R, 2 * v.jianren.width, 2 * v.jianren.height);
  600. W++;
  601. W %= X.length;
  602. break;
  603. case p.jianRenDirection.left:
  604. t.canvas.drawImage("jianren", (v.jianren.y < R ? 7 : 5) * v.jianren.width, v.jianren.height, v.jianren.width, v.jianren.height, 2 * (v.jianren.index * v.wall.width + parseInt((v.wall.width - v.jianren.width) / 2)), 2 * R, 2 * v.jianren.width, 2 * v.jianren.height);
  605. break;
  606. case p.jianRenDirection.right:
  607. t.canvas.drawImage("jianren", (v.jianren.y < R ? 6 : 4) * v.jianren.width, v.jianren.height, v.jianren.width, v.jianren.height, 2 * (v.jianren.index * v.wall.width + parseInt((v.wall.width - v.jianren.width) / 2)), 2 * R, 2 * v.jianren.width, 2 * v.jianren.height)
  608. }
  609. "ENG" == P ? (t.canvas.fillStyle("#000000").fillRect(0, 624, t.canvas.screen.getWidth(), 2).drawImage("scoreE", 360, 5).drawNumber(v.mission, "sz", 8, 15, 435, 5, !1), t.canvas.drawImage("HscoreE", 2, 5).drawNumber(H, "sz", 8, 15, 120, 5, !1)) : (t.canvas.fillStyle("#000000").fillRect(0, 624, t.canvas.screen.getWidth(), 2).drawImage("score", 360, 5).drawNumber(v.mission, "sz", 8, 15, 435, 5, !1), t.canvas.drawImage("Hscore", 2, 5).drawNumber(H, "sz", 8, 15, 120, 5, !1));
  610. 0 < Z.length ? v.wall.topWallY += Z.shift().y: (0 < et.length && (tt = et.shift(), v.wall.topWallY += tt.y, v.wall.bottomWallY += tt.y), v.wall.dropped && (v.jianren.showAction = !0));
  611. 0 < v.wall.timeout ? v.wall.timeout -= 50 : v.wall.dropped ? (0 == Z.length && (v.jianren.state = p.jianRenStateType.stop), 0 == et.length && (n = v.jianren.index, v.wall.tiles.top[n].height + v.wall.tiles.bottom[n].height >= t.canvas.screen.getHeight() && (v.jianren.state = p.jianRenStateType.died), 0 < v.wall.gapTimeout ? v.wall.gapTimeout -= 50 : v.jianren.state != p.jianRenStateType.died ? T(++v.mission) : N = 2)) : (0 == Z.length && (K = 0, Z = [{
  612. y: -2
  613. },
  614. {
  615. y: 2
  616. },
  617. {
  618. y: -2
  619. },
  620. {
  621. y: 2
  622. },
  623. {
  624. y: -2
  625. },
  626. {
  627. y: 2
  628. },
  629. {
  630. y: -2
  631. },
  632. {
  633. y: 2
  634. },
  635. {
  636. y: -2
  637. },
  638. {
  639. y: 2
  640. },
  641. {
  642. y: 0
  643. },
  644. {
  645. y: 10
  646. },
  647. {
  648. y: 15
  649. },
  650. {
  651. y: 25
  652. },
  653. {
  654. y: 25
  655. },
  656. {
  657. y: 30
  658. },
  659. {
  660. y: 45
  661. }]), 0 == et.length && (et = [{
  662. y: -2
  663. },
  664. {
  665. y: 2
  666. },
  667. {
  668. y: -2
  669. },
  670. {
  671. y: 2
  672. },
  673. {
  674. y: -2
  675. },
  676. {
  677. y: 2
  678. },
  679. {
  680. y: 0
  681. }]), v.wall.dropped = !0);
  682. t.keyPressed("a") && !v.wall.dropped && (v.wall.timeout = 0);
  683. t.keyPressed("left") && v.jianren.state == p.jianRenStateType.normal ? (v.jianren.index--, 0 > v.jianren.index && (v.jianren.index = v.wall.tiles.bottom.length - 1), v.jianren.direction = p.jianRenDirection.left) : t.keyPressed("right") && v.jianren.state == p.jianRenStateType.normal ? (v.jianren.index++, v.jianren.index >= v.wall.tiles.bottom.length && (v.jianren.index = 0), v.jianren.direction = p.jianRenDirection.right) : v.jianren.direction = p.jianRenDirection.center;
  684. t.keyPressed("menu") && (H < v.mission && (H = v.mission, t.localStorage.setItem("highScore2", H)), t.gameFlow.stop());
  685. break;
  686. case 2:
  687. H < v.mission && (play68_submitScore(v.mission), H = v.mission, t.localStorage.setItem("highScore2", H)),
  688. t.gameFlow.stop(),
  689. D = _
  690. }
  691. })
  692. })
  693. }