Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有映射的OOP组织_Oop - Fatal编程技术网

带有映射的OOP组织

带有映射的OOP组织,oop,Oop,我有一个关于在显示基本OOP原则的同时组织代码的问题。我的任务是用机器人实现一个世界(MxN网格),机器人以字符串的形式获得移动指令。他们也被给予一个初始的起始位置和方向。每次完成一个机器人的指令 我创建了两个类,Robot和Map,但当我完成编码时,我意识到Map实际上没有做任何事情,当我想测试Robot类中的函数(确保坐标在边界内等)时,Map类似乎比任何东西都麻烦。然而,我觉得这对于证明事物的分离很重要。在这种情况下有必要上两门课吗?我想有必要 这张地图看起来像一组机器人。它就像一个欧拉控

我有一个关于在显示基本OOP原则的同时组织代码的问题。我的任务是用机器人实现一个世界(MxN网格),机器人以字符串的形式获得移动指令。他们也被给予一个初始的起始位置和方向。每次完成一个机器人的指令

我创建了两个类,Robot和Map,但当我完成编码时,我意识到Map实际上没有做任何事情,当我想测试Robot类中的函数(确保坐标在边界内等)时,Map类似乎比任何东西都麻烦。然而,我觉得这对于证明事物的分离很重要。在这种情况下有必要上两门课吗?

我想有必要

这张地图看起来像一组机器人。它就像一个欧拉控制体积,机器人进出。它在空间和时间上跟踪可接受位置的空间。它维护规则(例如,“一次只有一个机器人在一个广场上”)。感觉类似于国际象棋或西洋跳棋的棋盘

问题似乎在于,您无法理解映射的有意义状态和行为是什么


我可以看到机器人是如何与地图互动的:它会提出一个运动,这是一个有方向和大小的向量,然后询问地图,看它是否违反了机器人的任何运动规则。这些是地图的主人,不是机器人。不同的贴图可能允许不同的运动规则(例如,没有对角线移动,一次一个正方形等)

除了移动到可能的空间范围之外,没有任何运动限制。在这种情况下抛出异常不是更好吗?我不这么认为。异常是执行代码控制的糟糕设计。有什么事吗?多么疯狂、毫无意义的游戏。