首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >蛇游戏设计

蛇游戏设计
EN

Software Engineering用户
提问于 2021-02-21 12:19:56
回答 1查看 320关注 0票数 2

我正在使用OOPS.I设计经典蛇游戏,我将在顶层拥有以下类:

代码语言:javascript
运行
复制
Game {
   Board board,
   Snake snake;
}
    
Board {
   Cell cells[];
}

Cell {
   int x,
   int y,
   Type type;
}

Type {
   SNAKE,
   FOOD,
   EMPTY
}

Snake {
   List<Cells> snakeParts;
}

我对以下几点感到有点困惑:

蛇能成为董事会课程的一部分吗?

代码语言:javascript
运行
复制
Board {
   Cell cells[];
   Snake snake;
}

就像游戏类有蛇对象一样,董事会类拥有蛇对象更好吗?因为有理由说董事会有--一条蛇而不是一条蛇--蛇。

EN

回答 1

Software Engineering用户

发布于 2021-02-21 12:36:17

只要你看看黑板。我认为它并不在乎是否有一条蛇放在上面,或者苹果放在上面。正如你所指出的,板是一组细胞,一定的细胞序列可能形成蛇或苹果。

我将进行以下抽象。

  • 模式有细胞
  • 蛇是一种图案
  • 苹果是一种1的模式

蛇是活着的,直到模式没有双重交叉(重复细胞)。

游戏中有一条活着的蛇。死蛇游戏结束。

董事会并不是那么重要,因为它只是一个细胞的排列-如果它是一个方形或Kvadrat板,你可以有效地忽略它。如果董事会的地理位置是不平凡的,那么板的抽象就变得必不可少了。

从董事会的角度来看,唯一重要的(潜在的)是细胞的地理位置,以及细胞是否被点燃。

票数 3
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/422533

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档