Geo Features 模块设计说明 (geo_features.py)
🧱 1. 模块功能概述
本模块定义了所有地理特征相关的类,包括抽象父类
GeoFeature 及其子类 Mountain、Lake 和 Crater,用于表示地图中的不同地貌单元。每个地貌单元具有位置、类型、描述和强度数值,供探索机器人系统调用和显示。🧩 2. 类结构图(简略)
📦 3. 类及属性设计说明
🔹 Location 类
- 作用:存储二维坐标
(Y, X)。
- 属性:
Y:行号(高度方向)X:列号(宽度方向)
- 方法:
__str__():返回字符串格式如(2,3),用于打印与日志。
🔹 Size 类
- 作用:描述地图的整体大小。
- 属性:
height:地图高度(行数)width:地图宽度(列数)
🔹 GeoFeature 类(抽象基类)
- 属性:
location:位置(Location对象)description:地貌描述,如"lava rocks"integer:地貌强度数值,如 60、40unit:度量单位(由子类设定,如"height","depth")type_:地貌类型字符串,如"mountain"、"lake"
- 方法:
get_type():返回地貌类型get_description():返回地貌描述get_icon():返回类型首字母(用于地图打印)get_integer():返回数值__str__():返回如"mountain lava rocks, height 60"的字符串
⛰ 4. 子类设计说明
子类名 | 类型字段 ( type_) | 单位字段 ( unit) |
Mountain | "mountain" | "height" |
Lake | "lake" | "depth" |
Crater | "crater" | "perimeter" |
每个子类只负责将具体的类型信息传入
GeoFeature 父类构造函数中,便于统一管理和未来扩展。