久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5401|回復: 0
打印 上一主題 下一主題
收起左側

麻將游戲框架搭好(調試AI用)

[復制鏈接]
跳轉到指定樓層
樓主
ID:72008 發表于 2015-1-11 19:55 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
  1. paidui.java
  2. mport java.util.Random;

  3. //牌堆類用來創建一副麻將牌
  4. public class paidui {
  5. // 定義一副(新溝本地晃晃帶東南西北分)麻將牌:1*表示萬,2*表示筒,3*表示條,4*表示東,5*表示南
  6. // 6*表示西,7*表示北,8*表示中,9*表示發財,10*表示白板
  7. int mj[] = { 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14,
  8. 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18,
  9. 19, 19, 19, 19, 21, 21, 21, 21, 22, 22, 22, 22, 23, 23, 23, 23, 24,
  10. 24, 24, 24, 25, 25, 25, 25, 26, 26, 26, 26, 27, 27, 27, 27, 28, 28,
  11. 28, 28, 29, 29, 29, 29, 31, 31, 31, 31, 32, 32, 32, 32, 33, 33, 33,
  12. 33, 34, 34, 34, 34, 35, 35, 35, 35, 36, 36, 36, 36, 37, 37, 37, 37,
  13. 38, 38, 38, 38, 39, 39, 39, 39, 41, 41, 41, 41, 51, 51, 51, 51, 61,
  14. 61, 61, 61, 71, 71, 71, 71, 81, 81, 81, 81, 91, 91, 91, 91, 101,
  15. 101, 101, 101 };
  16. int P_SZ = 136;// 定義一副麻將牌的張數
  17. int mj_q[] = new int[P_SZ];// 用于回收棄掉的牌
  18. int B = 0;// 發牌位置標記
  19. int Q = 0;// 回收棄牌位置標記

  20. public paidui() {
  21. // 構造函數用于初始化牌堆信息
  22. for (int i = 0; i < P_SZ; i++) {
  23. mj_q[i] = 0; // 初始化棄牌牌堆
  24. }
  25. }

  26. public int xipai() {
  27. // 提供一個洗牌方法
  28. Random random = new Random();// 隨機產生對象的對象
  29. for (int i = 0; i < P_SZ; i++) {
  30. // 隨機產生一個下標值如果和當前下表不等則交換元素值,遍歷素組后就生成了一個隨機打亂的牌堆數組了
  31. int j = random.nextInt(P_SZ);
  32. if (i != j) {
  33. int a;
  34. a = mj[i];
  35. mj[i] = mj[j];
  36. mj[j] = a;
  37. }
  38. }
  39. return 0;
  40. }

  41. public int fapai() {
  42. // 提供一個發牌方法
  43. if (B >= P_SZ)
  44. return 0;// 牌已經發完此局流局
  45. int pai = mj[B]; // 返回當前牌堆頂部的第一張牌
  46. B++;// 牌堆頂部指針下移一位
  47. return pai;
  48. }

  49. public int huishou(int pai) {
  50. // 提供一個回收棄牌的方法
  51. if(Q<P_SZ) mj_q[Q]=pai;
  52. return 0;
  53. }

  54. public int[] get_qipai() {
  55. // 提供一個返回棄牌牌堆信息的方法
  56. return mj_q;
  57. }

  58. }

  59. paizuo.java
  60. //牌桌類這是麻將框架的最上層
  61. public class paizuo {

  62. // 一個牌桌應該包含的所有屬性
  63. guizhe GZ=new guizhe();// 一個游戲規則
  64. paidui PD=new paidui();// 一副麻將牌
  65. xuangshou XS1=new xuangshou();// 2個或4個選手
  66. xuangshou XS2=new xuangshou();
  67. //調試用
  68.     int XS1_SP[]=new int[15];
  69.     int XS2_SP[]=new int[15];
  70.    
  71. public int xipai() {
  72. // 牌桌提供一個洗牌并開局發牌的方法
  73. PD.xipai();
  74. for(int i=0;i<13;i++)
  75. {
  76. XS1.mopai(PD.fapai());
  77. XS2.mopai(PD.fapai());
  78. }
  79. return 0;
  80. }

  81. public int fapai() {
  82. // 牌桌提供一個發牌的方法
  83. return 0;
  84. }

  85. public int UI() {
  86. // 牌桌提供一個獲取選手輸入和顯示當前牌局信息的方法(這里我只用控制臺界面)
  87. XS1.zhengli();
  88. XS2.zhengli();
  89. XS1_SP=XS1.get_SP();
  90. XS2_SP=XS2.get_SP();
  91. System.out.print("選手一初始化的手牌信息為:\n");
  92. for(int i=0;i<13;i++){
  93. print(XS1_SP[i]);
  94. }
  95. System.out.print("\n\n");
  96. System.out.print("選手二初始化的手牌信息為:\n");
  97. for(int i=0;i<13;i++){
  98. print(XS2_SP[i]);
  99. }
  100. return 0;
  101. }

  102. public int print(int P) {
  103. // 提供一個打印牌面信息的方法
  104. switch (P) {
  105. case 11:
  106. System.out.print("一萬 ");
  107. break;
  108. case 12:
  109. System.out.print("二萬 ");
  110. break;
  111. case 13:
  112. System.out.print("三萬 ");
  113. break;
  114. case 14:
  115. System.out.print("四萬 ");
  116. break;
  117. case 15:
  118. System.out.print("五萬 ");
  119. break;
  120. case 16:
  121. System.out.print("六萬 ");
  122. break;
  123. case 17:
  124. System.out.print("七萬 ");
  125. break;
  126. case 18:
  127. System.out.print("八萬 ");
  128. break;
  129. case 19:
  130. System.out.print("九萬 ");
  131. break;

  132. case 21:
  133. System.out.print("一筒 ");
  134. break;
  135. case 22:
  136. System.out.print("二筒 ");
  137. break;
  138. case 23:
  139. System.out.print("三筒 ");
  140. break;
  141. case 24:
  142. System.out.print("四筒 ");
  143. break;
  144. case 25:
  145. System.out.print("五筒 ");
  146. break;
  147. case 26:
  148. System.out.print("六筒 ");
  149. break;
  150. case 27:
  151. System.out.print("七筒 ");
  152. break;
  153. case 28:
  154. System.out.print("八筒 ");
  155. break;
  156. case 29:
  157. System.out.print("九筒 ");
  158. break;

  159. case 31:
  160. System.out.print("一條 ");
  161. break;
  162. case 32:
  163. System.out.print("二條 ");
  164. break;
  165. case 33:
  166. System.out.print("三條 ");
  167. break;
  168. case 34:
  169. System.out.print("四條 ");
  170. break;
  171. case 35:
  172. System.out.print("五條 ");
  173. break;
  174. case 36:
  175. System.out.print("六條 ");
  176. break;
  177. case 37:
  178. System.out.print("七條 ");
  179. break;
  180. case 38:
  181. System.out.print("八條 ");
  182. break;
  183. case 39:
  184. System.out.print("九條 ");
  185. break;

  186. case 41:
  187. System.out.print("東風 ");
  188. break;
  189. case 51:
  190. System.out.print("西風 ");
  191. break;
  192. case 61:
  193. System.out.print("南風 ");
  194. break;
  195. case 71:
  196. System.out.print("北風 ");
  197. break;
  198. case 81:
  199. System.out.print("紅中 ");
  200. break;
  201. case 91:
  202. System.out.print("發財 ");
  203. break;
  204. case 101:
  205. System.out.print("白板 ");
  206. break;
  207. default:
  208. ;
  209. }
  210. return 0;
  211. }

  212. }

  213. majiang_main.java
  214. //調試用入口類
  215. public class majiang_main {
  216. public static void main(String[] args) {
  217. paizuo PZ=new paizuo();
  218. PZ.xipai();
  219. PZ.UI();
  220.         
  221. }

  222. }
