java實現(xiàn)簡單五子棋小游戲(2)
本文實例為大家分享了java實現(xiàn)簡單五子棋小游戲游戲的具體代碼,供大家參考,具體內(nèi)容如下
講解
在第一步實現(xiàn)的基礎(chǔ)上,添加游戲結(jié)束條件。
五子棋游戲中的相同棋子如果同時有五個連接成一條線就說明游戲結(jié)束。
代碼實現(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é)束了就需要輸出白棋還是黑棋勝。如果棋盤被填滿了,那么我們還需要判斷是否有平局的情況發(fā)生。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
SpringCloud配置客戶端ConfigClient接入服務(wù)端
這篇文章主要為大家介紹了SpringCloud配置客戶端ConfigClient接入服務(wù)端,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-08-08
SpringBoot深入分析webmvc和webflux的區(qū)別
這篇文章主要介紹了SpringBoot深入分析webmvc和webflux的區(qū)別,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2023-02-02
Java8通過CompletableFuture實現(xiàn)異步回調(diào)
這篇文章主要介紹了Java8通過CompletableFuture實現(xiàn)異步回調(diào),CompletableFuture是Java?8?中新增的一個類,它是對Future接口的擴展,下文關(guān)于其更多相關(guān)詳細介紹需要的小伙伴可以參考一下2022-04-04
springboot+vue制作后臺管理系統(tǒng)項目
本文詳細介紹了后臺管理使用springboot+vue制作,以分步驟、圖文的形式詳細講解,大家有需要的可以參考參考2021-08-08

