iT邦幫忙

0

Day 22 | 遊戲開發(一)

  • 分享至 

  • xImage
  •  

從今天開始,我們要將前面 21 天所學到的所有 Java 核心觀念(類別、繼承、多型、ArrayList、二維陣列、例外處理與檔案讀寫)全部串聯起來,製作一個簡單的小遊戲。


  • 先建立project。
    https://ithelp.ithome.com.tw/upload/images/20261017/20184397lDxSu6HYNn.png
  1. 匯入必要的GUI套件
    引入Java提供的視窗與事件處理相關函式庫:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

說明:

java.awt.*:提供基本的視窗元件佈局(如 BorderLayout)與顏色、字型控制。
java.awt.event.*:用來處理滑鼠點擊、鍵盤互動等事件監聽。
javax.swing.*:提供現代化的圖形介面元件(如 JFrame、JPanel、JButton、JLabel)。
  1. 定義視窗尺寸與初始化
    建立一個名為 TicTacToe 的類別,並在其中定義視窗的寬高常數,以及建立主視窗物件 JFrame:
public class TicTacToe {
    int boardWidth = 600;
    int boardHeight = 650; // 預留 50 像素給上方的文字面板(顯示輪到誰或遊戲結果)

    JFrame frame = new JFrame();

    // 建構子:初始化視窗屬性
    TicTacToe() {
        // 1. 設置視窗是否可見
        frame.setVisible(true);
        
        // 2. 設置視窗的寬度與高度
        frame.setSize(boardWidth, boardHeight);
        
        // 3. 讓視窗開啟時自動置中於螢幕中央
        frame.setLocationRelativeTo(null);
        
        // 4. 固定視窗大小,不允許使用者隨意拉伸調整
        frame.setResizable(false);
        
        // 5. 設定當使用者點擊視窗的「X」關閉按鈕時,直接終止程式執行
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        
        // 6. 設定視窗的佈局管理器為邊界佈局(BorderLayout)
        frame.setLayout(new BorderLayout());
    }
}

說明:

* 視窗尺寸規劃:將高度設為 650 像素,其中 600 像素留給下方的 3x3 棋盤,另外 50 像素則預留給頂部用來顯示「目前輪到誰」的文字面板。   
* setResizable(false):將視窗鎖定大小,避免玩家手動放大縮小視窗導致排版跑版。   setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE):確保點擊右上角關閉時,背景的 Java 執行緒能徹底釋放並關閉程式。   
* BorderLayout:採用邊界佈局,方便我們後續把頂部的文字區塊(North)與底部的九宮格遊戲面板(Center)完美拼湊在一起。
  • 跑出來長這樣子:
    https://ithelp.ithome.com.tw/upload/images/20261017/20184397mIne8kDPYk.png

  • 參考教學影片:https://youtu.be/Nc77ymnm8Ss?si=Z12SF2rbfU1xC14d


*提醒邦友,使用第三方服務/API 時,請務必評估資安風險與隱私保護
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言