我正在制作一个生成3D迷宫的程序,并且在创建算法时遇到了一些麻烦.为了便于互动,它将是一个矩形棱柱,有一个入口和一个出口.
问题是算法的实际编码:我认为最好的方法是调用一个类MazeBlock,它有六个布尔状态(向上,向下,向左,向右,向内,向外),表示迷宫的方向可以去下一个.使用MazeBlocks 的3D数组,我想填充迷宫,每次迭代填充检查块在左侧,右侧,上方,下方,前方和后方,以查看是否有任何开口到哪一侧附上.
我已经有一个可以制作边缘,将随机开放的槽放在迷宫内部.所有我遇到的麻烦都是实际内部,确保迷宫有一个入口,一个出口和一个解决方案来穿越它(我曾经在弹出书中解决了一个"困难"的3D迷宫,只需要在预定的几步之后方向.
正如我所说,我认为我对算法有基本的想法,但我不知道如何编码.有人可以为此提出一个Java算法来相对快速地完成任务吗?
解决方案不得使用外部库.
我有一个.Net对象,我已经将其序列化为Xml并使用Xml属性进行修饰.我现在想将相同的对象序列化为Json,最好使用Newtonsoft Json.Net库.
我想直接从内存中的.Net对象转到Json字符串(不先串行化为Xml).我不希望在类中添加任何Json属性,而是希望Json序列化程序使用现有的Xml属性.
public class world{
[XmlIgnore]
public int ignoreMe{ get; }
[XmlElement("foo")]
public int bar{ get; }
[XmlElement("marco")]
public int polo{ get; }
}
Run Code Online (Sandbox Code Playgroud)
变
{
"foo":0,
"marco":0
}
Run Code Online (Sandbox Code Playgroud) 可能重复:
如何在两个排序数组的并集中找到第k个最小元素?
这是一个问题,我的一位朋友告诉我他在面试时被问到,我一直在考虑解决方案.
次线性时间对我来说意味着对数,所以也许是某种分而治之的方法.为简单起见,假设两个数组的大小相同,并且所有元素都是唯一的
到目前为止我所拥有的是:
def imageColumns = ["products_image", "procuts_subimage1", "products_subimage2", "prodcuts_subimage3", "products_subimage4"]
def imageValues = ["1.jpg","2.jpg","3.jpg"]
def imageColumnsValues = []
// only care for columns with values
imageValues.eachWithIndex { image,i ->
imageColumnsValues << "${imageColumns[i]} = '${image}'"
}
println imageColumnValuePair.join(", ")
Run Code Online (Sandbox Code Playgroud)
它有效,但我认为它会更好.希望有一个collectWithIndex ...有什么建议吗?
我正在开发一个涉及和ExpandableListView的应用程序.我们想用我们自己选择的一个替换groupIndicator.
我为指标创建了一个规范,根据选择器的状态(扩展或不扩展)显示不同的png
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/arrow_down" android:state_expanded="true"/>
<item android:drawable="@drawable/arrow_right"/>
</selector>
Run Code Online (Sandbox Code Playgroud)
然后我设置我的布局xml使用:
(请注意,childDivider是一个像素高的png而不是颜色,因为设置为颜色似乎有问题)
这是有效的,除了我们的图标是垂直伸展的.这是有道理的,因为我们刚刚创建了一个25x25的图标,希望是最好的.我正在试图弄清楚原生图标的尺寸,以便我可以匹配它,但这就是我遇到麻烦的地方.
挖掘源代码(ExpandableListView.java)我发现,默认情况下,该类将使用com.android.internal.R.styleable.ExpandableListView_groupIndicator.所以我有一个id,但还没有图标.
我很乐意能够做到:
Bitmap image = BitmapFactory.decodeResource(this.getResources(), com.android.internal.R.styleable.ExpandableListView_groupIndicator);
imWidth = image.getWidth();
imHeight = image.getHeight();
Run Code Online (Sandbox Code Playgroud)
但正如"内部"所暗示的那样,在用户空间中我并不可见.
我还在ExpandableListView.java中找到了getIndicate(),但它是私有的,所以我也无法做到这一点.
我很想深入了解平台源代码,我不知道如何追踪该图像.谁能帮我吗?
编辑:感谢CommonsWare.为其他任何人寻找其余部分:
android:drawable/expander_group在/frameworks/base/core/res/res/drawable/expander_group.xml中定义.
expander_group.xml提到它使用@ drawable/expander_ic_maximized和@ drawable/expander_ic_minimized.这些drawable可以在/frameworks/base/core/res/res/drawable/expander_ic_maximized.9.png和/frameworks/base/core/res/res/drawable/expander_ic_minimized.9.png中找到,以及特定密度的其他地方等等."9"解释了为什么默认图标没有失真问题 - 它们是补丁9图形.与图标密度无关的版本为34px×38px.
我有一个number类型的领域varchar.即使它是类型varchar,它也存储带有可选前导零的整数值.排序按字典顺序排序("42"之前"9").如何通过数值("9"以前"42")订购?
目前我使用的查询:
SELECT * FROM table ORDER BY number ASC
Run Code Online (Sandbox Code Playgroud) 我正在尝试学习如何使用IPN将PayPal订阅添加到我现有的PHP应用程序中,并寻找一篇解释这些细节的好文章.
在我的应用程序中,用户可以注册一个免费帐户,然后他们可以选择会员类型和费率(每日,每周,每月和每年).完成选择后,将显示已配置的PayPal按钮.他们可以单击"订阅"按钮将其带到PayPal.
我需要知道如何识别用户:发送给PayPal的哪些自定义信息然后被发回?我还想知道PayPal将哪些信息发送回IPN页面.
似乎可以为通知URL配置按钮.这是否意味着我还要开启IPN?
我在这里列出了太多问题... PayPal网站没有任何解释订阅以及如何将其集成到网站的教材.
你知道的任何好的和最近的文章?
我有一个Form.我想要包含一个返回模型的隐藏字段.我会在视图中设置它的值; 我只是需要将它发布到下一页.
我应该在表单类中使用哪个字段?
假设我有以下签名:
static extern void External(int foo, IntPtr bar);
Run Code Online (Sandbox Code Playgroud)
我想让它使用默认值:
static extern void External(int foo = 10, IntPtr bar = default(IntPtr));
Run Code Online (Sandbox Code Playgroud)
这有效吗?在C++中,我会使用指针为0或null.在C#中,IntPtr是值还是引用甚至都不清楚.
如果我手动调用我的函数,我会使用External(10, IntPtr.Zero);.我想我的问题是:default(IntPtr)会有同样的行为IntPtr.Zero吗?
假设我想在视图中添加50个图像以便为它们制作动画.让我们假设我正在计划使用Core Animation(例如,CABasicAnimation)而不是"UIView"动画.
我最好通过添加50个子视图或50个子图层来实现这一点吗?这有什么不同吗?
谢谢.