日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Java實現五子棋的基礎方法

瀏覽:139日期:2022-08-25 15:25:09

本文實例為大家分享了Java實現五子棋的具體代碼,供大家參考,具體內容如下

任務概述:

五子棋是全國智力運動會競技項目之一,是一種兩人對弈的純策略型棋類游戲。通常雙方分別使用黑白兩色的棋子,下在棋盤直線與橫線的交叉點上,先形成五子連線者獲勝。

任務過程:

1.繪制棋盤2.提示黑方(用 1 表示)和白方(用 2 表示)分別下棋(X,Y 軸位置)并重新繪制棋盤3.每當一方下棋后判斷是否獲勝

重點講解:

1.關于勝利的判斷:

根據用戶所下棋子的位置對其周圍進行檢測,分為以下情況:橫向:當前下棋位置左右各4顆棋子連續相同5顆豎向:當前下棋位置上下各4顆棋子連續相同5顆斜向:當前下棋位置左上右下各4顆棋子連續相同5顆、當前下棋位置左下右上各4顆棋子連續相同5顆在檢測時要注意數組的下標,若用戶下棋位置處于棋盤邊緣,則周圍坐標很可能已經在棋盤之外,要注意加上相應的判斷避免下標越界!

2.關于棋盤下滿:

我的思路是,先認為棋盤已經下滿,然后在打印棋盤的同時,若當前打印值為0,則認為棋盤未滿,可繼續下棋操作,若棋盤已經打印完畢,仍然沒有打印值為0的情況,則認為棋盤下滿,雙方平局,游戲結束。

其余內容在代碼上有詳細的注釋,以下為代碼:

