国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

控制臺簡單五子棋

2019-11-14 22:08:48
字體:
來源:轉載
供稿:網友
控制臺簡單五子棋
  1 import java.util.Scanner;  2    3 //控制臺簡單五子棋  4 public class wuziqi {  5    6     //二維數組作為棋盤  7     PRivate static char[][] board=new char[16][16];  8     //已下棋子數目  9     private static int cnt; 10     //分別代表玩家1,2的棋子 11     private static char[] qizi={'#','@'}; 12     //八方向搜索檢測 13     private static int[] dx={-1,0,-1,-1,1,1,0,1}; 14     private static int[] dy={0,-1,-1,1,-1,1,1,0}; 15       16     //輸入檢測 17     private static int CheckInput(int x,int y){ 18           19         if(board[x][y]!='+') 20             return 0; 21         if(x<1||x>15||y<1||y>15) 22             return 0; 23         return 1; 24     } 25       26         //邊界檢測 27     private static int Check(int x,int y){ 28         if(x>15||x<1||y>15||y<1) 29             return 0; 30         return 1; 31     } 32     //檢測玩家是否獲勝,需要傳入玩家編號,及當前落點坐標 33     private static int CheckAns(int num,int x,int y){ 34         if(cnt==15*15) 35             return 1; 36         //橫豎 左斜 右斜 四個方向判斷是否有五個棋子連在一起 37         for(int i=0;i<4;i++){ 38             int sum=1; 39             int xx=x+dx[i]; 40             int yy=y+dy[i]; 41             while(board[xx][yy]==qizi[num]&&Check(xx,yy)==1){ 42                 sum++; 43                 xx=xx+dx[i]; 44                 yy=yy+dy[i]; 45             } 46             xx=x+dx[7-i]; 47             yy=y+dy[7-i]; 48             while(board[xx][yy]==qizi[num]&&Check(xx,yy)==1){ 49                 sum++; 50                 xx=xx+dx[7-i]; 51                 yy=yy+dy[7-i]; 52             } 53             if(sum>=5) 54                 return 1; 55         } 56         return 0; 57     } 58       59     //初始化 60     private static void Init(){ 61         cnt=0; 62         for(int i=1;i<=15;i++) 63             for(int j=1;j<=15;j++) 64                 board[i][j]='+'; 65     } 66       67     //輸出棋盤 68     private static void Print(){ 69         int i,j; 70         for(i=1;i<=15;i++){ 71             for(j=1;j<=15;j++){ 72                   73                 System.out.print(board[i][j]); 74             } 75             System.out.println(); 76         } 77     } 78       79     public static int run(){ 80           81         int x,y; 82         Init(); 83         //當前棋手編號,默認0號先下 84         int num=0; 85         while(true){ 86             Print(); 87             System.out.print(num+1+"號選手請輸入您下棋的坐標,應以x y形式: "); 88             Scanner sc =new Scanner(System.in); 89             while(true){ 90                 x=sc.nextInt(); 91                 y=sc.nextInt(); 92                 if(CheckInput(x,y)==1) 93                     break; 94                 System.out.print("輸入坐標不合法,請重新輸入: "); 95             } 96             board[x][y]=qizi[num]; 97             if(CheckAns(num,x,y)==1){ 98                 return num+1; 99             }100             num=1-num;101         }102     }103      104     public static void main(String[] args){105          106         System.out.println("歡迎使用lkl的五子棋!");107         int ans=run();108         System.out.println("恭喜"+ans+"號選手獲得最終的勝利");109     }110 }


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 耒阳市| 花垣县| 巍山| 丰原市| 寻乌县| 抚宁县| 阿合奇县| 花莲市| 汤阴县| 定西市| 华容县| 东乌珠穆沁旗| 灵武市| 抚宁县| 佛坪县| 临夏县| 凤台县| 罗城| 蓬安县| 沧州市| 太保市| 亳州市| 密山市| 云南省| 霞浦县| 陇西县| 瑞丽市| 康平县| 搜索| 桃源县| 桦甸市| 贺州市| 蓬溪县| 德庆县| 桂东县| 怀化市| 和静县| 喀喇沁旗| 苍溪县| 西充县| 东方市|