Java基本技術講解

一、基礎語法三要素
暫時無法在飛書文檔外展示此內容

🔑 黃金法則?:每個變量都要聲明類型!


二、程序邏輯控制(游戲行為核心)

  1. 條件判斷:if-else - “岔路口選擇”
    // 撿到金幣邏輯
    if (isTouching(Coin.class)) { // 如果碰到金幣
    score += 1; // 分數+1
    removeTouching(Coin.class); // 刪除金幣
    } else { // 否則
    move(); // 繼續前進
    }
  2. 循環結構:for - “重復做N次”
    // 生成3個敵人
    for (int i=0; i<3; i++) {
    getWorld().addObject(new Enemy(), 100, 50*i);
    }

三、面向對象編程(OOP)核心概念
🧩 三大特性圖解
graph TB
A[類Class] -->|設計圖| B[對象Object]
A -->|繼承| C[子類Subclass]
B -->|封裝| D[方法Method]
[圖片]

  1. 類與對象:?樂高說明書 vs 拼好的模型
    // 定義怪物類(說明書)
    class Monster extends Actor {
    private int hp = 50; // 封裝血量

    // 行為:碰到子彈掉血
    public void act() {
    if (isTouching(Bullet.class)) {
    hp -= 10; // 減血
    }
    }
    }

// 創建具體怪物(模型)
Monster zombie = new Monster();
2. 繼承:?子類獲得超能力
class FlyingMonster extends Monster { // 繼承Monster
public void fly() { // 新增飛行能力
setLocation(getX(), getY()-5);
}
}


四、Greenfoot專屬技術核心
🕹? 游戲開發四步法

  1. 創建World?(舞臺)
    public class GameWorld extends World {
    public GameWorld() {
    super(800, 600, 1); // 寬800px, 高600px
    addObject(new Player(), 100, 300);
    }
    }
  2. 定義Actor行為?(角色行動)
    public void act() {
    checkKeyPress(); // 檢測按鍵
    checkCollision(); // 碰撞檢測
    }
  3. 交互檢測?(碰撞/按鍵)
    // 按空格發射子彈
    if(Greenfoot.isKeyDown(“space”)) {
    getWorld().addObject(new Bullet(), getX(), getY());
    }
  4. 游戲狀態管理
    // 血量歸零游戲結束
    if (hp <= 0) {
    Greenfoot.playSound(“game_over.wav”);
    Greenfoot.stop(); // 停止游戲
    }

五、實用代碼片段庫
🎮 鍵盤控制角色移動
public void act() {
if (Greenfoot.isKeyDown(“left”)) setRotation(180);
if (Greenfoot.isKeyDown(“right”)) setRotation(0);
if (Greenfoot.isKeyDown(“up”)) setRotation(270);
if (Greenfoot.isKeyDown(“down”)) setRotation(90);
move(3); // 持續移動
}
💥 碰撞檢測與處理
// 碰到敵人掉血
Actor enemy = getOneIntersectingObject(Enemy.class);
if(enemy != null) {
hp -= 20;
setImage(“hurt.png”); // 顯示受傷動畫
}


? 學習路徑建議

  1. 基礎階段?:先掌握 變量 → 條件判斷 → 循環
  2. 進階階段?:理解 類/對象 → 封裝 → 繼承
  3. 項目實戰?:用Greenfoot實現 → [鍵盤移動] → [發射子彈] → [計分系統]
    ? 效率技巧?:
    在Greenfoot中按 Ctrl + 點擊類名 查看源碼,
    用 右擊場景 → 運行參數 調試游戲速度!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/91714.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/91714.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/91714.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【網絡基礎2】路由器的 “兩扇門”:二層接口和三層接口到底有啥不一樣?

目錄 前言:路由器不是只有 “插網線的口” 一、先搞懂一個基礎:路由器是 “網絡交通樞紐” 二、二層接口:“小區內部的單元門”,只認 “住戶身份證” 1. 啥是二層接口? 2. 用 “小區內部串門” 理解二層接口 步驟 1:手機打包數據,寫上 “收件人身份證” 步驟 2:二…

MLIR TableGen

