java實(shí)現(xiàn)簡(jiǎn)單五子棋小游戲(2)
本文實(shí)例為大家分享了java實(shí)現(xiàn)簡(jiǎn)單五子棋小游戲游戲的具體代碼,供大家參考,具體內(nèi)容如下
講解
在第一步實(shí)現(xiàn)的基礎(chǔ)上,添加游戲結(jié)束條件。
五子棋游戲中的相同棋子如果同時(shí)有五個(gè)連接成一條線就說(shuō)明游戲結(jié)束。
代碼實(shí)現(xiàn)如下:
if(count!=0){
? ? ?? ??? ??? ?//判斷每一行
? ? ?? ??? ??? ?for(int j=0;j<11;j++){
? ? ?? ??? ??? ??? ?for(int i=0;i<7;i++){
? ? ? ? ?? ??? ??? ??? ?if(chessboard[j][i]==1&&chessboard[j][i+1]==1&&chessboard[j][i+2]==1&&chessboard[j][i+3]==1&&chessboard[j][i+4]==1){
? ? ? ? ?? ??? ??? ??? ??? ?System.out.println("游戲結(jié)束,黑棋獲勝");
? ? ? ? ?? ??? ??? ??? ??? ?break;
? ? ? ? ?? ??? ??? ??? ?}
? ? ? ? ?? ??? ??? ??? ?if(chessboard[j][i]==2&&chessboard[j][i+1]==2&&chessboard[j][i+2]==2&&chessboard[j][i+3]==2&&chessboard[j][i+4]==2){
? ? ? ? ?? ??? ??? ??? ??? ?System.out.println("游戲結(jié)束,白棋獲勝");
? ? ? ? ?? ??? ??? ??? ??? ?break;
? ? ? ? ?? ??? ??? ??? ?}
? ? ? ? ?? ??? ??? ?}
? ? ?? ??? ??? ?}
? ? ?? ??? ??? ?//判斷每一列
? ? ?? ??? ??? ?for(int j=0;j<11;j++){
? ? ?? ??? ??? ??? ?for(int i=0;i<7;i++){
? ? ? ? ?? ??? ??? ??? ?if(chessboard[i][j]==1&&chessboard[i+1][j]==1&&chessboard[i+2][j]==1&&chessboard[i+3][j]==1&&chessboard[i+4][j]==1){
? ? ? ? ?? ??? ??? ??? ??? ?System.out.println("游戲結(jié)束,黑棋獲勝");
? ? ? ? ?? ??? ??? ??? ??? ?break;
? ? ? ? ?? ??? ??? ??? ?}
? ? ? ? ?? ??? ??? ??? ?if(chessboard[i][j]==2&&chessboard[i+1][j]==2&&chessboard[i+2][j]==2&&chessboard[i+3][j]==2&&chessboard[i+4][j]==2){
? ? ? ? ?? ??? ??? ??? ??? ?System.out.println("游戲結(jié)束,白棋獲勝");
? ? ? ? ?? ??? ??? ??? ??? ?break;
? ? ? ? ?? ??? ??? ??? ?}
? ? ? ? ?? ??? ??? ?}
? ? ?? ??? ??? ?}
? ? ?? ??? ??? ?//左上到右下
? ? ?? ??? ??? ?for(int j=0;j<7;j++){
? ? ?? ??? ??? ??? ?for(int i=0;i<7;i++){
? ? ? ? ?? ??? ??? ??? ?if(chessboard[j][i]==1&&chessboard[j+1][i+1]==1&&chessboard[j+2][i+2]==1&&chessboard[j+3][i+3]==1&&chessboard[j+4][i+4]==1){
? ? ? ? ?? ??? ??? ??? ??? ?System.out.println("游戲結(jié)束,黑棋獲勝");
? ? ? ? ?? ??? ??? ??? ??? ?break;
? ? ? ? ?? ??? ??? ??? ?}
? ? ? ? ?? ??? ??? ??? ?if(chessboard[j][i]==2&&chessboard[j+1][i+1]==2&&chessboard[j+2][i+2]==2&&chessboard[j+3][i+3]==2&&chessboard[j+4][i+4]==2){
? ? ? ? ?? ??? ??? ??? ??? ?System.out.println("游戲結(jié)束,白棋獲勝");
? ? ? ? ?? ??? ??? ??? ??? ?break;
? ? ? ? ?? ??? ??? ??? ?}
? ? ? ? ?? ??? ??? ?}
? ? ?? ??? ??? ?}
? ? ?? ??? ??? ?//右上到左下
? ? ?? ??? ??? ?for(int j=0;j<7;j++){
? ? ?? ??? ??? ??? ?for(int i=10;i>=4;i--){
? ? ? ? ?? ??? ??? ??? ?if(chessboard[j][i]==1&&chessboard[j+1][i-1]==1&&chessboard[j+2][i-2]==1&&chessboard[j+3][i-3]==1&&chessboard[j+4][i-4]==1){
? ? ? ? ?? ??? ??? ??? ??? ?System.out.println("游戲結(jié)束,黑棋獲勝");
? ? ? ? ?? ??? ??? ??? ??? ?break;
? ? ? ? ?? ??? ??? ??? ?}
? ? ? ? ?? ??? ??? ??? ?if(chessboard[j][i]==2&&chessboard[j+1][i-1]==2&&chessboard[j+2][i-2]==2&&chessboard[j+3][i-3]==2&&chessboard[j+4][i-4]==2){
? ? ? ? ?? ??? ??? ??? ??? ?System.out.println("游戲結(jié)束,白棋獲勝");
? ? ? ? ?? ??? ??? ??? ??? ?break;
? ? ? ? ?? ??? ??? ??? ?}
? ? ? ? ?? ??? ??? ?}
? ? ?? ??? ??? ?}
? ? ?? ??? ?}
? ? ?? ??? ?else{
? ? ?? ??? ??? ?//System.out.println("游戲結(jié)束");
? ? ?? ??? ??? ?int flag=0;
? ? ?? ??? ??? ?for(int j=0;j<11;j++){
? ? ?? ??? ??? ??? ?for(int i=0;i<7;i++){
? ? ? ? ?? ??? ??? ??? ?if(chessboard[j][i]==1&&chessboard[j][i+1]==1&&chessboard[j][i+2]==1&&chessboard[j][i+3]==1&&chessboard[j][i+4]==1){
? ? ? ? ?? ??? ??? ??? ??? ?System.out.println("游戲結(jié)束,黑棋獲勝");
? ? ? ? ?? ??? ??? ??? ??? ?flag=1;
? ? ? ? ?? ??? ??? ??? ??? ?break;
? ? ? ? ?? ??? ??? ??? ?}
? ? ? ? ?? ??? ??? ??? ?if(chessboard[j][i]==2&&chessboard[j][i+1]==2&&chessboard[j][i+2]==2&&chessboard[j][i+3]==2&&chessboard[j][i+4]==2){
? ? ? ? ?? ??? ??? ??? ??? ?System.out.println("游戲結(jié)束,白棋獲勝");
? ? ? ? ?? ??? ??? ??? ??? ?flag=1;
? ? ? ? ?? ??? ??? ??? ??? ?break;
? ? ? ? ?? ??? ??? ??? ?}
? ? ? ? ?? ??? ??? ?}
? ? ?? ??? ??? ?}
? ? ?? ??? ??? ?for(int j=0;j<11;j++){
? ? ?? ??? ??? ??? ?for(int i=0;i<7;i++){
? ? ? ? ?? ??? ??? ??? ?if(chessboard[i][j]==1&&chessboard[i+1][j]==1&&chessboard[i+2][j]==1&&chessboard[i+3][j]==1&&chessboard[i+4][j]==1){
? ? ? ? ?? ??? ??? ??? ??? ?System.out.println("游戲結(jié)束,黑棋獲勝");
? ? ? ? ?? ??? ??? ??? ??? ?flag=1;
? ? ? ? ?? ??? ??? ??? ??? ?break;
? ? ? ? ?? ??? ??? ??? ?}
? ? ? ? ?? ??? ??? ??? ?if(chessboard[i][j]==2&&chessboard[i+1][j]==2&&chessboard[i+2][j]==2&&chessboard[i+3][j]==2&&chessboard[i+4][j]==2){
? ? ? ? ?? ??? ??? ??? ??? ?System.out.println("游戲結(jié)束,白棋獲勝");
? ? ? ? ?? ??? ??? ??? ??? ?flag=1;
? ? ? ? ?? ??? ??? ??? ??? ?break;
? ? ? ? ?? ??? ??? ??? ?}
? ? ? ? ?? ??? ??? ?}
? ? ?? ??? ??? ?}
? ? ?? ??? ??? ?for(int j=0;j<7;j++){
? ? ?? ??? ??? ??? ?for(int i=0;i<7;i++){
? ? ? ? ?? ??? ??? ??? ?if(chessboard[j][i]==1&&chessboard[j+1][i+1]==1&&chessboard[j+2][i+2]==1&&chessboard[j+3][i+3]==1&&chessboard[j+4][i+4]==1){
? ? ? ? ?? ??? ??? ??? ??? ?System.out.println("游戲結(jié)束,黑棋獲勝");
? ? ? ? ?? ??? ??? ??? ??? ?flag=1;
? ? ? ? ?? ??? ??? ??? ??? ?break;
? ? ? ? ?? ??? ??? ??? ?}
? ? ? ? ?? ??? ??? ??? ?if(chessboard[j][i]==2&&chessboard[j+1][i+1]==2&&chessboard[j+2][i+2]==2&&chessboard[j+3][i+3]==2&&chessboard[j+4][i+4]==2){
? ? ? ? ?? ??? ??? ??? ??? ?System.out.println("游戲結(jié)束,白棋獲勝");
? ? ? ? ?? ??? ??? ??? ??? ?flag=1;
? ? ? ? ?? ??? ??? ??? ??? ?break;
? ? ? ? ?? ??? ??? ??? ?}
? ? ? ? ?? ??? ??? ?}
? ? ?? ??? ??? ?}
? ? ?? ??? ??? ?for(int j=0;j<7;j++){
? ? ?? ??? ??? ??? ?for(int i=10;i>=4;i--){
? ? ? ? ?? ??? ??? ??? ?if(chessboard[j][i]==1&&chessboard[j+1][i-1]==1&&chessboard[j+2][i-2]==1&&chessboard[j+3][i-3]==1&&chessboard[j+4][i-4]==1){
? ? ? ? ?? ??? ??? ??? ??? ?System.out.println("游戲結(jié)束,黑棋獲勝");
? ? ? ? ?? ??? ??? ??? ??? ?flag=1;
? ? ? ? ?? ??? ??? ??? ??? ?break;
? ? ? ? ?? ??? ??? ??? ?}
? ? ? ? ?? ??? ??? ??? ?if(chessboard[j][i]==2&&chessboard[j+1][i-1]==2&&chessboard[j+2][i-2]==2&&chessboard[j+3][i-3]==2&&chessboard[j+4][i-4]==2){
? ? ? ? ?? ??? ??? ??? ??? ?System.out.println("游戲結(jié)束,白棋獲勝");
? ? ? ? ?? ??? ??? ??? ??? ?flag=1;
? ? ? ? ?? ??? ??? ??? ??? ?break;
? ? ? ? ?? ??? ??? ??? ?}
? ? ? ? ?? ??? ??? ?}
? ? ?? ??? ??? ?}
? ? ?? ??? ??? ?if(flag==0){
? ? ?? ??? ??? ??? ?System.out.println("游戲結(jié)束,平局");
? ? ?? ??? ??? ?}
? ? ?? ??? ?}每次都要判斷是否游戲結(jié)束,如果結(jié)束了就需要輸出白棋還是黑棋勝。如果棋盤(pán)被填滿了,那么我們還需要判斷是否有平局的情況發(fā)生。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- java實(shí)現(xiàn)單機(jī)版五子棋
- java實(shí)現(xiàn)五子棋小游戲
- java基于swing實(shí)現(xiàn)的五子棋游戲代碼
- Java實(shí)現(xiàn)五子棋網(wǎng)絡(luò)版
- Java實(shí)現(xiàn)兩人五子棋游戲(二) 畫(huà)出棋盤(pán)
- java實(shí)現(xiàn)單人版五子棋游戲
- Java編程實(shí)現(xiàn)五子棋人人對(duì)戰(zhàn)代碼示例
- Java實(shí)現(xiàn)五子棋AI算法
- Java棋類(lèi)游戲?qū)嵺`之單機(jī)版五子棋
- Java實(shí)現(xiàn)五子棋(附詳細(xì)源碼)
相關(guān)文章
SpringCloud配置客戶端ConfigClient接入服務(wù)端
這篇文章主要為大家介紹了SpringCloud配置客戶端ConfigClient接入服務(wù)端,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08
JPA延遲加載no Session報(bào)錯(cuò)解決分析
這篇文章主要為大家介紹了JPA延遲加載no Session報(bào)錯(cuò)解決分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09
Java實(shí)現(xiàn)電影院訂票系統(tǒng)代碼
這篇文章主要介紹了Java實(shí)現(xiàn)電影院訂票系統(tǒng)代碼,代碼實(shí)現(xiàn)了界面類(lèi)登錄注冊(cè)類(lèi),用戶類(lèi)等,具有一定參考價(jià)值,需要的朋友可以參考下。2017-11-11
SpringBoot深入分析webmvc和webflux的區(qū)別
這篇文章主要介紹了SpringBoot深入分析webmvc和webflux的區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2023-02-02
Java8通過(guò)CompletableFuture實(shí)現(xiàn)異步回調(diào)
這篇文章主要介紹了Java8通過(guò)CompletableFuture實(shí)現(xiàn)異步回調(diào),CompletableFuture是Java?8?中新增的一個(gè)類(lèi),它是對(duì)Future接口的擴(kuò)展,下文關(guān)于其更多相關(guān)詳細(xì)介紹需要的小伙伴可以參考一下2022-04-04
springboot+vue制作后臺(tái)管理系統(tǒng)項(xiàng)目
本文詳細(xì)介紹了后臺(tái)管理使用springboot+vue制作,以分步驟、圖文的形式詳細(xì)講解,大家有需要的可以參考參考2021-08-08
Java利用Request請(qǐng)求獲取IP地址的方法詳解
在開(kāi)發(fā)中我們經(jīng)常需要獲取用戶IP地址,通過(guò)地址來(lái)實(shí)現(xiàn)一些功能,下面這篇文章主要給大家介紹了關(guān)于Java利用Request請(qǐng)求獲取IP地址的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-10-10