復制代碼


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 在线中文视频 | 999精品网| 日韩欧美电影在线 | 亚洲成av人片在线观看无码 | 国产成人一区二区 | 日本高清aⅴ毛片免费 | 伊人在线视频 | 在线观看电影av | 日韩精品在线观看网站 | 久久久99精品免费观看 | 国产精品自在线 | 国产人成精品一区二区三 | 99精品国产一区二区青青牛奶 | 三级成人片 | 亚洲精品电影在线观看 | 国产成人精品一区二区三区在线 | 成人高清视频在线观看 | 欧美精品久久久久 | 黄色免费在线观看网站 | 一区二区在线观看av | 欧美 中文字幕 | 亚洲成人一区二区 | 国产在线观看网站 | 精品网站999www | 国产探花在线观看视频 | 国产成人在线视频 | 九九亚洲 | 精品视频一区二区在线观看 | 亚洲性在线 | 日韩三级| 欧美日韩精品影院 | 日韩欧美国产精品综合嫩v 一区中文字幕 | 精品欧美一区二区三区免费观看 | xxx视频| 精品1区2区| www国产亚洲精品 | 国产精品视频久久久久 | 亚洲美女一区二区三区 | 久久久国产一区二区三区 | 中文字幕一页二页 | 亚洲精品久 |