- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
<分区>
我在 AVR 设备上写了一个战舰游戏。一切正常,只有在游戏 map 上放置船只才会出现小问题。有时船会彼此相邻放置,即使我认为我的代码会阻止这种情况。现在已经尝试调试它两天了。如果你们中有人注意到我哪里错了,我想把 place_ships 函数的代码放在这里。
int data_map[10][10]; //This has the data of where ships are, where player has shot etc.
char game_map[10][10]; //This is printed in UI. O for miss, X for hit.
int ship_sizes[] = {0,1,2,3,3,4,5};
int ships[] = {0,1,2,3,4,5,6};
void place_ships() { //Places the ships in the game map.
int other_ships; //Variabel for counting if there are already other ships in the area where trying place the ship.
for (i=6; i>0; i--) {
while (1) {
other_ships = 0; //Initialize.
ship_direction = rand() % 10; //Get random ship direction (1-4 = horizontal, 6-10 = vertical)
top_x = (rand() % 8) + 1; //Get random x-coordinate, not from map edges
top_y = (rand() % 8) + 1; //Get random y-coordinate, not from map edges
if (ship_direction < 5) {
if ((top_x-ship_sizes[i]) > -2) { //Make sure that ship has room in game map.
for (j=(top_y-1); j<(top_y+2); j++) { //Following 2 for-loops and if-statement inside makes sure that no other ships are in
//the area where the ship is tried to place.
for (k=(top_x+1); k>(top_x-(ship_sizes[i]-2)); k--) {
if ((data_map[j][k] == 1) || (data_map[j][k] == 2) || (data_map[j][k] == 3) || (data_map[j][k] == 4) || (data_map[j][k] == 5) || (data_map[j][k] == 6)) {
other_ships = 1; //Following 2 'breaks' and 'continue' are there for the situation if
break; //there are other ships in the area, stop placing ship and get new random coordinate and try again.
}
}
if (other_ships == 1) {
break;
}
}
if (other_ships == 1) {
continue;
}
for (l=top_x; l>(top_x-ship_sizes[i]); l--) {
data_map[top_y][l] = ships[i]; //If no other ships in the area, place the ship.
}
loading(); //Wait to optimize harware working. There are known timing issues on AVR. And this
//is here to try to avoid them.
break;
}
}
else if (ship_direction > 5) {
if ((top_y-ship_sizes[i]) > -2) { //Make sure that ship has room in game map.
for (j=(top_y+1); j>(top_y-(ship_sizes[i]-2)); j--) { //Following 2 for-loops and if-statement inside makes sure that no other ships are in
//the area where the ship is tryied toplace.
for (k=(top_x-1); k<(top_x+2); k++) {
if ((data_map[j][k] == 1) || (data_map[j][k] == 2) || (data_map[j][k] == 3) || (data_map[j][k] == 4) || (data_map[j][k] == 5) || (data_map[j][k] == 6)) {
other_ships = 1; //Following 2 'breaks' and 'continue' are there for the situation if
break; //there are other ships in the area, stop placing ship and get new random coordinate and try again.
}
}
if (other_ships == 1) {
break;
}
}
if (other_ships == 1) {
continue;
}
for (l=top_y; l>((top_y-(ship_sizes[i]))); l--) {
data_map[l][top_x] = ships[i]; //If no other ships in the area, place the ship.
}
loading(); //Wait to optimize harware working. There are known timing issues on AVR. And this
//is here to try to avoid them.
break;
}
}
}
}
}
至此,原来的问题解决了。还有一些船没有放置。运送功能会跳过,有所不同。
这是一个有点哲学问题。我正在为我的软件添加一个小功能,我认为大多数用户都会使用它,但他们使用该软件的次数可能只有 10%。换句话说,该软件没有它 3 个月就很好,但是有 4 或 5 个用户要求它,我同
我已经在我的网站上成功设置了 PayPal IPN,它运行良好。在我的 PayPal 帐户中,我设置了评估运费和税收计算的选项(仅限爱荷华州)。但唯一的问题是,在 PayPal 结帐页面上,它要求我手
我很乐意帮助解决我遇到的令人沮丧的问题。第一次设置 Spree,但我已经在 Rails 中开发了 3 年,所以我熟悉它的工作原理。 几乎是默认设置。但是当我尝试结帐时,单击“地址”页面上的“保存并继续
我想知道如何使用 eBay API 将“标准运输(FedEx Ground 或 FedEx Home Delivery®)”指定为运输服务。任何人都可以提供任何指示吗?所有示例仅使用“标准运输”选项。
我目前正在使用 Sharepoint 框架环境开发 Sharepoint WebPart。我目前正在使用功能区(添加按钮和下拉菜单),因此我必须在线部署 Web 部件,以便我可以测试功能区相关任务(工
我正在开发的其中一个网络应用程序有一个相当小的网络商店/购物车。由于客户公司实际位于加利福尼亚州并且在那里有实际位置,因此他们需要对运往加利福尼亚州的所有订单收取加利福尼亚州销售税。 对于那些不知道的
想象一下,您没有功能蔓延的问题,您有一个积极进取且稳定的团队,明确定义要解决的问题,并且您了解与项目相关的领域/语言/工具。 您如何坚持计划并完成 1.0 里程碑? 您对迭代运输的方法是什么? 我想特
有人知道Aramex Shipping服务及其API吗?我在他们的网站上找到了示例代码,并应用了我的API凭据,但出现错误。有人可以帮我整合吗? https://rsidemos.com/develo
我有一个客户想要电子商务网站,但他们必须提供定制运输服务。运输方式如下: 当在线客户下订单并显示发货页面时,此页面必须查询传递所有订单信息(以 JSON 形式)的自定义发货服务。运输服务将返回一个包含
如何获得包含 magento 中运费的数组/对象,例如统一费率、免费送货等? 与选择的地址或产品无关。 最佳答案 这是另一种方法。您需要设置邮政编码和国家/地区 - 即使这对您的运输方式并不重要。 /
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎是题外话,因为它缺乏足够的信息来诊断问题。 更详细地描述您的问题或include a min
在使用 Paypal API 创建付款时,是否有任何选项允许从结帐弹出窗口中删除“运送至”部分?我的意思是不要在弹出窗口中显示它。 我不使用shipping_address option创建付款配置时
前提是人 1 想通过大洋向人 2 发送 secret 消息 M(没有 key 共享)。她决定通过 3 艘船发送部分消息,如果任何两艘船的版本都被交付,人 2 就可以构建完整的原始消息。目标是使每个部分
我正在开发电子商务类型的 Web 应用程序,需要以某种方式处理运费计算。我发现的一些规则: 免费送货 满满免运费 特定地理区域内免费送货 统一运费 固定费率 + 每个产品的固定金额 不同的费率取决于运
关闭。这个问题需要更多focused .它目前不接受答案。 想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post . 3年前关闭。 Improve this questi
我尝试实现 fedex api 来计算从 wnn 到一个国家/地区的邮政编码的运输成本。它在美国工作得很好。它还可以从美国到其他国家/地区工作(已尝试在 IN 和 AU)。但是当我尝试使用来自印度或澳
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 2年前关闭。 Improve this qu
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 7 年前。 Improve this ques
我有一个超小型(没有数据,只有一些单列表,我只是在测试)本地 SQL Server 数据库,我正在尝试将其在线迁移到 SQL 托管实例。 据我所知,我已按应有的方式配置了所有内容 - 备份文件存在于文
当通过 Suitescript 在 NetSuite 中创建销售订单时,我们可以通过向其发送包含完整地址的字符串来成功设置“发货至”(字段 ID:shipaddress)。 这会导致问题,因为“SHI
我是一名优秀的程序员,十分优秀!