Java實現四連環棋遊戲 | 四子棋java

每下一個棋子時就依次橫向和縱向做出判斷是否連成四子,以四子棋的顏色為判斷基礎,如果橫向和縱向都不符合要求,開始進行斜著判斷,直到發現四子相同 ...程式人生>程式設計>Java實現四連環棋遊戲Java實現四連環棋遊戲阿新•來源:網路•發佈:2020-10-29本文例項為大家分享了Java實現四連環棋遊戲的具體程式碼,供大家參考,具體內容如下遊戲規則:(1)雙人遊戲,有黑紅兩色棋子,雙方各執一色棋子。

(2)空棋局開盤,黑棋先發,從最上面一行開始下,棋子會落到最下行。

(3)黑、紅交替下子,每次只能下一子,從最上行開始下。

(4)棋子下在任何位置,都會掉落至該列的最下方的空格處,只有該列已有棋子時,該棋子才落在該列最上面棋子的上一格(就是往上摞棋子),以此類推。

(5)棋子下定後便不可以移動。

(6)不許悔棋,下定即確定。

(7)允許中途認輸,則對方獲勝。

(8)哪一方最先出現橫或豎或斜向四顆同色已落子,則該方獲勝。

(9)若棋子填滿雙方仍未分出勝負則平局遊戲原型:功能實現:定義一個居中視窗,用畫板畫出6x7的格子。

新增滑鼠監聽器,滑鼠點選時獲取座標,用陣列儲存黑紅雙方棋子位置。

給下黑棋賦一個布林值,黑子下完後改變布林值,改為下紅棋的布林值,實現黑紅棋交替下在棋盤上。

通過查詢空格的方法,使棋子下在任何位置,都會落在該列格子中最下面的空格子裡,如果該列已有棋子,則該棋子落在該列最上面的棋子的上一格空格處。

每下一個棋子時就依次橫向和縱向做出判斷是否連成四子,以四子棋的顏色為判斷基礎,如果橫向和縱向都不符合要求,開始進行斜著判斷,直到發現四子相同為止,如果都不成立就代表沒有連成四子,如果棋盤下滿了仍未有任意一方連成同色四子,則為雙方平局。

設定重新開始、遊戲規則、退出遊戲、認輸選項,用獲取到的座標確定選擇的是哪個功能,點選後會彈出居中的訊息框,判斷是否確定選擇。

程式碼部分如下:packagechess;importjava.awt.Color;importjava.awt.Graphics;importjava.awt.event.MouseEvent;importjava.awt.event.MouseListener;importjava.awt.image.BufferedImage;importjava.io.IOException;importjavax.imageio.ImageIO;importjavax.swing.JFrame;importjavax.swing.JOptionPane;publicclass四連環棋extendsJFrameimplementsMouseListener{/***為了在反序列化時,確保類版本的相容性,最好在每個要序列化的類中加入privatestaticfinallongserialVersionUID這個屬性,具體數值自己定義.*/privatestaticfinallongserialVersionUID=7715397504806319506L;int[][]allChess=newint[7][6];//用陣列來儲存棋子,0表示無子,1表示黑子,2表示紅子int[]chessX=newint[42];//儲存棋譜,記錄雙方每一步落子的位置int[]chessY=newint[42];intx;//定義滑鼠的座標inty;booleanisblack=true;//用來表示黑子還是紅子,true表示黑子false表示紅子booleancanPlay=true;//用來表示當前遊戲是否結束BufferedImagebackground;四連環棋(){setBounds(600,270,580,450);//設定視窗的位置座標,距左上角的,視窗的大小setVisible(true);//顯示視窗setTitle("四連環棋");setBackground(Color.yellow);addMouseListener(this);setDefaultCloseOperation(EXIT_ON_CLOSE);setResizable(false);//不可改變大小}//畫棋盤介面publicvoidpaint(Graphicsg){//異常處理,找不到背景圖片try{background=ImageIO.read(getClass().getResource("5.png"));}catch(IOExceptionm){m.printStackTrace();}g.drawImag


常見健康問答


延伸文章資訊