【发布时间】:2021-05-10 11:32:12
【问题描述】:
我正在为大学项目制作棋盘游戏,需要用 Java 完成, 我被困在的部分是生成棋盘游戏现在想象一下我们有一个方形的棋盘,它的大小是可变的,这意味着玩家在游戏开始时就决定了, 并且板由单元组成,我定义了一个代表单元的类(下面的类的 UML) 并且棋盘只是一个二维单元格数组(游戏类的 UML),每个单元格都有一个生物群落 (MOUNTAIN, PLAIN, DESERT, FOREST, OCEAN) 生物群落在枚举中定义, 现在我的问题是我需要为每个游戏生成一个随机棋盘,并且棋盘需要满足两个条件:
- 董事会的 2/3 必须是 OCEAN
- 山、平原、森林或沙漠必须至少有一个不是海洋生物群系的邻居,我的邻居是指在其北部、南部、东部或西部。 第一个条件很容易实现,但第二个条件我不知道如何在网上环顾四周,但没有什么与我的条件相似。 下图中有一个棋盘示例(蓝色单元格是海洋,黄色单元格是沙漠,浅绿色是平原,绿色是森林,棕色是山地)。
生物群系枚举代码
public enum Biome {
MOUNTAIN, PLAIN, DESERT, FOREST, OCEAN;
}
【问题讨论】: