- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在用 Java 编写一个国际象棋游戏,并使用包含 Square 对象的二维数组的 Board 类对其进行设置。每个正方形都有高度和宽度(介于 0 和 7 之间(包括 0 和 7))。我将编写一个接受方形对象、垂直偏移和水平偏移的方法。
例如:如果我调用 getNearbySquare(mySquare, 3, 2),它应该返回我的 Board 中位于 mysquare 上方 3 和 mySquare 右侧 2 的正方形对象。
我最初将其编写为 Square 类中的实例方法,它只接受垂直和水平偏移。问题是,我正在创建然后返回一个新的方形对象,而不是 Board 类中的二维数组中的正确对象。
我看到两个选项:
1) 在 Square 类中创建一个实例方法,该方法接受 Board 对象、垂直偏移和水平偏移。我将找到调用此方法的正方形对象的当前高度和宽度,添加垂直和水平偏移以获取所需正方形在 Board 中的新位置,然后使用 Board[newHeight][newWidth] 访问它。
2) 在 Board 类中创建一个实例方法执行相同的操作,但不需要我像 1) 那样传入 Board 对象。相反,我需要传入方形对象。
就做出这些决定而言,是否存在普遍接受的做法?
感谢您的帮助,马里奥格
最佳答案
从一个非常简单的角度来看,将 getNearbySquare()
方法作为 Board
的实例方法比作为 Squares 的实例方法更有意义,因为该方法将需要有关电路板布局和人口的详细信息,这将更容易在 Board
实例中完成(并保持封装/松散耦合)。
在 Square
实例上使用该方法意味着让 Square 对象能够访问有关棋盘的信息,而这些信息可能应该是私有(private)的。
相关阅读;
关于Java国际象棋 : Should finding nearby square be a method of Square or Board class?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27870276/
我目前正在开发一款适用于 Android 和 iOS 的应用程序,该应用程序使用 Nearby Connections 将少量数据(如字符串、字符或整数)传送到其他设备。我最初是在查看附近的消息,但注
我正在尝试使用 googles Nearby Connections API 传输文件。在很大程度上,我可以让传输的所有组件正常工作,以便传输所有文件数据,但问题是文件数据随后存储在 Nearby 的
我在我的应用中使用了谷歌附近的消息。以前,我的应用程序能够在 Android 和 IOS 之间交换数据。但最近我无法在 Android 和 IOS 之间交换数据。我找不到任何关于此的文档。谁能给我解释
似乎当我们的应用程序在 iOS 上进入后台(用户单击“主页”)时,附近的服务停止工作(messageLostHandler 和/或 messageFoundHandler 在用户打开应用程序之前不会触
假设你有你的用户的经纬度,你想找到附近的......比方说餐馆,你如何查询你的关系数据库?对于诸如“半径 25 英里范围内的餐厅”之类的东西? 您是否会在一个长和纬度大于/小于用户 loc +/- 2
当我第一次运行我的应用程序时,在点击特定地点类型时,它会生成附近地点的每个类型,例如:在我指定的英里半径内的 atm、商场、食品、学校等。地点 Activity 代码: package www.une
我正在使用 Nearby Connections API。根据我的阅读,一个人不应该在同时连接到设备的同时进行发现,因为这会减少带宽并导致可能断开连接。 但是,我正在构建一个应用程序,其中每部手机都会
我在使用 Nearby API 时遇到了一些问题。当我在连接到 API 后尝试发送消息时,我收到以下状态消息: Nearby.Messages is not enabled for this app:
我在我的应用程序中使用附近的连接。我发现 2 部手机需要 10 多秒才能找到并相互连接。此外,我发现我可以让 2 部手机相互连接——让 3 部以上的手机全部相互连接是非常困难的。 建立连接后,性能非常
考虑以下简化情况: create table trans ( id integer not null , tm timestamp without time zone not null , val
我想使用我的 swift ios 应用程序使用 google nearby api(不是 iBeacon api)扫描信标 我看到谷歌开发者doc ,我从同一站点获取了 git 样本。 这是我的 co
有很多公共(public)场所会使用您的手机进行跟踪。您的移动设备用作标识符,例如:http://www.bbc.co.uk/news/technology-23665490 是否可以使用 Andro
我正在考虑使用 Google 的 Nearby API 来检测信标 (Eddystone)。目前唯一的方法似乎是调用 Nearby.Messages.subscribe() 描述 here . 问题是
有没有办法验证 Google Nearby API 是否已经获得授权? enableAutoManage() 方法自动执行所有操作,所以,它没有帮助,我想要仅当我已经获得许可时才使用 publish(
我正在 ios 7 中进行 Multipeer 连接,它运行良好。但我需要的是,当我按下搜索按钮时,它需要显示所有附近的 session ( 不是附近的设备 )。有没有可能解决方案。请帮忙!!! 最佳
我正在尝试使用 Nearby API 将来 self 的 Eddystone Beacon (micro:bit) 的 Beacon 消息发送到我的 Android 应用程序.我从文档中复制了所有代码
我正在构建一个应用程序来测试 Google Nearby Messages API。对于该测试,我使用的是 DISTANCE_TYPE_EARSHOT。 根据这个线程Nearby API's Stra
我有以下代码: OnFailureListener onFailureListener = new OnFailureListener() { @Override public void on
我正在使用 Google 的 Nearby 并尝试在不使用 BLE 或 Classic BT 的情况下(仅)使用 discoveryMediums Audio。原因是因为我希望发现发生在一个房间里,而
问题 是否可以通过手机设置授予 Nearby API 权限? 如果是,怎么做? 答案是否因设备 API 级别而异? 如果需要,请继续阅读以获取更多上下文 :) 一般背景 当在运行 API 级别 23
我是一名优秀的程序员,十分优秀!