簡介 TableGen 是一種領域特定語言&#xff08;DSL&#xff09;&#xff0c;TableGen 的設計目標是允許編寫靈活的描述&#xff0c;并將記錄的通用特性提取出來&#xff0c;從而減少重復代碼并提高代碼的可維護性。 TableGen的工作流程&#xff1a; 前端解析&#xff1a; Ta…

2、docker容器命令 | 信息查看

1、命令總覽命令作用docker ps查看運行中的容器&#xff08;-a查看所有容器&#xff09;docker logs [CONTAINER]查看容器日志&#xff08;-f實時追蹤日志&#xff09;docker inspect [CONTAINER]查看容器詳細信息&#xff08;JSON格式&#xff09;docker stats [CONTAINER]實時…

【MySQL】MySQL中鎖有哪些?

一、按照粒度分類&#xff1a; 粒度越小&#xff0c;并發度越高&#xff0c;鎖開銷越大。 1.全局鎖&#xff1a; 作用&#xff1a; 鎖定整個MySQL實例(所有數據庫)。適用場景&#xff1a; 全庫邏輯部分。(確保備份期間數據的一致性。)實現方式&#xff1a; 通過 FLUSH TABLES W…

語義分割--deeplabV3+

根據論文網絡結構圖講一下&#xff1a;網絡分為兩部分&#xff1a;encoder和decoder部分。 Encoder&#xff1a;DCNN就是主干網絡&#xff0c;例如resnet&#xff0c;Xception&#xff0c;MobileNet這些&#xff08;主干網絡也要使用空洞卷積&#xff09;&#xff0c;對dcnn的結…

Azure DevOps 中的代理

必知詞匯 深入研究 Azure DevOps 中的代理之前需要掌握的基本概念: 代理:Azure DevOps 中的代理是一個軟件組件,負責執行流水線中的任務和作業。這可能包括數據中心內的物理服務器、本地或云端托管的虛擬機,甚至是容器化環境。這些代理可以在各種操作系統和環境中運行,例如…

AUTOSAR進階圖解==>AUTOSAR_SRS_ADCDriver

