我正在使用OOPS.I设计经典蛇游戏,我将在顶层拥有以下类:
Game {
Board board,
Snake snake;
}
Board {
Cell cells[];
}
Cell {
int x,
int y,
Type type;
}
Type {
SNAKE,
FOOD,
EMPTY
}
Snake {
List<Cells> snakeParts;
}我对以下几点感到有点困惑:
蛇能成为董事会课程的一部分吗?
Board {
Cell cells[];
Snake snake;
}就像游戏类有蛇对象一样,董事会类拥有蛇对象更好吗?因为有理由说董事会有--一条蛇而不是一条蛇--蛇。
发布于 2021-02-21 12:36:17
只要你看看黑板。我认为它并不在乎是否有一条蛇放在上面,或者苹果放在上面。正如你所指出的,板是一组细胞,一定的细胞序列可能形成蛇或苹果。
我将进行以下抽象。
蛇是活着的,直到模式没有双重交叉(重复细胞)。
游戏中有一条活着的蛇。死蛇游戏结束。
董事会并不是那么重要,因为它只是一个细胞的排列-如果它是一个方形或Kvadrat板,你可以有效地忽略它。如果董事会的地理位置是不平凡的,那么板的抽象就变得必不可少了。
从董事会的角度来看,唯一重要的(潜在的)是细胞的地理位置,以及细胞是否被点燃。
https://softwareengineering.stackexchange.com/questions/422533
复制相似问题