import java.util.Scanner;public class Chess { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int order = 1;//儲存順序,當order為1時輪到黑方下棋,當order為2時輪到白方下棋 int row = 0;//用來儲存要下棋的行數 int column = 0;//用來儲存要下棋的列數 int win = 0;//用來儲存獲勝者編號,為0則雙方均未獲勝,為1則白方獲勝,為2則黑方獲勝 int count1 = 0;//用來儲存當前下棋位置左右各4顆棋子的相同數量 int count2 = 0;//用來儲存當前下棋位置上下各4顆棋子的相同數量 int count3 = 0;//用來儲存當前下棋位置左上右下各4顆棋子的相同數量 int count4 = 0;//用來儲存當前下棋位置左下右上各4顆棋子的相同數量 int full = 1;//用來判斷棋盤是否下滿,默認值1認為已滿,只要有1處空則置0 int board[][] = new int[16][16];//用來記錄棋盤 //為棋盤的坐標賦值 for(int i = 0;i<16;i++) { board[i][0] = i;//為棋盤的Y軸賦值 } for(int j = 0;j<16;j++) { board[0][j] = j;//為棋盤的X軸賦值 } //開始下棋,無限循環直到有一方勝利或棋盤下滿 while(true) { //首先輸出棋盤 for(int i = 0;i<16;i++) { for(int j = 0;j<16;j++) { if(board[i][j] == 0)//若棋盤有1處空則認為棋盤未滿 full = 0; System.out.print(board[i][j]+'t'); } System.out.println(); } //然后判斷棋盤是否下滿 if(full == 1) {//棋盤自始至終未有空值,則認為棋盤已經下滿 System.out.print('棋盤已下滿,雙方平局,游戲結束!'); break;//跳出循環 } //棋盤未滿,進入下棋過程 if(order == 1) {//order為1黑方下棋 order = 2;//切換order,下一次則白方下棋 //無限循環直到下棋點可以正常下棋 while(true) { System.out.println('請黑方下棋,請先輸入X軸位置(列數,1-15):'); column = scanner.nextInt();//儲存要下棋的列數 System.out.println('請黑方下棋,請輸入Y軸位置(行數,1-15):'); row = scanner.nextInt();//儲存要下棋的行數 if(board[row][column] != 0)//下棋點已有棋子,需重新下棋 System.out.println('此次下棋無效,請重新下棋!'); else { board[row][column] = 1;//放置黑棋 break;//跳出循環 } } } else {//order為2白方下棋 order = 1;//切換order,下一次則黑方下棋 //無限循環直到下棋點可以正常下棋 while(true) { System.out.println('請白方下棋,請先輸入X軸位置(列數,1-15):'); column = scanner.nextInt();//儲存要下棋的列數 System.out.println('請白方下棋,請輸入Y軸位置(行數,1-15):'); row = scanner.nextInt();//儲存要下棋的行數 if(board[row][column] != 0)//下棋點已有棋子,需重新下棋 System.out.println('此次下棋無效,請重新下棋!'); else { board[row][column] = 2;//放置白棋 break;//跳出循環 } } } //本次下棋完畢,判斷是否有人獲勝 for(int i = -4;i < 4;i++) { //判斷當前下棋位置左右各4顆棋子的相同數量,連續4組相同則獲勝 if(column+i>0 && column+i+1<16) {//防止下標越界 if(board[row][column+i] == board[row][column+i+1] && board[row][column+i] != 0) { count1++; if(count1 == 4) {//連續4組相同,獲勝 win = order; break; } } else count1 = 0;//未連續相同,清除相同計數 } //判斷當前下棋位置上下各4顆棋子的相同數量,連續4組相同則獲勝 if(row+i>0 && row+i+1<16) {//防止下標越界 if(board[row+i][column] == board[row+i+1][column] && board[row+i][column] != 0) { count2++; if(count2 == 4) {//連續4組相同,獲勝 win = order; break; } } else count2 = 0;//未連續相同,清除相同計數 } //判斷當前下棋位置左上右下各4顆棋子的相同數量,連續4組相同則獲勝 if(column+i>0 && column+i+1<16 && row+i>0 && row+i+1<16) {//防止下標越界 if(board[row+i][column+i] == board[row+i+1][column+i+1] && board[row+i][column+i] != 0) { count3++; if(count3 == 4) {//連續4組相同,獲勝 win = order; break; } } else count3 = 0;//未連續相同,清除相同計數 } //判斷當前下棋位置左下右上各4顆棋子的相同數量,連續4組相同則獲勝 if(column+i>0 && column+i+1<16 && row-i-1>0 && row-i<16) {//防止下標越界 if(board[row-i][column+i] == board[row-i-1][column+i+1] && board[row-i][column+i] != 0) { count4++; if(count4 == 4) {//連續4組相同,獲勝 win = order; break; } } else count4 = 0;//未連續相同,清除相同計數 } } //有人獲勝,輸出棋盤及獲勝者,跳出循環 if(win == 2) {//由于win是order的值,order輪到白方,說明黑方獲勝 //輸出棋盤 for(int i = 0;i<16;i++) { for(int j = 0;j<16;j++) { System.out.print(board[i][j]+'t'); } System.out.println(); } System.out.println('恭喜黑方獲勝,游戲結束!'); break;//跳出循環 } else if(win == 1) {//由于win是order的值,order輪到黑方,說明白方獲勝 //輸出棋盤 for(int i = 0;i<16;i++) { for(int j = 0;j<16;j++) { System.out.print(board[i][j]+'t'); } System.out.println(); } System.out.println('恭喜白方獲勝,游戲結束!'); break;//跳出循環 } //無人獲勝,清除相同棋子計數,開始新循環 count1 = 0; count2 = 0; count3 = 0; count4 = 0; full = 1;//再次認為棋盤已滿 } }}

更多有趣的經典小游戲實現專題,分享給大家:

C++經典小游戲匯總

python經典小游戲匯總

python俄羅斯方塊游戲集合

JavaScript經典游戲 玩不停

javascript經典小游戲匯總

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
99热免费精品| 日韩亚洲精品在线| 日本aⅴ亚洲精品中文乱码| 亚洲18在线| 亚洲精品影视| 国产欧美一级| 亚洲黄色免费av| 欧洲激情综合| 综合激情一区| 国产精品蜜月aⅴ在线| 欧美国产日本| 六月婷婷综合| 亚洲成人精选| 色综合视频一区二区三区日韩| 91欧美日韩在线| 开心激情综合| 久久国产电影| 色综合视频一区二区三区日韩 | 欧美中文高清| 丁香六月综合| 好吊视频一区二区三区四区| 亚洲精品视频一二三区| 国产精品激情| 亚洲一级黄色| 日韩不卡手机在线v区| 日韩1区2区| 亚洲成人精品| 亚洲精品国产日韩| 高清不卡亚洲| 亚洲人成网77777色在线播放| 久久亚洲国产精品尤物| 国产一区日韩一区| 日本不良网站在线观看| 免费视频最近日韩| 国产日产一区| 国产精品任我爽爆在线播放| 精品一区二区三区中文字幕在线| 亚洲2区在线| 精品黄色一级片| av免费不卡国产观看| 欧美成人国产| 亚洲天堂av资源在线观看| 国产精品视频一区二区三区| 99久久精品国产亚洲精品| 国产乱码精品一区二区三区亚洲人 | 日韩一区二区三区四区五区| 久久爱www成人| 久久亚洲二区| 欧美13videosex性极品| 91精品福利| 97se亚洲| 婷婷亚洲综合| 国产不卡精品在线| 综合一区二区三区| 亲子伦视频一区二区三区| 国产精品一区亚洲| 亚洲一级大片| 婷婷成人基地| 桃色av一区二区| 美女精品视频在线| 亚州欧美在线| 黄色在线一区| 精品捆绑调教一区二区三区| 国产无遮挡裸体免费久久| 99国产精品| 伊人久久国产| 国产精品香蕉| 亚洲精品乱码| 天堂成人免费av电影一区| 久久国产日韩| 国产欧美一区二区三区精品酒店 | 久久激情网站| 精品丝袜久久| 国产精品一站二站| 日本va欧美va瓶| 久久最新视频| 99亚洲精品| 欧美精选一区二区三区| 精品国产一级| 激情综合五月| 久久中文字幕一区二区三区| 国产欧美在线| 国产精选久久| 欧美日本精品| 国产亚洲电影| 国产亚洲一区二区三区啪| 日韩精品视频中文字幕| 免费在线观看日韩欧美| 亚洲欧美日本日韩| 免播放器亚洲| 午夜一区在线| 亚洲一区二区三区四区电影| 美日韩精品视频| 国产视频一区在线观看一区免费| 国产一区二区三区自拍| 欧美.日韩.国产.一区.二区 | 奶水喷射视频一区| 日韩成人亚洲| 久久国产日本精品| 亚洲福利专区| 日韩午夜免费| 丝袜国产日韩另类美女| 激情欧美丁香| 极品日韩av| 在线精品亚洲欧美日韩国产| 亚洲高清影视| 老司机免费视频一区二区| 老牛国内精品亚洲成av人片| 国产精品xxx在线观看| 国产精品22p| 国产精品毛片久久| 亲子伦视频一区二区三区| 欧美精选一区二区三区| 免播放器亚洲一区| 国产欧美二区| 91亚洲自偷观看高清| 久久精品国语| 91久久黄色| 欧美一区免费| 免费日韩成人| 欧美13videosex性极品| 亚洲激情社区| 国产日韩一区| 在线观看精品| 一本一本久久| 国产日韩欧美在线播放不卡| 国产91在线精品| 悠悠资源网久久精品| 国产日韩一区| 久久精品高清| 综合国产视频| 精品欧美日韩精品| 国产字幕视频一区二区| 亚洲精品一二| 久久久久久色 | 青青国产精品| 国产aⅴ精品一区二区四区| 亚洲特级毛片| 91精品啪在线观看国产爱臀| 欧美精选视频一区二区| 亚洲精品视频一二三区| 麻豆精品蜜桃视频网站| 激情五月色综合国产精品| 欧美专区一区| 欧美日韩一二三四| 91精品麻豆| 欧美日韩在线观看视频小说| 日本不卡视频在线| 久久久影院免费| 国产欧美日韩综合一区在线播放| 久久久久亚洲| 久久99偷拍| 黄色成人在线网址| 精品三级av| 在线看片日韩| 亚洲专区视频| 久久久男人天堂| 亚洲免费黄色| 欧美日韩国产欧| 国产精品黄网站| 91久久久久| 麻豆精品av| 午夜亚洲福利| 在线成人直播| 精品国产第一福利网站| 欧美一区网站| 一区免费在线| 成人午夜国产| 欧美午夜三级| 免费观看在线综合| 色偷偷色偷偷色偷偷在线视频| 亚洲毛片一区| 欧美日韩国产高清| 亚洲啊v在线| 精品三级av在线导航| 亚洲一区av| 一区二区小说| 高清不卡亚洲| 日韩高清一区在线| 在线亚洲欧美| 国产一区日韩一区| 欧美日韩视频免费观看| 久久不见久久见国语| 日韩动漫一区| 综合色一区二区| 国产亚洲精品久久久久婷婷瑜伽| 五月天av在线| 欧美国产美女| 福利一区二区三区视频在线观看| 国产美女撒尿一区二区| 亚洲影院天堂中文av色| 国产欧美日韩在线观看视频| 亚洲精品福利| 蜜桃一区二区三区在线| 国产精品嫩草99av在线| 亚洲精品一二三区区别| 国产精品97| 一区视频在线| 免费中文字幕日韩欧美| 91久久国产|