国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|JavaScript|易語言|

服務器之家 - 編程語言 - Java教程 - Java控制臺版五子棋的簡單實現方法

Java控制臺版五子棋的簡單實現方法

2021-08-02 10:41錢多多不多余 Java教程

這篇文章主要給大家介紹了關于Java控制臺版五子棋的簡單實現方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

設計一個10*10的棋盤:

行號、列號單獨輸出

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
package yu;
 
import java.util.Scanner;
 
public class WuZiQi {
    /*● 棋子1
 ○ 棋子2
     *
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
 String [] [] qipan=new String [10] [10];
 //初始化棋盤:
 for(int k=0;k<qipan.length;k++){
     for(int q=0;q<qipan[k].length;q++){
         qipan[k][q]="+ ";
         }
 }
 //輸出棋盤:
 System.out.print(" ");
 for(int i=0;i<10;i++){
     System.out.print(i+" ");
 }
 System.out.println();
 for(int k=0;k<qipan.length;k++){
     System.out.print(k+" ");
     for(int q=0;q<qipan[k].length;q++){
         System.out.print(qipan[k][q]);
         }
     System.out.println();
 }

輸入坐標下棋(x,y),并作容錯處理:

  1. 保證輸入的坐標是(x,y);
  2. 下標越界處理;
  3. 判斷此坐標有無棋子;
  4. 確保坐標輸入為數字。
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
int x,y;//儲存下棋坐標:
 Scanner sc=new Scanner(System.in);
 boolean flag=true;//區分黑白棋;
 while(true){
 System.out.println("請輸入坐標下棋,坐標格式(x,y)");
 String str=sc.nextLine();
 String [] str1=str.split(",");
  //容錯處理1
  if(str1.length!=2){
     System.out.println("坐標輸入錯誤,請重新輸入??!");
     
  }else{
  //容錯處理3
     try{
         x=Integer.parseInt(str1[0]);
    y=Integer.parseInt(str1[1]);
     }catch(Exception e){
         System.out.println("坐標輸入錯誤,請重新輸入!!");
         continue;
     }
     //容錯處理2--下標越界
     if(x>=10||y>=10){
         System.out.println("坐標輸入錯誤,請重新輸入!!");
     }else{
         //容錯處理--判斷當前位置是否有棋子:
         //黑白棋:
         if(qipan[x][y].equals("+ ")){
             if(flag){
                 qipan[x][y]="● ";
             }else{
                 qipan[x][y]="○ ";
             }
             flag=!flag;
         }else{
             System.out.println("當前位置已有棋子,請重新輸入坐標!!");
             continue;
         }
         
         //輸出棋盤:
          System.out.print(" ");
          for(int i=0;i<10;i++){
             System.out.print(i+" ");
          }
          System.out.println();
          for(int k=0;k<qipan.length;k++){
             System.out.print(k+" ");
             for(int q=0;q<qipan[k].length;q++){
                 System.out.print(qipan[k][q]);
                 }
             System.out.println();
          
          }

判斷是否五子連珠:

8個方向,4條線

  1. 上方&下方
  2. 左方&右方
  3. 左斜上&右斜下
  4. 右斜上&左斜下
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
//判斷是否五子連珠:
          int count=1;
          String currentZiQi=qipan[x][y];//儲存當前下的棋子;
         //判斷上方:
          for(int k=x-1;k>=0;k--){
             if(qipan[k][y].equals(currentZiQi)){
                 count++;
             }else{
                 break;
             }
             }
          if(count>=5){
            System.out.println(currentZiQi+"獲勝!!!");
            break;
          }
         //判斷下方:
         for(int k=x+1;k<10;k++){
         if(qipan[k][y].equals(currentZiQi)){
          count++;
         }else{
          break;
         }
         }
        if(count>=5){
         System.out.println(currentZiQi+"獲勝?。。?quot;);
         break;
           }
        count=1;//重置count;
     //判斷左邊:
        for(int k=y-1;k>=0;k--){
         if(qipan[x][k].equals(currentZiQi)){
          count++;
         }else{
          break;
         }
         }
        if(count>=5){
         System.out.println(currentZiQi+"獲勝!??!");
         break;
           }
     //判斷右邊:
        for(int k=y+1;k<10;k++){
         if(qipan[x][k].equals(currentZiQi)){
          count++;
         }else{
          break;
         }
         }
        if(count>=5){
         System.out.println(currentZiQi+"獲勝!!!");
         break;
           }
        count=1;   
        //判斷左上斜邊:
        for(int k=x-1,j=y-1;k>=0&&j>=0;k--,j--){
            if(qipan[k][j].equals(currentZiQi)){
          count++;
         }else{
          break;
         }
             }
        if(count>=5){
         System.out.println(currentZiQi+"獲勝?。?!");
         break;
           }
        //右下斜方:
        for(int k=x+1,j=y+1;k<10&&j<10;k++,j++){
            if(qipan[k][j].equals(currentZiQi)){
          count++;
         }else{
          break;
         }
         }
        if(count>=5){
         System.out.println(currentZiQi+"獲勝?。?!");
         break;
           }
        count=1;
        //左下斜方:
        for(int k=x-1,j=y+1;k>=0&&j<10;k--,j++){
            if(qipan[k][j].equals(currentZiQi)){
          count++;
         }else{
          break;
         }
         }
        if(count>=5){
         System.out.println(currentZiQi+"獲勝?。?!");
         break;
           }       
        //右上斜方:
        for(int k=x+1,j=y-1;k<10&&j>=0;k++,j--){
            if(qipan[k][j].equals(currentZiQi)){
          count++;
         }else{
          break;
         }
         }
        if(count>=5){
         System.out.println(currentZiQi+"獲勝!??!");
         break;
           }
        count=1;
        }
     }
     
     
  }
 }
 }

總結

到此這篇關于Java控制臺版五子棋的簡單實現方法的文章就介紹到這了,更多相關Java控制臺版五子棋內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://blog.csdn.net/m0_53246877/article/details/113333770

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 欧美日韩中文字幕在线 | 国内精品一区二区 | 欧美天堂在线观看 | 奇米av在线| 在线视频二区 | 国产高清视频 | 欧美一二区 | 亚洲va中文字幕 | 精品久久久久久久人人人人传媒 | 一区二区不卡视频 | 欧美另类视频在线 | 国产精品三级视频 | 在线中文av | 一区亚洲| 日韩欧美一级电影 | 亚洲成人久久久 | 午夜激情影院 | 精品国产乱码久久久久久1区2区 | 久久久久久久久久久久免费 | av伊人网 | 91中文字幕在线观看 | 偷拍做爰吃奶视频免费看 | 成人乱码一区二区三区av | 成人免费毛片在线观看 | 成人免费一区二区三区视频软件 | 激情国产| 精品国产一区二区三区高潮视 | 亚洲免费精品 | 欧美日韩一区二区三区视频 | 欧美精品不卡 | 精品欧美一区二区三区久久久 | 国产人久久人人人人爽 | 欧洲毛片| 亚洲国产成人av | 国产欧美自拍 | 九一视频在线观看 | 中国一级黄色片子 | www.国产精品 | 精品国产一级毛片 | 中国女人黄色大片 | 欧美片网站免费 |