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

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

Java實現五子棋的基礎方法

瀏覽:142日期: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久久,三上悠亚国产精品一区二区三区
免费观看在线色综合| 欧美自拍一区| 精品资源在线| 国产日产一区| 国产麻豆精品| 欧美精品导航| 精品久久免费| www在线观看黄色| 国语对白精品一区二区| 国产精品蜜芽在线观看| 香蕉视频亚洲一级| 99精品美女| 99热精品在线| 不卡av一区二区| 中国女人久久久| 老鸭窝毛片一区二区三区| 玖玖玖国产精品| 日韩精品第二页| 国产精品777777在线播放| 久久精品系列| 久久精品91| 性欧美精品高清| 日韩精品三区四区| 国产精品1区| 日韩av自拍| 偷拍欧美精品| 日韩高清中文字幕一区| 精品一区视频| 国产h片在线观看| 黄色欧美日韩| 青草国产精品| 97精品一区| 天堂成人国产精品一区| 国产精品一级在线观看| 欧美成人精品三级网站| 亚洲一区二区三区在线免费| 国产欧美一区二区精品久久久| 国产成人精品一区二区三区免费| 久久三级福利| 蜜臀av一区二区在线免费观看| 国产三级精品三级在线观看国产| 国产伦久视频在线观看| 中文一区一区三区免费在线观 | 美日韩一区二区三区| 亚洲精品.com| 亚洲精品在线国产| 精品久久久中文字幕| 婷婷丁香综合| 免费在线欧美黄色| 99xxxx成人网| 国产精品久久久久久妇女 | 亚洲少妇在线| 国产极品久久久久久久久波多结野| 久久国产成人午夜av影院宅| 91伊人久久| 国产综合精品| 久久wwww| 美女精品在线| 欧美激情另类| 日本中文字幕不卡| 成人自拍av| 日本欧美一区二区在线观看| 亚洲国内精品| 欧美成人aaa| 亚洲一区国产| 日韩av免费大片| 青青草精品视频| 99视频精品免费观看| 国产在线观看91一区二区三区 | 日本欧美在线看| 免费一二一二在线视频| 日韩av网站在线免费观看| 精品一区在线| 成人一区不卡| 久久精品72免费观看| 日韩一级网站| 久久久国产精品一区二区中文| 五月激激激综合网色播| 久久久久久久久久久妇女| 久久爱www成人| 日韩一区二区三区精品| 欧美在线网站| 久久美女性网| 国产不卡精品| 久久国内精品| 亚洲婷婷丁香| 在线亚洲自拍| 国产一区清纯| 欧美日韩尤物久久| 国产成人精品亚洲线观看| 国产精品男女| 亚洲精品无吗| 欧美日韩国产探花| 日韩欧美国产精品综合嫩v| 国产精品色婷婷在线观看| 亚洲三级精品| 日韩制服丝袜av| 一区在线免费| 婷婷亚洲五月色综合| 国产91精品对白在线播放| 日本不卡免费高清视频在线| 精品亚洲免a| 牛牛精品成人免费视频| 国产精品porn| 美女视频黄免费的久久| 国产精品三级| 国产福利亚洲| 国产亚洲精aa在线看| 日韩国产91| 欧美一区久久| 欧美一区二区三区久久精品| 日韩av中文在线观看| 91亚洲精品在看在线观看高清| 婷婷视频一区二区三区| 亚洲理论在线| 亚洲精品综合| 亚洲精品影院在线观看| 亚洲精品欧美| 欧美永久精品| 免费在线成人| 不卡专区在线| 久久久成人网| 亚洲黑丝一区二区| 99久久亚洲精品蜜臀| 激情欧美亚洲| 99成人在线| 亚洲区国产区| 日韩av一级片| 你懂的亚洲视频| 国产精品二区不卡| 亚洲天堂免费电影| av在线日韩| 欧美日韩第一| 国产美女精品| 日韩激情啪啪| 国产精品伦一区二区| 精品一区二区三区中文字幕视频| 精品久久福利| 日韩一区欧美| 好看的av在线不卡观看| 亚洲一区二区三区高清| 亚洲精品少妇| 国产精品亚洲综合在线观看| 国产精品视频一区二区三区| 国精品产品一区| 欧美影院三区| 在线观看一区| 国产精品一国产精品k频道56| 国精品产品一区| 国产在线欧美| 日韩欧美久久| 国产一区二区三区亚洲| 成人午夜精品| 久久国产精品亚洲77777| 欧美偷窥清纯综合图区| 91亚洲国产成人久久精品| 亚洲精品午夜av福利久久蜜桃| 亚州国产精品| 国产精品66| 亚洲午夜精品久久久久久app| 午夜在线播放视频欧美| 国产欧美一区二区三区国产幕精品| 国产一区二区三区网| 欧美91福利在线观看| 综合亚洲色图| 国产成人精品一区二区三区免费| 免费国产自久久久久三四区久久| 日韩专区欧美专区| 久久免费视频66| 亚洲精品97| 国产精品久久777777毛茸茸| 亚洲成人国产| 青青草91久久久久久久久| 日韩不卡免费高清视频| 一区二区三区网站| 国产一区二区视频在线看| 国产精品美女久久久| 久久精品国产99国产精品| japanese国产精品| 国产精品一级| 一本一本久久| 超碰99在线| 五月国产精品| 超碰99在线| 三级久久三级久久久| 日韩成人亚洲| 久久国内精品| 欧美午夜不卡| 国模大尺度视频一区二区| 蜜桃一区二区三区在线| 成人影视亚洲图片在线| 中文字幕亚洲影视| 国产超碰精品| 国产精品九九| 免费在线观看日韩欧美| 不卡福利视频| 国产精品一卡| 久久性天堂网| 桃色av一区二区| 欧美日韩亚洲一区|