Score.java
上传用户:fanyfs
上传日期:2019-04-01
资源大小:145k
文件大小:24k
源码类别:

游戏

开发平台:

Java

  1. import javax.microedition.rms.RecordStore;
  2. import javax.microedition.rms.RecordStoreException;
  3. public class Score {
  4. int score[] = { 1000, 1000, 1000, 1000 };
  5. int s_per[][];// 每局得分
  6. int score0 = 0;// 本家合计分数
  7. String s_score;
  8. byte bs[];
  9. // 存储4个玩家分数的方法
  10. public Score() {
  11. s_per = new int[2][4];// 初始化数组
  12. // 第1行表示该局分数
  13. // 第2行表示正负1表示正0表示负
  14. }
  15. // 分数计算的方法
  16. // 如果采用台湾或者国际麻将 可以修改此方法
  17. // 本方法根据 1 2 4加点炮规则算分
  18. public void scoreZhuang11(int zhuang) {
  19. switch (zhuang) {
  20. case 0:
  21. s_per[0][0] = 12;// 每个人的分数
  22. s_per[1][0] = 1;
  23. s_per[0][1] = 4;
  24. s_per[1][1] = 0;
  25. s_per[0][2] = 4;
  26. s_per[1][2] = 0;
  27. s_per[0][3] = 4;
  28. s_per[1][3] = 0;
  29. score0 += 12;// 本家合计分数
  30. // 4家分数的计算
  31. score[0] += 12;
  32. score[1] -= 4;
  33. score[2] -= 4;
  34. score[3] -= 4;
  35. break;
  36. case 1:
  37. s_per[0][0] = 8;// 每个人的分数
  38. s_per[1][0] = 1;
  39. s_per[0][1] = 4;
  40. s_per[1][1] = 0;
  41. s_per[0][2] = 2;
  42. s_per[1][2] = 0;
  43. s_per[0][3] = 2;
  44. s_per[1][3] = 0;
  45. score0 += 8;// 本家合计分数
  46. // 4家分数的计算
  47. score[0] += 8;
  48. score[1] -= 4;
  49. score[2] -= 2;
  50. score[3] -= 2;
  51. break;
  52. case 2:
  53. s_per[0][0] = 8;// 每个人的分数
  54. s_per[1][0] = 1;
  55. s_per[0][1] = 2;
  56. s_per[1][1] = 0;
  57. s_per[0][2] = 4;
  58. s_per[1][2] = 0;
  59. s_per[0][3] = 2;
  60. s_per[1][3] = 0;
  61. score0 += 8;// 本家合计分数
  62. // 4家分数的计算
  63. score[0] += 8;
  64. score[1] -= 2;
  65. score[2] -= 4;
  66. score[3] -= 2;
  67. break;
  68. case 3:
  69. s_per[0][0] = 8;// 每个人的分数
  70. s_per[1][0] = 1;
  71. s_per[0][1] = 2;
  72. s_per[1][1] = 0;
  73. s_per[0][2] = 2;
  74. s_per[1][2] = 0;
  75. s_per[0][3] = 4;
  76. s_per[1][3] = 0;
  77. score0 += 8;// 本家合计分数
  78. // 4家分数的计算
  79. score[0] += 8;
  80. score[1] -= 2;
  81. score[2] -= 2;
  82. score[3] -= 4;
  83. break;
  84. }
  85. }
  86. public void scoreZhuang12(int zhuang) {
  87. switch (zhuang) {
  88. case 0:
  89. s_per[0][0] = 4;// 每个人的分数
  90. s_per[1][0] = 1;
  91. s_per[0][1] = 4;
  92. s_per[1][1] = 0;
  93. s_per[0][2] = 0;
  94. s_per[1][2] = 0;
  95. s_per[0][3] = 0;
  96. s_per[1][3] = 0;
  97. score0 += 4;// 本家合计分数
  98. // 4家分数的计算
  99. score[0] += 4;
  100. score[1] -= 4;
  101. score[2] -= 0;
  102. score[3] -= 0;
  103. break;
  104. case 1:
  105. s_per[0][0] = 4;// 每个人的分数
  106. s_per[1][0] = 1;
  107. s_per[0][1] = 4;
  108. s_per[1][1] = 0;
  109. s_per[0][2] = 0;
  110. s_per[1][2] = 0;
  111. s_per[0][3] = 0;
  112. s_per[1][3] = 0;
  113. score0 += 4;// 本家合计分数
  114. // 4家分数的计算
  115. score[0] += 4;
  116. score[1] -= 4;
  117. score[2] -= 0;
  118. score[3] -= 0;
  119. break;
  120. case 2:
  121. s_per[0][0] = 2;// 每个人的分数
  122. s_per[1][0] = 1;
  123. s_per[0][1] = 2;
  124. s_per[1][1] = 0;
  125. s_per[0][2] = 0;
  126. s_per[1][2] = 0;
  127. s_per[0][3] = 0;
  128. s_per[1][3] = 0;
  129. score0 += 2;// 本家合计分数
  130. // 4家分数的计算
  131. score[0] += 2;
  132. score[1] -= 2;
  133. score[2] -= 0;
  134. score[3] -= 0;
  135. break;
  136. case 3:
  137. s_per[0][0] = 2;// 每个人的分数
  138. s_per[1][0] = 1;
  139. s_per[0][1] = 2;
  140. s_per[1][1] = 0;
  141. s_per[0][2] = 0;
  142. s_per[1][2] = 0;
  143. s_per[0][3] = 0;
  144. s_per[1][3] = 0;
  145. score0 += 2;// 本家合计分数
  146. // 4家分数的计算
  147. score[0] += 2;
  148. score[1] -= 2;
  149. score[2] -= 0;
  150. score[3] -= 0;
  151. break;
  152. }
  153. }
  154. public void scoreZhuang13(int zhuang) {
  155. switch (zhuang) {
  156. case 0:
  157. s_per[0][0] = 4;// 每个人的分数
  158. s_per[1][0] = 1;
  159. s_per[0][1] = 0;
  160. s_per[1][1] = 0;
  161. s_per[0][2] = 4;
  162. s_per[1][2] = 0;
  163. s_per[0][3] = 0;
  164. s_per[1][3] = 0;
  165. score0 += 4;// 本家合计分数
  166. // 4家分数的计算
  167. score[0] += 4;
  168. score[2] -= 4;
  169. break;
  170. case 1:
  171. s_per[0][0] = 2;// 每个人的分数
  172. s_per[1][0] = 1;
  173. s_per[0][1] = 0;
  174. s_per[1][1] = 0;
  175. s_per[0][2] = 2;
  176. s_per[1][2] = 0;
  177. s_per[0][3] = 0;
  178. s_per[1][3] = 0;
  179. score0 += 2;// 本家合计分数
  180. // 4家分数的计算
  181. score[0] += 2;
  182. score[1] -= 0;
  183. score[2] -= 2;
  184. score[3] -= 0;
  185. break;
  186. case 2:
  187. s_per[0][0] = 4;// 每个人的分数
  188. s_per[1][0] = 1;
  189. s_per[0][1] = 0;
  190. s_per[1][1] = 0;
  191. s_per[0][2] = 4;
  192. s_per[1][2] = 0;
  193. s_per[0][3] = 0;
  194. s_per[1][3] = 0;
  195. score0 += 4;// 本家合计分数
  196. // 4家分数的计算
  197. score[0] += 4;
  198. score[2] -= 4;
  199. break;
  200. case 3:
  201. s_per[0][0] = 2;// 每个人的分数
  202. s_per[1][0] = 1;
  203. s_per[0][1] = 0;
  204. s_per[1][1] = 0;
  205. s_per[0][2] = 2;
  206. s_per[1][2] = 0;
  207. s_per[0][3] = 0;
  208. s_per[1][3] = 0;
  209. score0 += 2;// 本家合计分数
  210. // 4家分数的计算
  211. score[0] += 2;
  212. score[2] -= 2;
  213. break;
  214. }
  215. }
  216. public void scoreZhuang14(int zhuang) {
  217. switch (zhuang) {
  218. case 0:
  219. s_per[0][0] = 4;// 每个人的分数
  220. s_per[1][0] = 1;
  221. s_per[0][1] = 0;
  222. s_per[1][1] = 0;
  223. s_per[0][2] = 0;
  224. s_per[1][2] = 0;
  225. s_per[0][3] = 4;
  226. s_per[1][3] = 0;
  227. score0 += 4;// 本家合计分数
  228. // 4家分数的计算
  229. score[0] += 4;
  230. score[3] -= 4;
  231. break;
  232. case 1:
  233. s_per[0][0] = 2;// 每个人的分数
  234. s_per[1][0] = 1;
  235. s_per[0][1] = 0;
  236. s_per[1][1] = 0;
  237. s_per[0][2] = 0;
  238. s_per[1][2] = 0;
  239. s_per[0][3] = 2;
  240. s_per[1][3] = 0;
  241. score0 += 2;// 本家合计分数
  242. // 4家分数的计算
  243. score[0] += 2;
  244. score[3] -= 2;
  245. break;
  246. case 2:
  247. s_per[0][0] = 2;// 每个人的分数
  248. s_per[1][0] = 1;
  249. s_per[0][1] = 0;
  250. s_per[1][1] = 0;
  251. s_per[0][2] = 0;
  252. s_per[1][2] = 0;
  253. s_per[0][3] = 2;
  254. s_per[1][3] = 0;
  255. score0 += 2;// 本家合计分数
  256. // 4家分数的计算
  257. score[0] += 2;
  258. score[3] -= 2;
  259. break;
  260. case 3:
  261. s_per[0][0] = 4;// 每个人的分数
  262. s_per[1][0] = 1;
  263. s_per[0][1] = 0;
  264. s_per[1][1] = 0;
  265. s_per[0][2] = 0;
  266. s_per[1][2] = 0;
  267. s_per[0][3] = 4;
  268. s_per[1][3] = 0;
  269. score0 += 4;// 本家合计分数
  270. // 4家分数的计算
  271. score[0] += 4;
  272. score[3] -= 4;
  273. break;
  274. }
  275. }
  276. public void scoreFP1(int FP, int zhuang) {
  277. switch (FP) {
  278. case 0:// 自摸
  279. scoreZhuang11(zhuang);
  280. break;
  281. case 1:
  282. scoreZhuang12(zhuang);
  283. break;
  284. case 2:
  285. scoreZhuang13(zhuang);
  286. break;
  287. case 3:
  288. scoreZhuang14(zhuang);
  289. break;
  290. }
  291. }
  292. public void scoreZhuang21(int zhuang) {
  293. switch (zhuang) {
  294. case 0:
  295. s_per[0][0] = 4;// 每个人的分数
  296. s_per[1][0] = 0;
  297. s_per[0][1] = 4;
  298. s_per[1][1] = 1;
  299. s_per[0][2] = 0;
  300. s_per[1][2] = 0;
  301. s_per[0][3] = 0;
  302. s_per[1][3] = 0;
  303. score0 -= 4;// 本家合计分数
  304. // 4家分数的计算
  305. score[0] -= 4;
  306. score[1] += 4;
  307. break;
  308. case 1:
  309. s_per[0][0] = 4;// 每个人的分数
  310. s_per[1][0] = 0;
  311. s_per[0][1] = 4;
  312. s_per[1][1] = 1;
  313. s_per[0][2] = 0;
  314. s_per[1][2] = 0;
  315. s_per[0][3] = 0;
  316. s_per[1][3] = 0;
  317. score0 -= 4;// 本家合计分数
  318. // 4家分数的计算
  319. score[0] -= 4;
  320. score[1] += 4;
  321. break;
  322. case 2:
  323. s_per[0][0] = 2;// 每个人的分数
  324. s_per[1][0] = 0;
  325. s_per[0][1] = 2;
  326. s_per[1][1] = 1;
  327. s_per[0][2] = 0;
  328. s_per[1][2] = 0;
  329. s_per[0][3] = 0;
  330. s_per[1][3] = 0;
  331. score0 -= 2;// 本家合计分数
  332. // 4家分数的计算
  333. score[0] -= 2;
  334. score[1] += 2;
  335. break;
  336. case 3:
  337. s_per[0][0] = 2;// 每个人的分数
  338. s_per[1][0] = 0;
  339. s_per[0][1] = 2;
  340. s_per[1][1] = 1;
  341. s_per[0][2] = 0;
  342. s_per[1][2] = 0;
  343. s_per[0][3] = 0;
  344. s_per[1][3] = 0;
  345. score0 -= 2;// 本家合计分数
  346. // 4家分数的计算
  347. score[0] -= 2;
  348. score[1] += 2;
  349. break;
  350. }
  351. }
  352. public void scoreZhuang22(int zhuang) {
  353. switch (zhuang) {
  354. case 0:
  355. s_per[0][0] = 4;// 每个人的分数
  356. s_per[1][0] = 0;
  357. s_per[0][1] = 8;
  358. s_per[1][1] = 1;
  359. s_per[0][2] = 2;
  360. s_per[1][2] = 0;
  361. s_per[0][3] = 2;
  362. s_per[1][3] = 0;
  363. score0 -= 4;// 本家合计分数
  364. // 4家分数的计算
  365. score[0] -= 4;
  366. score[1] += 8;
  367. score[2] -= 2;
  368. score[3] -= 2;
  369. break;
  370. case 1:
  371. s_per[0][0] = 4;// 每个人的分数
  372. s_per[1][0] = 0;
  373. s_per[0][1] = 12;
  374. s_per[1][1] = 1;
  375. s_per[0][2] = 4;
  376. s_per[1][2] = 0;
  377. s_per[0][3] = 4;
  378. s_per[1][3] = 0;
  379. score0 -= 4;// 本家合计分数
  380. // 4家分数的计算
  381. score[0] -= 4;
  382. score[1] += 12;
  383. score[2] -= 4;
  384. score[3] -= 4;
  385. break;
  386. case 2:
  387. s_per[0][0] = 2;// 每个人的分数
  388. s_per[1][0] = 0;
  389. s_per[0][1] = 8;
  390. s_per[1][1] = 1;
  391. s_per[0][2] = 4;
  392. s_per[1][2] = 0;
  393. s_per[0][3] = 2;
  394. s_per[1][3] = 0;
  395. score0 -= 2;// 本家合计分数
  396. // 4家分数的计算
  397. score[0] -= 2;
  398. score[1] += 8;
  399. score[2] -= 4;
  400. score[3] -= 2;
  401. break;
  402. case 3:
  403. s_per[0][0] = 2;// 每个人的分数
  404. s_per[1][0] = 0;
  405. s_per[0][1] = 8;
  406. s_per[1][1] = 1;
  407. s_per[0][2] = 2;
  408. s_per[1][2] = 0;
  409. s_per[0][3] = 4;
  410. s_per[1][3] = 0;
  411. score0 -= 2;// 本家合计分数
  412. // 4家分数的计算
  413. score[0] -= 2;
  414. score[1] += 8;
  415. score[2] -= 2;
  416. score[3] -= 4;
  417. break;
  418. }
  419. }
  420. public void scoreZhuang23(int zhuang) {
  421. switch (zhuang) {
  422. case 0:
  423. s_per[0][0] = 0;// 每个人的分数
  424. s_per[1][0] = 0;
  425. s_per[0][1] = 2;
  426. s_per[1][1] = 1;
  427. s_per[0][2] = 2;
  428. s_per[1][2] = 0;
  429. s_per[0][3] = 0;
  430. s_per[1][3] = 0;
  431. // 4家分数的计算
  432. score[0] -= 0;
  433. score[1] += 2;
  434. score[2] -= 2;
  435. score[3] -= 0;
  436. break;
  437. case 1:
  438. s_per[0][0] = 0;// 每个人的分数
  439. s_per[1][0] = 0;
  440. s_per[0][1] = 4;
  441. s_per[1][1] = 1;
  442. s_per[0][2] = 4;
  443. s_per[1][2] = 0;
  444. s_per[0][3] = 0;
  445. s_per[1][3] = 0;
  446. // 4家分数的计算
  447. score[0] -= 0;
  448. score[1] += 4;
  449. score[2] -= 4;
  450. score[3] -= 0;
  451. break;
  452. case 2:
  453. s_per[0][0] = 0;// 每个人的分数
  454. s_per[1][0] = 0;
  455. s_per[0][1] = 4;
  456. s_per[1][1] = 1;
  457. s_per[0][2] = 4;
  458. s_per[1][2] = 0;
  459. s_per[0][3] = 0;
  460. s_per[1][3] = 0;
  461. // 4家分数的计算
  462. score[0] -= 0;
  463. score[1] += 4;
  464. score[2] -= 4;
  465. score[3] -= 0;
  466. break;
  467. case 3:
  468. s_per[0][0] = 0;// 每个人的分数
  469. s_per[1][0] = 0;
  470. s_per[0][1] = 2;
  471. s_per[1][1] = 1;
  472. s_per[0][2] = 2;
  473. s_per[1][2] = 0;
  474. s_per[0][3] = 0;
  475. s_per[1][3] = 0;
  476. // 4家分数的计算
  477. score[0] -= 0;
  478. score[1] += 2;
  479. score[2] -= 2;
  480. score[3] -= 0;
  481. break;
  482. }
  483. }
  484. public void scoreZhuang24(int zhuang) {
  485. switch (zhuang) {
  486. case 0:
  487. s_per[0][0] = 0;// 每个人的分数
  488. s_per[1][0] = 0;
  489. s_per[0][1] = 2;
  490. s_per[1][1] = 1;
  491. s_per[0][2] = 0;
  492. s_per[1][2] = 0;
  493. s_per[0][3] = 2;
  494. s_per[1][3] = 0;
  495. // 4家分数的计算
  496. score[0] -= 0;
  497. score[1] += 2;
  498. score[2] -= 0;
  499. score[3] -= 2;
  500. break;
  501. case 1:
  502. s_per[0][0] = 0;// 每个人的分数
  503. s_per[1][0] = 0;
  504. s_per[0][1] = 4;
  505. s_per[1][1] = 1;
  506. s_per[0][2] = 0;
  507. s_per[1][2] = 0;
  508. s_per[0][3] = 4;
  509. s_per[1][3] = 0;
  510. // 4家分数的计算
  511. score[0] -= 0;
  512. score[1] += 4;
  513. score[2] -= 0;
  514. score[3] -= 4;
  515. break;
  516. case 2:
  517. s_per[0][0] = 0;// 每个人的分数
  518. s_per[1][0] = 0;
  519. s_per[0][1] = 2;
  520. s_per[1][1] = 1;
  521. s_per[0][2] = 0;
  522. s_per[1][2] = 0;
  523. s_per[0][3] = 2;
  524. s_per[1][3] = 0;
  525. // 4家分数的计算
  526. score[0] -= 0;
  527. score[1] += 2;
  528. score[2] -= 0;
  529. score[3] -= 2;
  530. break;
  531. case 3:
  532. s_per[0][0] = 0;// 每个人的分数
  533. s_per[1][0] = 0;
  534. s_per[0][1] = 4;
  535. s_per[1][1] = 1;
  536. s_per[0][2] = 0;
  537. s_per[1][2] = 0;
  538. s_per[0][3] = 4;
  539. s_per[1][3] = 0;
  540. // 4家分数的计算
  541. score[0] -= 0;
  542. score[1] += 4;
  543. score[2] -= 0;
  544. score[3] -= 4;
  545. break;
  546. }
  547. }
  548. public void scoreFP2(int FP, int zhuang) {
  549. switch (FP) {
  550. case 0:
  551. scoreZhuang21(zhuang);
  552. break;
  553. case 1:// 自摸
  554. scoreZhuang22(zhuang);
  555. break;
  556. case 2:
  557. scoreZhuang23(zhuang);
  558. break;
  559. case 3:
  560. scoreZhuang24(zhuang);
  561. break;
  562. }
  563. }
  564. public void scoreZhuang31(int zhuang) {
  565. switch (zhuang) {
  566. case 0:
  567. s_per[0][0] = 4;// 每个人的分数
  568. s_per[1][0] = 0;
  569. s_per[0][1] = 0;
  570. s_per[1][1] = 0;
  571. s_per[0][2] = 4;
  572. s_per[1][2] = 1;
  573. s_per[0][3] = 0;
  574. s_per[1][3] = 0;
  575. score0 -= 4;// 本家合计分数
  576. // 4家分数的计算
  577. score[0] -= 4;
  578. score[1] -= 0;
  579. score[2] += 4;
  580. score[3] -= 0;
  581. break;
  582. case 1:
  583. s_per[0][0] = 2;// 每个人的分数
  584. s_per[1][0] = 0;
  585. s_per[0][1] = 0;
  586. s_per[1][1] = 0;
  587. s_per[0][2] = 2;
  588. s_per[1][2] = 1;
  589. s_per[0][3] = 0;
  590. s_per[1][3] = 0;
  591. score0 -= 2;// 本家合计分数
  592. // 4家分数的计算
  593. score[0] -= 2;
  594. score[1] -= 0;
  595. score[2] += 2;
  596. score[3] -= 0;
  597. break;
  598. case 2:
  599. s_per[0][0] = 4;// 每个人的分数
  600. s_per[1][0] = 0;
  601. s_per[0][1] = 0;
  602. s_per[1][1] = 0;
  603. s_per[0][2] = 4;
  604. s_per[1][2] = 1;
  605. s_per[0][3] = 0;
  606. s_per[1][3] = 0;
  607. score0 -= 4;// 本家合计分数
  608. // 4家分数的计算
  609. score[0] -= 4;
  610. score[1] -= 0;
  611. score[2] += 4;
  612. score[3] -= 0;
  613. break;
  614. case 3:
  615. s_per[0][0] = 2;// 每个人的分数
  616. s_per[1][0] = 0;
  617. s_per[0][1] = 0;
  618. s_per[1][1] = 0;
  619. s_per[0][2] = 2;
  620. s_per[1][2] = 1;
  621. s_per[0][3] = 0;
  622. s_per[1][3] = 0;
  623. score0 -= 2;// 本家合计分数
  624. // 4家分数的计算
  625. score[0] -= 2;
  626. score[1] -= 0;
  627. score[2] += 2;
  628. score[3] -= 0;
  629. break;
  630. }
  631. }
  632. public void scoreZhuang32(int zhuang) {
  633. switch (zhuang) {
  634. case 0:
  635. s_per[0][0] = 0;// 每个人的分数
  636. s_per[1][0] = 0;
  637. s_per[0][1] = 2;
  638. s_per[1][1] = 0;
  639. s_per[0][2] = 2;
  640. s_per[1][2] = 1;
  641. s_per[0][3] = 0;
  642. s_per[1][3] = 0;
  643. // 4家分数的计算
  644. score[0] -= 0;
  645. score[1] -= 2;
  646. score[2] += 2;
  647. score[3] -= 0;
  648. break;
  649. case 1:
  650. s_per[0][0] = 0;// 每个人的分数
  651. s_per[1][0] = 0;
  652. s_per[0][1] = 2;
  653. s_per[1][1] = 0;
  654. s_per[0][2] = 2;
  655. s_per[1][2] = 1;
  656. s_per[0][3] = 0;
  657. s_per[1][3] = 0;
  658. // 4家分数的计算
  659. score[0] -= 0;
  660. score[1] -= 2;
  661. score[2] += 2;
  662. score[3] -= 0;
  663. break;
  664. case 2:
  665. s_per[0][0] = 0;// 每个人的分数
  666. s_per[1][0] = 0;
  667. s_per[0][1] = 4;
  668. s_per[1][1] = 0;
  669. s_per[0][2] = 4;
  670. s_per[1][2] = 1;
  671. s_per[0][3] = 0;
  672. s_per[1][3] = 0;
  673. // 4家分数的计算
  674. score[0] -= 0;
  675. score[1] -= 4;
  676. score[2] += 4;
  677. score[3] -= 0;
  678. break;
  679. case 3:
  680. s_per[0][0] = 0;// 每个人的分数
  681. s_per[1][0] = 0;
  682. s_per[0][1] = 2;
  683. s_per[1][1] = 0;
  684. s_per[0][2] = 2;
  685. s_per[1][2] = 1;
  686. s_per[0][3] = 0;
  687. s_per[1][3] = 0;
  688. // 4家分数的计算
  689. score[0] -= 0;
  690. score[1] -= 2;
  691. score[2] += 2;
  692. score[3] -= 0;
  693. break;
  694. }
  695. }
  696. public void scoreZhuang33(int zhuang) {
  697. switch (zhuang) {
  698. case 0:
  699. s_per[0][0] = 4;// 每个人的分数
  700. s_per[1][0] = 0;
  701. s_per[0][1] = 2;
  702. s_per[1][1] = 0;
  703. s_per[0][2] = 8;
  704. s_per[1][2] = 1;
  705. s_per[0][3] = 2;
  706. s_per[1][3] = 0;
  707. score0 -= 4;// 本家合计分数
  708. // 4家分数的计算
  709. score[0] -= 4;
  710. score[1] -= 2;
  711. score[2] += 8;
  712. score[3] -= 2;
  713. break;
  714. case 1:
  715. s_per[0][0] = 2;// 每个人的分数
  716. s_per[1][0] = 0;
  717. s_per[0][1] = 4;
  718. s_per[1][1] = 0;
  719. s_per[0][2] = 8;
  720. s_per[1][2] = 1;
  721. s_per[0][3] = 2;
  722. s_per[1][3] = 0;
  723. score0 -= 2;// 本家合计分数
  724. // 4家分数的计算
  725. score[0] -= 2;
  726. score[1] -= 4;
  727. score[2] += 8;
  728. score[3] -= 2;
  729. break;
  730. case 2:
  731. s_per[0][0] = 4;// 每个人的分数
  732. s_per[1][0] = 0;
  733. s_per[0][1] = 4;
  734. s_per[1][1] = 0;
  735. s_per[0][2] = 12;
  736. s_per[1][2] = 1;
  737. s_per[0][3] = 4;
  738. s_per[1][3] = 0;
  739. score0 -= 4;// 本家合计分数
  740. // 4家分数的计算
  741. score[0] -= 4;
  742. score[1] -= 4;
  743. score[2] += 12;
  744. score[3] -= 4;
  745. break;
  746. case 3:
  747. s_per[0][0] = 2;// 每个人的分数
  748. s_per[1][0] = 0;
  749. s_per[0][1] = 2;
  750. s_per[1][1] = 0;
  751. s_per[0][2] = 8;
  752. s_per[1][2] = 1;
  753. s_per[0][3] = 4;
  754. s_per[1][3] = 0;
  755. score0 -= 2;// 本家合计分数
  756. // 4家分数的计算
  757. score[0] -= 2;
  758. score[1] -= 2;
  759. score[2] += 8;
  760. score[3] -= 4;
  761. break;
  762. }
  763. }
  764. public void scoreZhuang34(int zhuang) {
  765. switch (zhuang) {
  766. case 0:
  767. s_per[0][0] = 0;// 每个人的分数
  768. s_per[1][0] = 0;
  769. s_per[0][1] = 0;
  770. s_per[1][1] = 0;
  771. s_per[0][2] = 2;
  772. s_per[1][2] = 1;
  773. s_per[0][3] = 2;
  774. s_per[1][3] = 0;
  775. // 4家分数的计算
  776. score[0] -= 0;
  777. score[1] -= 0;
  778. score[2] += 2;
  779. score[3] -= 2;
  780. break;
  781. case 1:
  782. s_per[0][0] = 0;// 每个人的分数
  783. s_per[1][0] = 0;
  784. s_per[0][1] = 0;
  785. s_per[1][1] = 0;
  786. s_per[0][2] = 2;
  787. s_per[1][2] = 1;
  788. s_per[0][3] = 2;
  789. s_per[1][3] = 0;
  790. // 4家分数的计算
  791. score[0] -= 0;
  792. score[1] -= 0;
  793. score[2] += 2;
  794. score[3] -= 2;
  795. break;
  796. case 2:
  797. s_per[0][0] = 0;// 每个人的分数
  798. s_per[1][0] = 0;
  799. s_per[0][1] = 0;
  800. s_per[1][1] = 0;
  801. s_per[0][2] = 4;
  802. s_per[1][2] = 1;
  803. s_per[0][3] = 4;
  804. s_per[1][3] = 0;
  805. // 4家分数的计算
  806. score[0] -= 0;
  807. score[1] -= 0;
  808. score[2] += 4;
  809. score[3] -= 4;
  810. break;
  811. case 3:
  812. s_per[0][0] = 0;// 每个人的分数
  813. s_per[1][0] = 0;
  814. s_per[0][1] = 0;
  815. s_per[1][1] = 0;
  816. s_per[0][2] = 4;
  817. s_per[1][2] = 1;
  818. s_per[0][3] = 4;
  819. s_per[1][3] = 0;
  820. // 4家分数的计算
  821. score[0] -= 0;
  822. score[1] -= 0;
  823. score[2] += 4;
  824. score[3] -= 4;
  825. break;
  826. }
  827. }
  828. public void scoreFP3(int FP, int zhuang) {
  829. switch (FP) {
  830. case 0:
  831. scoreZhuang31(zhuang);
  832. break;
  833. case 1:
  834. scoreZhuang32(zhuang);
  835. break;
  836. case 2:// 自摸
  837. scoreZhuang33(zhuang);
  838. break;
  839. case 3:
  840. scoreZhuang34(zhuang);
  841. break;
  842. }
  843. }
  844. public void scoreZhuang41(int zhuang) {
  845. switch (zhuang) {
  846. case 0:
  847. s_per[0][0] = 4;// 每个人的分数
  848. s_per[1][0] = 0;
  849. s_per[0][1] = 0;
  850. s_per[1][1] = 0;
  851. s_per[0][2] = 0;
  852. s_per[1][2] = 0;
  853. s_per[0][3] = 4;
  854. s_per[1][3] = 1;
  855. score0 -= 4;// 本家合计分数
  856. // 4家分数的计算
  857. score[0] -= 4;
  858. score[1] -= 0;
  859. score[2] -= 0;
  860. score[3] += 4;
  861. break;
  862. case 1:
  863. s_per[0][0] = 2;// 每个人的分数
  864. s_per[1][0] = 0;
  865. s_per[0][1] = 0;
  866. s_per[1][1] = 0;
  867. s_per[0][2] = 0;
  868. s_per[1][2] = 0;
  869. s_per[0][3] = 2;
  870. s_per[1][3] = 1;
  871. score0 -= 2;// 本家合计分数
  872. // 4家分数的计算
  873. score[0] -= 2;
  874. score[1] -= 0;
  875. score[2] -= 0;
  876. score[3] += 2;
  877. break;
  878. case 2:
  879. s_per[0][0] = 2;// 每个人的分数
  880. s_per[1][0] = 0;
  881. s_per[0][1] = 0;
  882. s_per[1][1] = 0;
  883. s_per[0][2] = 0;
  884. s_per[1][2] = 0;
  885. s_per[0][3] = 2;
  886. s_per[1][3] = 1;
  887. score0 -= 2;// 本家合计分数
  888. // 4家分数的计算
  889. score[0] -= 2;
  890. score[1] -= 0;
  891. score[2] -= 0;
  892. score[3] += 2;
  893. break;
  894. case 3:
  895. s_per[0][0] = 4;// 每个人的分数
  896. s_per[1][0] = 0;
  897. s_per[0][1] = 0;
  898. s_per[1][1] = 0;
  899. s_per[0][2] = 0;
  900. s_per[1][2] = 0;
  901. s_per[0][3] = 4;
  902. s_per[1][3] = 1;
  903. score0 -= 4;// 本家合计分数
  904. // 4家分数的计算
  905. score[0] -= 4;
  906. score[1] -= 0;
  907. score[2] -= 0;
  908. score[3] += 4;
  909. break;
  910. }
  911. }
  912. public void scoreZhuang42(int zhuang) {
  913. switch (zhuang) {
  914. case 0:
  915. s_per[0][0] = 0;// 每个人的分数
  916. s_per[1][0] = 0;
  917. s_per[0][1] = 2;
  918. s_per[1][1] = 0;
  919. s_per[0][2] = 0;
  920. s_per[1][2] = 0;
  921. s_per[0][3] = 2;
  922. s_per[1][3] = 1;
  923. // 4家分数的计算
  924. score[0] -= 0;
  925. score[1] -= 2;
  926. score[2] -= 0;
  927. score[3] += 2;
  928. break;
  929. case 1:
  930. s_per[0][0] = 0;// 每个人的分数
  931. s_per[1][0] = 0;
  932. s_per[0][1] = 4;
  933. s_per[1][1] = 0;
  934. s_per[0][2] = 0;
  935. s_per[1][2] = 0;
  936. s_per[0][3] = 4;
  937. s_per[1][3] = 1;
  938. // 4家分数的计算
  939. score[0] -= 0;
  940. score[1] -= 4;
  941. score[2] -= 0;
  942. score[3] += 4;
  943. break;
  944. case 2:
  945. s_per[0][0] = 0;// 每个人的分数
  946. s_per[1][0] = 0;
  947. s_per[0][1] = 2;
  948. s_per[1][1] = 0;
  949. s_per[0][2] = 0;
  950. s_per[1][2] = 0;
  951. s_per[0][3] = 2;
  952. s_per[1][3] = 1;
  953. // 4家分数的计算
  954. score[0] -= 0;
  955. score[1] -= 2;
  956. score[2] -= 0;
  957. score[3] += 2;
  958. break;
  959. case 3:
  960. s_per[0][0] = 0;// 每个人的分数
  961. s_per[1][0] = 0;
  962. s_per[0][1] = 4;
  963. s_per[1][1] = 0;
  964. s_per[0][2] = 0;
  965. s_per[1][2] = 0;
  966. s_per[0][3] = 4;
  967. s_per[1][3] = 1;
  968. // 4家分数的计算
  969. score[0] -= 0;
  970. score[1] -= 4;
  971. score[2] -= 0;
  972. score[3] += 4;
  973. break;
  974. }
  975. }
  976. public void scoreZhuang43(int zhuang) {
  977. switch (zhuang) {
  978. case 0:
  979. s_per[0][0] = 0;// 每个人的分数
  980. s_per[1][0] = 0;
  981. s_per[0][1] = 0;
  982. s_per[1][1] = 0;
  983. s_per[0][2] = 2;
  984. s_per[1][2] = 0;
  985. s_per[0][3] = 2;
  986. s_per[1][3] = 0;
  987. // 4家分数的计算
  988. score[0] -= 0;
  989. score[1] -= 0;
  990. score[2] -= 2;
  991. score[3] += 2;
  992. break;
  993. case 1:
  994. s_per[0][0] = 0;// 每个人的分数
  995. s_per[1][0] = 0;
  996. s_per[0][1] = 0;
  997. s_per[1][1] = 0;
  998. s_per[0][2] = 2;
  999. s_per[1][2] = 0;
  1000. s_per[0][3] = 2;
  1001. s_per[1][3] = 1;
  1002. // 4家分数的计算
  1003. score[0] -= 0;
  1004. score[1] -= 0;
  1005. score[2] -= 2;
  1006. score[3] += 2;
  1007. break;
  1008. case 2:
  1009. s_per[0][0] = 0;// 每个人的分数
  1010. s_per[1][0] = 0;
  1011. s_per[0][1] = 0;
  1012. s_per[1][1] = 0;
  1013. s_per[0][2] = 4;
  1014. s_per[1][2] = 0;
  1015. s_per[0][3] = 4;
  1016. s_per[1][3] = 1;
  1017. // 4家分数的计算
  1018. score[0] -= 0;
  1019. score[1] -= 0;
  1020. score[2] -= 4;
  1021. score[3] += 4;
  1022. break;
  1023. case 3:
  1024. s_per[0][0] = 0;// 每个人的分数
  1025. s_per[1][0] = 0;
  1026. s_per[0][1] = 0;
  1027. s_per[1][1] = 0;
  1028. s_per[0][2] = 4;
  1029. s_per[1][2] = 0;
  1030. s_per[0][3] = 4;
  1031. s_per[1][3] = 1;
  1032. // 4家分数的计算
  1033. score[0] -= 0;
  1034. score[1] -= 0;
  1035. score[2] -= 4;
  1036. score[3] += 4;
  1037. break;
  1038. }
  1039. }
  1040. public void scoreZhuang44(int zhuang) {
  1041. switch (zhuang) {
  1042. case 0:
  1043. s_per[0][0] = 4;// 每个人的分数
  1044. s_per[1][0] = 0;
  1045. s_per[0][1] = 2;
  1046. s_per[1][1] = 0;
  1047. s_per[0][2] = 2;
  1048. s_per[1][2] = 0;
  1049. s_per[0][3] = 8;
  1050. s_per[1][3] = 1;
  1051. score0 -= 4;// 本家合计分数
  1052. // 4家分数的计算
  1053. score[0] -= 4;
  1054. score[1] -= 2;
  1055. score[2] -= 2;
  1056. score[3] += 8;
  1057. break;
  1058. case 1:
  1059. s_per[0][0] = 2;// 每个人的分数
  1060. s_per[1][0] = 0;
  1061. s_per[0][1] = 4;
  1062. s_per[1][1] = 0;
  1063. s_per[0][2] = 2;
  1064. s_per[1][2] = 0;
  1065. s_per[0][3] = 8;
  1066. s_per[1][3] = 1;
  1067. score0 -= 2;// 本家合计分数
  1068. // 4家分数的计算
  1069. score[0] -= 2;
  1070. score[1] -= 4;
  1071. score[2] -= 2;
  1072. score[3] += 8;
  1073. break;
  1074. case 2:
  1075. s_per[0][0] = 2;// 每个人的分数
  1076. s_per[1][0] = 0;
  1077. s_per[0][1] = 2;
  1078. s_per[1][1] = 0;
  1079. s_per[0][2] = 4;
  1080. s_per[1][2] = 0;
  1081. s_per[0][3] = 8;
  1082. s_per[1][3] = 1;
  1083. score0 -= 2;// 本家合计分数
  1084. // 4家分数的计算
  1085. score[0] -= 2;
  1086. score[1] -= 2;
  1087. score[2] -= 4;
  1088. score[3] += 8;
  1089. break;
  1090. case 3:
  1091. s_per[0][0] = 4;// 每个人的分数
  1092. s_per[1][0] = 0;
  1093. s_per[0][1] = 4;
  1094. s_per[1][1] = 0;
  1095. s_per[0][2] = 4;
  1096. s_per[1][2] = 0;
  1097. s_per[0][3] = 12;
  1098. s_per[1][3] = 1;
  1099. score0 -= 4;// 本家合计分数
  1100. // 4家分数的计算
  1101. score[0] -= 4;
  1102. score[1] -= 4;
  1103. score[2] -= 4;
  1104. score[3] += 12;
  1105. break;
  1106. }
  1107. }
  1108. public void scoreFP4(int FP, int zhuang) {
  1109. switch (FP) {
  1110. case 0:
  1111. scoreZhuang41(zhuang);
  1112. break;
  1113. case 1:
  1114. scoreZhuang42(zhuang);
  1115. break;
  1116. case 2:
  1117. scoreZhuang43(zhuang);
  1118. break;
  1119. case 3:// 自摸
  1120. scoreZhuang44(zhuang);
  1121. break;
  1122. }
  1123. }
  1124. public void scoreCount(int winner, int FP, int zhuang) {// 3个参数分别是 赢家 放炮
  1125. // 和该局的庄家
  1126. switch (winner) {
  1127. case 0:
  1128. scoreFP1(FP, zhuang);
  1129. break;
  1130. case 1:
  1131. scoreFP2(FP, zhuang);
  1132. break;
  1133. case 2:// 2赢
  1134. scoreFP3(FP, zhuang);
  1135. break;
  1136. case 3:// 3赢
  1137. scoreFP4(FP, zhuang);
  1138. break;
  1139. }
  1140. }
  1141. public void save() {
  1142. try {
  1143. RecordStore rs = RecordStore.openRecordStore("Score_mj", true);
  1144. for (int i = 0; i < 4; i++) {
  1145. s_score = String.valueOf(score[i]);
  1146. bs = s_score.getBytes();
  1147. if (rs.getNumRecords() > i)
  1148. rs.setRecord(i + 1, bs, 0, bs.length);
  1149. else
  1150. rs.addRecord(bs, 0, bs.length);
  1151. }
  1152. rs.closeRecordStore();
  1153. } catch (RecordStoreException _ex) {
  1154. }
  1155. }
  1156. // 读取4个玩家分数的方法
  1157. public void load() {
  1158. try {
  1159. RecordStore rs = RecordStore.openRecordStore("Score_mj", false);
  1160. if (rs.getNumRecords() > 3) {
  1161. for (int i = 0; i < 4; i++) {
  1162. bs = rs.getRecord(i + 1);
  1163. s_score = new String(bs);
  1164. score[i] = Integer.parseInt(s_score);
  1165. }
  1166. }
  1167. rs.closeRecordStore();
  1168. } catch (RecordStoreException _ex) {
  1169. }
  1170. }
  1171. // 清除个人当前得分s_per[][]
  1172. public void scoreClear() {
  1173. for (int i = 0; i < 2; i++) {
  1174. for (int j = 0; j < 4; j++) {
  1175. s_per[i][j] = 0;
  1176. }
  1177. }
  1178. }
  1179. }