溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么用Java實現(xiàn)三子棋游戲

發(fā)布時間:2022-05-05 09:19:18 來源:億速云 閱讀:316 作者:iii 欄目:開發(fā)技術(shù)

本文小編為大家詳細(xì)介紹“怎么用Java實現(xiàn)三子棋游戲”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“怎么用Java實現(xiàn)三子棋游戲”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識吧。

一、題目要求

編寫程序,實現(xiàn)簡單的三子棋游戲。在三子棋中,雙方在3×3的棋盤中輪流下棋,一方用*示,另一方用O表示。如果一方的3個棋子占據(jù)了同一行,同一列或者對角線,則該方獲勝。如果棋盤已被棋子占滿,但沒有一方獲勝則出現(xiàn)平局。在程序中,一方為用戶,用戶在界面上輸入每次下棋的位置;另一方下棋的位置為隨機自動生成。

二、代碼示例

import javax.swing.JOptionPane;
 
public class Main {
 
    public static void main(String[] args) {
        char []s=new char[9];
        for(int i=0;i<9;i++) {
            s[i]=(char)(i+49);
        }
        int i=0;
        while(i++<5) {
            String str=JOptionPane.showInputDialog("------------------\n"
                 +"|  "+s[0]+"  |  "+s[1]+"  |  "+s[2]+"  |\n"
                 +"|  "+s[3]+"  |  "+s[4]+"  |  "+s[5]+"  |\n"
                 +"|  "+s[6]+"  |  "+s[7]+"  |  "+s[8]+"  |\n"
                 +"------------------\n"
                 + "請輸入位置:");
            while(str.length()==0||(str.charAt(0)-49)<0||(str.charAt(0)-49)>8) {
                str=JOptionPane.showInputDialog("------------------\n"
                     +"|  "+s[0]+"  |  "+s[1]+"  |  "+s[2]+"  |\n"
                     +"|  "+s[3]+"  |  "+s[4]+"  |  "+s[5]+"  |\n"
                     +"|  "+s[6]+"  |  "+s[7]+"  |  "+s[8]+"  |\n"
                     +"------------------\n"
                     + "輸入錯誤,請重新輸入:");
            }
            char index=str.charAt(0);
            while(s[index-49]=='*'||s[index-49]=='o') {
                str=JOptionPane.showInputDialog("------------------\n"
                     +"|  "+s[0]+"  |  "+s[1]+"  |  "+s[2]+"  |\n"
                     +"|  "+s[3]+"  |  "+s[4]+"  |  "+s[5]+"  |\n"
                     +"|  "+s[6]+"  |  "+s[7]+"  |  "+s[8]+"  |\n"
                     +"------------------\n"
                     + "此位置已占用,請重新輸入:");
                index=str.charAt(0);
                while(str.length()==0||(str.charAt(0)-49)<0||(str.charAt(0)-49)>8) {
                    str=JOptionPane.showInputDialog("------------------\n"
                         +"|  "+s[0]+"  |  "+s[1]+"  |  "+s[2]+"  |\n"
                         +"|  "+s[3]+"  |  "+s[4]+"  |  "+s[5]+"  |\n"
                         +"|  "+s[6]+"  |  "+s[7]+"  |  "+s[8]+"  |\n"
                         +"------------------\n"
                         + "輸入錯誤,請重新輸入:");
                }
            }
            s[index-49]='*';
            if((s[0]=='*'&&s[3]=='*'&&s[6]=='*')||
                       (s[1]=='*'&&s[4]=='*'&&s[7]=='*')||
                       (s[2]=='*'&&s[5]=='*'&&s[8]=='*')||
                       (s[0]=='*'&&s[1]=='*'&&s[2]=='*')||
                       (s[3]=='*'&&s[4]=='*'&&s[5]=='*')||
                       (s[6]=='*'&&s[7]=='*'&&s[8]=='*')||
                       (s[0]=='*'&&s[4]=='*'&&s[8]=='*')||
                       (s[2]=='*'&&s[4]=='*'&&s[6]=='*')) 
            {
                JOptionPane.showMessageDialog(null, "------------------\n"
                     +"|  "+s[0]+"  |  "+s[1]+"  |  "+s[2]+"  |\n"
                     +"|  "+s[3]+"  |  "+s[4]+"  |  "+s[5]+"  |\n"
                     +"|  "+s[6]+"  |  "+s[7]+"  |  "+s[8]+"  |\n"
                     +"------------------\n"
                     + "恭喜你贏了");
                break;
            }
            int b=(int)(Math.random()*9);
            while(s[b]=='*'||s[b]=='o')
            {
                b=(int)(Math.random()*9);
            }
            s[b]='o';
            if((s[0]=='o'&&s[3]=='o'&&s[6]=='o')||
                       (s[1]=='o'&&s[4]=='o'&&s[7]=='o')||
                       (s[2]=='o'&&s[5]=='o'&&s[8]=='o')||
                       (s[0]=='o'&&s[1]=='o'&&s[2]=='o')||
                       (s[3]=='o'&&s[4]=='o'&&s[5]=='o')||
                       (s[6]=='o'&&s[7]=='o'&&s[8]=='o')||
                       (s[0]=='o'&&s[4]=='o'&&s[8]=='o')||
                       (s[2]=='o'&&s[4]=='o'&&s[6]=='o')) 
            {
                JOptionPane.showMessageDialog(null, "------------------\n"
                     +"|  "+s[0]+"  |  "+s[1]+"  |  "+s[2]+"  |\n"
                     +"|  "+s[3]+"  |  "+s[4]+"  |  "+s[5]+"  |\n"
                     +"|  "+s[6]+"  |  "+s[7]+"  |  "+s[8]+"  |\n"
                     +"------------------\n"
                     + "失敗了,再接再勵");
                break;
            }
 
        }
        if(i==6) {
            JOptionPane.showMessageDialog(null, "------------------\n"
                     +"|  "+s[0]+"  |  "+s[1]+"  |  "+s[2]+"  |\n"
                     +"|  "+s[3]+"  |  "+s[4]+"  |  "+s[5]+"  |\n"
                     +"|  "+s[6]+"  |  "+s[7]+"  |  "+s[8]+"  |\n"
                     +"------------------\n"
                     + "平局,還差一點哦");
        }
    }
}

讀到這里,這篇“怎么用Java實現(xiàn)三子棋游戲”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI