小编Loo*_*vjo的帖子

将String转换为java.util.Stream <Character>

有时我想对字符串中的每个字符做一些简单的事情.不幸的是,因为字符串是不可变的,除了循环遍历字符串之外没有好的方法可以做到这一点,这可能非常冗长.如果你使用Stream代替它,它可以做得更短,只需要一两行.

有没有办法将a转换StringStream<Character>

java string java-8 java-stream

8
推荐指数
2
解决办法
4311
查看次数

UIBezierPath附加重叠未填充

我正在尝试合并两个重叠的UIBezierPaths UIBezierPath.append,我希望填充重叠空间.我尝试将usesEvenOddFillRule属性设置为false,但它仍然没有填充.这是问题的最小例子:

override func draw(_ rect: CGRect) {
    let firstShape = UIBezierPath()

    firstShape.move(to: CGPoint(x: 100, y: 100))
    firstShape.addLine(to: CGPoint(x: 100, y: 150))
    firstShape.addLine(to: CGPoint(x: 150, y: 170))
    firstShape.close()

    let secondShape = UIBezierPath(rect: CGRect(x: 125, y: 125, width: 75, height: 75))

    let combined = UIBezierPath()
    combined.append(firstShape)
    combined.append(secondShape)

    UIColor.black.setFill()
    combined.fill()
}
Run Code Online (Sandbox Code Playgroud)

这产生以下形状:

形状

我希望它看起来像:

想要的形状

move(to: CGPoint)在一个UIBezierPath上使用时似乎也会出现此问题.如果要在同一个UIBezierPath上绘制这两个形状,则会出现同样的问题.

有谁知道如何填补重叠区域?优选地,解决方案在进行时也可以工作addClip()

append uiview uibezierpath swift

2
推荐指数
1
解决办法
917
查看次数

完美的蛇AI

在阅读这个问题之前,请注意我使用术语AI来描述一种不会从错误中学习的算法,只是一种以高效智能的方式玩游戏的算法.

在不久前看过这个视频之后,我决定制作自己的蛇AI.你可以在这里找到它(它是几个文件,这就是为什么我不在这里包含它们).这个AI远非完美,现在我想知道完美的AI算法对于Snake游戏是什么.与我的版本不同,Snake的原始版本不包含墙,但如果您的AI算法可以处理它,那将会很好.您的算法必须支持多种尺寸的电路板,食物随机放置.有了完美的人工智能,我的意思是一个能够收集所有樱桃/食物而不会死亡的人工智能,而不是一个可以长时间保持活力的人工智能.

algorithm

1
推荐指数
1
解决办法
5942
查看次数

标签 统计

algorithm ×1

append ×1

java ×1

java-8 ×1

java-stream ×1

string ×1

swift ×1

uibezierpath ×1

uiview ×1