- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
谁能帮我交换一下。我认为这是一个逻辑错误。我知道源代码和目标代码是正确的,所以我的 if 语句有问题。游戏规则:游戏从一个金字塔结构开始,除了一个圆圈“o”外,所有的“+”都满了,你只能将一个钉子移动到一个相邻的圆圈(两个点以上/对角线),跳过的任何一 block 都会也可以换成圆圈。因此,例如,您可以沿对角线移动两个点,中间跳过的棋子和原始位置将被圈出,但是您要移动到的棋子的圆圈将替换为“+”。视觉图像在下方。此外,变量对应于字母。例如:pa 代表 A 点,pb 代表 B 点等等。
第一步是从 D 到 A。第二步是从 K 到 D。我得到的输出不正确。点 K、G 和 B 应该是空的,因为 B 在第一步中被跳过,而 G 在本轮中被跳过。但在这里我得到 A 空缺,即使它只有一个“+”。现在 A 已经从游戏的第一步开始更新,但现在又回到了一个圆圈。 A 或“pa”应该从以下语句更新:*pa = *pd;
这是代码的链接:https://www.dropbox.com/s/puab7va8vosftdd/Source.c?dl=0
void moveHandler( char source, char destination, char *pa, char *pb, char *pc, char *pd, char *pe, char *pf,
char *pg, char *ph, char *pi, char *pj, char *pk, char *pl, char *pm, char *pn, char *po ) {
char temp;
char middle;
if ( (source || destination == 'D') && (destination || source == 'A') ) {
temp = *pa;
*pa = *pd;
*pd = temp;
}
else if ( (source || destination == 'K') && (destination || source == 'D') ) {
temp = *pk;
*pk = *pd;
*pd = temp;
}
middle = (char) ((source + destination) / 2);
switch( middle ) {
case 66:
*pb = 'o';
break;
case 71:
*pg = 'o';
break;
default:
break;
}
}
最佳答案
我认为您的逻辑比较/测试需要修改。逻辑运算符 &&
和 ||
每个都需要应用于被比较的值。比如它的写法,source
正在与 destination
进行或运算, 然后正在测试其结果是否与 char
相等'D'。我相信您的意图可能如下所示。
改变:
if ( (source || destination == 'D') && (destination || source == 'A') ) {
temp = *pa;
*pa = *pd;
*pd = temp;
}
else if ( (source || destination == 'K') && (destination || source == 'D') ) {
temp = *pk;
*pk = *pd;
*pd = temp;
}
至:(编辑 - 更正第一个语句,用 A 替换 D)
if ( ((source =='D') || (destination == 'D')) && ((source =='A') || (destination == 'A')) ) {
^^^
temp = *pa;
*pa = *pd;
*pd = temp;
}
else if (( (source == 'K') || (destination == 'K')) && ((destination == 'D') || (source == 'D')) ) {
temp = *pk;
*pk = *pd;
*pd = temp;
}
而且,虽然这可能是您想要的,但它可能不是解决问题所必需的。在第一if(...)
声明,无论是否A
或 D
是 destination
或 source
, 数据是从 A
复制的至 D
.在那种形式下,代码的实际意图并不明确,并且可能不会执行所需的操作。
创建提供清晰意图的语法。
例如,假设在您的代码片段中,您清楚地确定了 3 个可能的来源和 3 个可能的目的地:
虽然以下伪代码建议不如您的原始语法(通常是所需的功能)那么简洁,但它更明确,显示了明确的意图并涵盖了所有可能的源/目标交易:
if( (source == ‘A’)&&(destination == ‘D’)){//copy A to D}
else if((source == ‘A’)&&(destination == ‘K’)){//copy A to K}
else if((source == ‘D’)&&(destination == ‘A’)){//copy D to A}
else if((source == ‘D’)&&(destination == ‘K’)){//copy D to K}
else if((source == ‘K’)&&(destination == ‘A’)){//copy K to A}
else if((source == ‘K’)&&(destination == ‘D’)){//copy K to D}
关于c - 交换钉跳拼图时的逻辑错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42033886/
我在某处遇到了以下难题 #include int main() { { /*Fill in something here to make this code compile
我正在尝试为 iOS 创建一个拼图游戏应用程序。从我在互联网上的搜索来看,确实没有任何关于这个主题的教程。有谁知道任何人都知道的好教程或游戏教程的链接?谢谢。顺便说一下,iOS4 将不胜感激。 最佳答
如果必须使用 Promises,您会如何编写以下代码? 这个想法是,“私有(private)”方法 p1 调用一个执行异步操作的函数,然后,当异步调用的结果准备就绪时,控制权将传递给“私有(priva
下面是其中一个 facebook 谜题:我无法理解如何进行此操作。 你有 C 个容器、B 个黑球和无限数量的白球。您希望以一种方式在容器之间分配球,即每个容器至少包含一个球,并且选择白球的概率大于或等
有 5 位成员围坐在一张 table 旁。关键值是坐在 table 周围的成员数量。所以现在关键值将是 5。一个恐怖分子告诉成员,因为你们是 5 个成员,所以我将从第一个成员开始数,数到 5 的人将被
你能在不抛出错误的情况下解决这个问题吗?答案是单线。这是来自一个死的职位发布,在回复中要求回答。我认为这是剔除受访者的聪明方法,但我似乎无法在不出错的情况下回答它。 显而易见的解决方案: f.moo(
此源输出 G'Day Mate. 这是怎么发生的? public static void main(String args[]) { System.out.println("Hello Wor
我正在 android 中开发一个 slider 拼图,它有一个图像被分解成小图像,我们需要对这些 fragment 进行排序以形成正确的图像。我使用了一个 3x3 的 GridView ,其中包含
我遇到了以下难题,无法在 Picat 中制定解决方案: You will generate 5-digit numbers, where each digit is in 1..5 and diffe
我是 Javascript 新手,并且正在努力解决 CodeWars 中的这个难题。 约翰想用壁纸装饰房间。房间的尺寸为:宽度(w)、高度(h)、长度(l)。一卷壁纸的尺寸为 52cm 宽,10m 长
我对 Java 还很陌生,尝试过 Best Before puzzle from Spotify昨天。当我发送它时,我收到“错误答案”错误。检查其他解决方案没有帮助,我无法弄清楚哪个输入给出了错误的答
我正在尝试恢复我拥有的一些旧代码,这是一个拼图游戏。它从文件夹中加载图像(拼图),将它们随机放置在页面周围,然后拖放到板上。这曾经有效,但当我今天尝试使用它时,它只是抛出错误(见下文)。 HTML:
这对你们来说可能是个愚蠢的问题。它是关于 CSS Sprites 的。我有一个包含 4 个菜单的导航,例如 .. HOME COMPANY SERVICES SUPPORT 尽管我使用了一个 css
我需要创建一个标题,可以根据正在构建的页面轻松添加或删除部分,但我在处理其中一部分时遇到了问题。 我有一个标题,看起来像这样将所有组件放在 如果导航被移除,它应该看起来像这样(垂直居中) 我的问题是如
我在 JS 中构建了一个 15 拼图,但我的随机拼图生成正在创建无法解决的拼图实例。这可能是因为我不是计算机科学专业的负责人,但我不确定如何计算代码排列中的反转次数。我想知道如何编写我的代码,以便我可
我正在寻找 8 Puzzle graphs tree generator,最好是 (php+) html+css+javascript。我需要的是类似 3 2 1 6 8 7 5 4 会生成所有可
我住在德国,在 Android Market 上发布“Last Call Widget”。随着时间的推移,我一直在稳步改进它,但一组用户仍然提示它无法在他们的设备上运行。 我的小部件监听“androi
这个问题不太可能帮助任何 future 的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况相关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visit
我正在尝试制作一个看起来像这样的拼图游戏。我试过的看起来像这样。 https://jsfiddle.net/uccfb46z/ 现在如果我想改变碎片的形状我需要修改这部分 - outside: fu
首先,让我为缺少 SSCCE 表示歉意。我在这方面真的没有足够的专业知识来弄清楚什么是相关的,什么不是。 简而言之,问题是在两台运行相同分辨率 (1366x768) 的不同计算机上,我女朋友的 tum
我是一名优秀的程序员,十分优秀!