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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

象棋AI模塊調試用代碼

[復制鏈接]
跳轉到指定樓層
樓主
ID:72008 發表于 2015-1-11 19:58 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
  1. //文件名 xq_main.java
  2. import xq.*;
  3. //聲明一個類
  4. public class xq_main {
  5. //聲明一個方法  
  6. public static void main(String[] args){
  7. //程序的入口
  8. //初始化一個棋盤
  9. int qipan[][]=new int[][]{{2,3,6,5,1,5,6,3,2},{0,0,0,0,0,0,0,0,0},{0,4,0,0,0,0,0,4,0},{7,0,7,0,7,0,7,0,7},{0,0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0,0},{14,0,14,0,14,0,14,0,14},{0,11,0,0,0,0,0,11,0},{0,0,0,0,0,0,0,0,0},{9,10,13,12,8,12,13,10,9}};
  10. int x,y;
  11. for(y=0;y<=9;y++)
  12. {
  13. for(x=0;x<=8;x++)
  14. {
  15. switch (qipan[y][x]){
  16. case 0:
  17.          System.out.print("      ");//空格
  18.        break;
  19.      case 1:
  20.          System.out.print("黑帥  ");//黑帥
  21.        break;
  22.      case 2:
  23.          System.out.print("黑車  ");//黑車
  24.           break;
  25.      case 3:
  26.        System.out.print("黑馬  ");//黑馬
  27.         break;
  28.      case 4:
  29.        System.out.print("黑炮  ");//黑炮
  30.         break;
  31.      case 5:
  32.        System.out.print("黑士  ");//黑士
  33.         break;
  34.      case 6:
  35.        System.out.print("黑象  ");//黑象
  36.         break;
  37.      case 7:
  38.        System.out.print("黑兵  ");//黑兵
  39.         break;
  40.      case 8:
  41.        System.out.print("紅將  ");//紅將
  42.         break;
  43.      case 9:
  44.        System.out.print("紅車  ");//紅車                                                                                                                                            
  45.         break;
  46.      case 10:
  47.        System.out.print("紅馬  ");//紅馬
  48.         break;
  49.      case 11:
  50.        System.out.print("紅砲  ");//紅砲
  51.         break;
  52.      case 12:
  53.        System.out.print("紅仕  ");//紅仕
  54.         break;
  55.      case 13:
  56.        System.out.print("紅相  ");//紅相
  57.         break;
  58.      case 14:
  59.        System.out.print("紅卒  ");//紅卒
  60.         break;
  61. }
  62. }
  63. if(y==4) System.out.print("\n\n\n");else System.out.print("\n\n");
  64. }
  65. GuiZe AI=new GuiZe();
  66. //調試AI棋步生成情況
  67. for(int z=0;z<30;z++)
  68. {
  69. ChessMove qibu=AI.searchAGoodMove(qipan);
  70. System.out.print("AI生成一個當前最佳棋步:\n");//空格
  71. switch (qibu.ChessID){
  72. case 0:
  73.          System.out.print("      ");//空格
  74.        break;
  75.      case 1:
  76.          System.out.print("黑帥  ");//黑帥
  77.        break;
  78.      case 2:
  79.          System.out.print("黑車  ");//黑車
  80.           break;
  81.      case 3:
  82.        System.out.print("黑馬  ");//黑馬
  83.         break;
  84.      case 4:
  85.        System.out.print("黑炮  ");//黑炮
  86.         break;
  87.      case 5:
  88.        System.out.print("黑士  ");//黑士
  89.         break;
  90.      case 6:
  91.        System.out.print("黑象  ");//黑象
  92.         break;
  93.      case 7:
  94.        System.out.print("黑兵  ");//黑兵
  95.         break;
  96.      case 8:
  97.        System.out.print("紅將  ");//紅將
  98.         break;
  99.      case 9:
  100.        System.out.print("紅車  ");//紅車                                                                                                                                            
  101.         break;
  102.      case 10:
  103.        System.out.print("紅馬  ");//紅馬
  104.         break;
  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. }
  118. System.out.print("現在位置:Y "+qibu.fromY+"  X "+qibu.fromX+" 移動到:Y "+qibu.toY+" X "+qibu.toX+"\n");  
  119. }
  120.    
  121.    
  122. }
  123. }

  124. AI主模塊會用到這個類要放到同一個包里
  125. package xq;
  126. /**
  127. * 該類為棋子的一個走法
  128. * 包含是什么棋子
  129. * 起始點的位置
  130. * 目標點的位置
  131. * 以及估值時所用到的score
  132. */
  133. public class ChessMove {
  134.   public int ChessID;//表明是什么棋子
  135.   public int fromX;//起始的坐標
  136.   public int fromY;
  137.   public int toX;//目的地的坐標
  138.   public int toY;
  139.   public int score;//值,估值時會用到
  140. public ChessMove(int ChessID, int fromX,int fromY,int toX,int toY,int score){//構造器
  141.   this.ChessID = ChessID;//棋子的類型
  142.   this.toY = toY;//棋子的目標點y坐標
  143.   this.fromX = fromX;//棋子的起始坐標
  144.   this.fromY = fromY;
  145.   this.toX = toX;//棋子的目標點x坐標
  146.   this.score = score;
  147. }
  148. }
復制代碼


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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩欧美一区二区在线播放 | 四虎成人免费电影 | 精品自拍视频在线观看 | 永久免费在线观看 | 一级黄色毛片免费 | 国产精品久久久久久婷婷天堂 | 欧美黄色免费网站 | 久久久精品网站 | 日本超碰 | 99re视频在线 | 久久99视频免费观看 | 亚洲精品视频导航 | 亚洲不卡在线观看 | 亚洲五码久久 | 国产在线观看一区二区三区 | 国产精选一区 | 天天干,夜夜操 | 丁香六月激情 | 国产区一区 | 国产亚洲二区 | 午夜天堂精品久久久久 | 国内精品一区二区三区 | 亚洲免费在线 | 国产91在线播放 | 国产精品福利网 | 日韩成人精品一区 | 欧美一区免费 | 国产成人免费视频 | 欧美极品在线视频 | 日韩三区 | 中文字幕一区二区三区精彩视频 | 亚洲欧洲成人av每日更新 | 在线一区二区观看 | 涩涩视频网站在线观看 | 九色在线观看 | 日韩美香港a一级毛片免费 国产综合av | 久久久精品视频一区二区三区 | 一区二区三区四区在线 | 日韩午夜影院 | 美女逼网站| 国产免费一区二区三区 |