好的,这是一个相当复杂的代码高尔夫挑战:实施一个黑白棋(奥赛罗)游戏.
以尽可能少的字符执行此操作.
会话应该看起来像这样:
abcdefgh
1
2
3
4 wb
5 bw
6
7
8
b>d3
abcdefgh
1
2
3 b
4 bb
5 bw
6
7
8
Run Code Online (Sandbox Code Playgroud) 我正在开发一个Firefox插件,其中包含一个包含一些HTML数据的文件.如何将此文件作为字符串加载?
我可以
var contents = Components.utils.import("resource://stuff.html");
Run Code Online (Sandbox Code Playgroud)
但然后尝试以Javascript的形式执行XML文件.我只想要它的内容!
我正在用Java编写一个小程序(一个推特客户端),针对Mac OS X.作为其功能的一部分,它需要有一个存储推特用户名/密码的地方.自然的地方是mac钥匙串,但我找不到任何访问它的方法.
有没有办法从Java访问mac钥匙串,或者失败了,你建议在哪里存储用户名/密码?
我正在尝试编写一个程序首次启动时弹出的分辨率选择对话框.为了防止用户厌烦,我想实现一个相当标准的功能,您可以使用复选框关闭该对话框,但在启动时按住alt键将其取回.
不幸的是,没有明显的方法来询问java 当前是否正在按下给定的键.您只能注册以通过KeyListener通知新的按键操作,但如果按键在应用程序启动之前启动,则无效.
我的程序中的数据模型有许多离散状态,但我想为这些状态之间的转换设置动画.当动画正在进行时,用户在屏幕上看到的内容与基础数据的内容断开连接.动画完成后,它们会再次匹配.
例如,假设我们有一个简单的游戏,其中Snuffles兔子在2D网格上跳跃.Snuffles的模型包含整数x/y坐标.当玩家告诉Snuffles向北跳时,他的y坐标立即减1.然而,在屏幕上,Snuffles应该仍然在他的旧位置.然后,逐帧,Snuffles继续跳到他的新位置,直到他显示在他的模型所指的位置.
通常,当我们绘制Snuffles时,我们可以在他的模型中查找他的坐标.但是当他跳来跳去时,这种坐标是错误的.
如果只有一件事在屏幕上移动,我可以躲开冻结整个游戏状态而不允许用户做任何事情,直到Snuffles完成跳跃.但如果屏幕上有多个兔子怎么办?
如果元素交互,合并或拆分,情况会变得更糟.如果Snuffles神奇地与帽子合并成为一个土豆,那么数据模型会删除兔子和帽子,并添加土豆?如果它立即这样做,视图立即失去了关于Snuffles和马铃薯的信息,它仍然需要绘制魔法合并的动画.
在实现动画GUI,特别是游戏时,我多次遇到过这个问题,并且没有找到令人满意的解决方案.
不满意的包括:
立即执行更改,但随后暂停模型中的任何进一步更改,直到动画解决.如果不止一件东西可以移动或者事物以复杂的方式相互作用,那么事情就会没有反应并且不起作用.
合并模型和视图 - Snuffles获得浮点坐标,可能还有z坐标来指示他的距离.因此,模型的规则变得越来越复杂,因为模型不能再做出简单的陈述,例如"如果在(x,y - 1)处存在墙,则不能向北跳跃".对规则的任何更改都需要更长的时间,并且开发速度会慢下来.
保留视图中数据的重复数量.SnufflesModel具有整数坐标,但SnufflesSprite具有浮点坐标.最终复制视图中的某些模型规则并且必须使它们保持同步.花费大量时间进行调试,以确保SnufflesModel和SnufflesSprite在某些罕见情况下不会同步.
目前我最好的选择是选项3,但它并不像我那样优雅.思考?
我有两个像这样的2D numpy数组,代表三点之间的x/y距离.我需要将x/y距离作为单个数组中的元组.
所以来自:
x_dists = array([[ 0, -1, -2],
[ 1, 0, -1],
[ 2, 1, 0]])
y_dists = array([[ 0, -1, -2],
[ 1, 0, -1],
[ 2, 1, 0]])
Run Code Online (Sandbox Code Playgroud)
我需要:
dists = array([[[ 0, 0], [-1, -1], [-2, -2]],
[[ 1, 1], [ 0, 0], [-1, -1]],
[[ 2, 2], [ 1, 1], [ 0, 0]]])
Run Code Online (Sandbox Code Playgroud)
我已经尝试过使用dstack/hstack/vstack/concatenate的各种排列,但它们似乎都没有做我想要的.代码中的实际数组可能是巨大的,因此迭代python中的元素并"手动"进行重新排列不是速度方面的选择.
编辑: 这是我最终提出的:https://gist.github.com/807656
至少在OS X下,JFileChooser会生成一个非常半生不熟的打开对话框,它不支持输入文件名的开头来选择它或显示三角形.
有没有人知道有更全功能行为的第三方替代品?理想情况下,我希望每个主要平台都有一个.我知道Windows 的XFileDialog,但是Mac和Linux/Unix呢?
相比下:


所以我在网页中嵌入了Inkscape创建的SVG文件,我希望它能慢慢旋转.我尝试过使用Javascript并直接将动画命令插入SVG,但没有任何作用.我不想为这一项任务加载整个JS库.这是我到目前为止:
<html>
<body bgcolor="#333333">
<embed src="gear.svg" id="gear" width="1000" height="1000" style="position: absolute; top: -500px; left: -500px;" />
<script type="text/javascript">
var gear = document.getElementById("gear");
window.setInterval(function() {
// Somehow animate the gear.
}, 10);
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud) // This is supposed to show a modal dialog and then hide it again. In practice,
// this works about 75% of the time, and the other 25% of the time, the dialog
// stays visible.
// This is on Ubuntu 10.10, running:
// OpenJDK Runtime Environment (IcedTea6 1.9) (6b20-1.9-0ubuntu1)
// This always prints
// setVisible(true) about to happen
// setVisible(false) about to happen
// setVisible(false) has just happened
// even when the dialog stays visible.
package modalproblemdemo;
import java.awt.Frame; …Run Code Online (Sandbox Code Playgroud) 我试图从URL下载一个zip文件,并使用java代码将其存储在本地系统中.我也使用系统代理.它无法连接到网址.任何的想法?
public static void main()
{
try
{
long startTime = System.currentTimeMillis();
System.out.println("Connecting to the url...\n");
System.setProperty("http.proxyHost", " http://abc.com");
System.setProperty("http.proxyPort","1111");
URL url = new URL("http://sourceforge.net/projects/sevenzip/files/7-Zip/9.20/7z920.exe/download?use_mirror=nchc");
url.openConnection();
InputStream reader = url.openStream();
FileOutputStream writer = new FileOutputStream("/home/user/result/apps.zip);
byte[] buffer = new byte[153600];
int totalBytesRead = 0;
int bytesRead = 0;
System.out.println("Reading ZIP file 150KB blocks at a time.\n");
while ((bytesRead = reader.read(buffer)) > 0)
{
writer.write(buffer, 0, bytesRead);
buffer = new byte[153600];
totalBytesRead += bytesRead;
}
long endTime = System.currentTimeMillis();
System.out.println("Done downloading. …Run Code Online (Sandbox Code Playgroud)