AUTOSAR ADC驅動詳解 基于AUTOSAR標準的ADC驅動模塊需求規范分析目錄 ADC驅動模塊概述 關鍵概念定義 ADC驅動架構 ADC驅動在AUTOSAR分層架構中的位置ADC驅動的主要職責 ADC驅動配置結構 通用配置(AdcGeneral)硬件單元配置(AdcHwUnit)通道配置(AdcChannel)通道組配置(AdcChanne…

寶馬集團與SAP聯合打造生產物流數字化新標桿

在德國雷根斯堡的寶馬工廠&#xff0c;每57秒就有一輛新車下線。這座工廠不僅是汽車制造的基地&#xff0c;更是寶馬集團向SAP S/4HANA云平臺轉型的先鋒項目。通過“RISE with SAP”計劃&#xff0c;寶馬將該工廠的運營系統全面遷移至SAP S/4HANA Cloud Private Edition&#x…

Go 語言實戰:構建一個高性能的 MySQL + Redis 應用

引言&#xff1a;為什么是 Go MySQL Redis&#xff1f;在現代后端技術棧中&#xff0c;Go MySQL Redis 的組合堪稱“黃金搭檔”&#xff0c;被廣泛應用于各種高并發業務場景。Go 語言&#xff1a;以其卓越的并發性能、簡潔的語法和高效的執行效率&#xff0c;成為構建高性能…

Excel超級處理器,多個word表格模板中內容提取到Excel表格中

在職場中&#xff0c;很多人習慣在word里插入表格&#xff0c;設計模板&#xff0c;填寫內容&#xff0c;一旦有多個word文件需要整理在excel表格中&#xff0c;最常見的工作方式就是每個word文件打開&#xff0c;復制&#xff0c;粘貼到excel表格里&#xff0c;這樣的工作方式…

前端工程化:ES6特性

本文為個人學習筆記整理&#xff0c;僅供交流參考&#xff0c;非專業教學資料&#xff0c;內容請自行甄別 文章目錄一、let與var1.1、越獄問題1.2、變量的重復聲明1.3、變量提升問題二、解構2.1、數組解構2.2、對象解構2.3、方法解構三、鏈判斷四、參數默認值五、箭頭函數六、模…

大屏項目展示

一、項目克隆與基礎操作 我們參考的項目 互聯網設備可視化平臺---IofTV-Screen: ??一個基于 vue、datav、Echart 框架的物聯網可視化(大屏展示)模板,提供數據動態刷新渲染、屏幕適應、數據滾動配置,內部圖表自由替換、Mixins注入等功能,持續更新.... 將次項目克隆到本…

基于R語言地理加權回歸、主成份分析、判別分析等空間異質性數據分析實踐技術應用

在自然和社會科學領域有大量與地理或空間有關的數據&#xff0c;這一類數據一般具有嚴重的空間異質性&#xff0c;而通常的統計學方法并不能處理空間異質性&#xff0c;因而對此類型的數據無能為力。以地理加權回歸為基礎的一系列方法&#xff1a;經典地理加權回歸&#xff0c;…

【Flask 基礎 ①】 | 路由、參數與模板渲染

0 序言 Flask 是 Python 生態中一款輕量級 Web 框架&#xff0c;以簡潔、靈活著稱。 學習 Flask 的意義在于&#xff1a; 快速開發&#xff1a;通過少量代碼即可搭建功能完整的 Web 應用&#xff1b;理解原理&#xff1a;其設計清晰體現了 Web 框架的核心邏輯&#xff0c;如路由…

wordpress登陸前登陸后顯示不同的頂部菜單

在WordPress中讓“未登錄”和“已登錄”用戶看到不同的頂部菜單&#xff0c;最干凈、最安全、最可維護的做法是&#xff1a; 在同一個菜單位置(themelocation)里&#xff0c;根據is_user_logged_in()動態切換菜單。 下面給出三種常見實現方式&#xff0c;按推薦程度排序。任選…

【昇騰推理PaddleOCR】生產級部署方式

已知的在昇騰上推理Paddle OCR有三種方法&#xff1a; 概要&#xff1a; PyTorch官方提供了昇騰插件包&#xff0c;安裝后雖然可以支持PytorchOCR和PaddlePaddle的推理任務&#xff0c;但性能較低。換句話說&#xff0c;PaddlePaddle框架層面支持了昇騰&#xff0c;但具體到某個…

LangChain摘要記憶組件的使用與解析

01. 摘要記憶組件的類型 在 LangChain 中使用緩沖記憶組件要不就保存所有信息&#xff08;占用過多容量&#xff09;&#xff0c;要不就保留最近的記憶信息&#xff08;丟失太多重要信息&#xff09;&#xff0c;那么有沒有一種情況是既要又要呢&#xff1f; 所以折中方案就出…

NAT與智能選路

1、NAT 基礎概念核心作用&#xff1a;私網地址無法在 Internet 上直接使用和分配&#xff0c;NAT 通過將私有地址與公有地址及端口進行轉換&#xff0c;實現私網與公網的通信。轉換示例&#xff1a;內網用戶&#xff08;10.1.1.1&#xff09;訪問外網 FTP Server&#xff08;12…

【05】VisionMaster入門到精通——圓查找

文章目錄1 運行參數先檢測出多個邊緣點然后擬合成圓形&#xff0c;可用于圓的定位與測量 1 運行參數 先檢測出多個邊緣點然后擬合成圓形&#xff0c;可用于圓的定位與測量——運行參數 扇環半徑——圓環ROI的內外圓半經&#xff1b; 邊綠類型 最強——只檢測掃描范圍內梯度最…

p5.js 用 beginGeometry () 和 endGeometry () 打造自定義 3D 模型

點贊 關注 收藏 學會了 在 p5.js 的 3D 繪圖中&#xff0c;這兩個函數是一對 “黃金搭檔”&#xff1a; beginGeometry()&#xff1a;像一個 “3D 模型的開關”&#xff0c;調用它之后&#xff0c;你畫的所有簡單 3D 形狀&#xff08;比如球體、圓錐&#xff09;都會被 “…