小编Zar*_*nen的帖子

代码高尔夫:黑白棋

好的,这是一个相当复杂的代码高尔夫挑战:实施一个黑白棋(奥赛罗)游戏.

  • 游戏应显示游戏板的当前状态,并允许单台计算机上的玩家交替输入动作.
  • 必须捕获不正确的输入和不允许的移动,但可以静默忽略.
  • 游戏必须在不再进行任何动作时结束(因为棋盘已满或因为没有动作会翻转任何棋子).
  • 然后游戏必须宣布谁赢了,或者是否是平局.

以尽可能少的字符执行此操作.

会话应该看起来像这样:

 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)

code-golf reversi

10
推荐指数
2
解决办法
2536
查看次数

如何从Firefox插件中加载文件

我正在开发一个Firefox插件,其中包含一个包含一些HTML数据的文件.如何将此文件作为字符串加载?

我可以

var contents = Components.utils.import("resource://stuff.html");
Run Code Online (Sandbox Code Playgroud)

但然后尝试以Javascript的形式执行XML文件.我只想要它的内容!

javascript firefox firefox-addon

10
推荐指数
2
解决办法
5680
查看次数

使用Java在Mac上存储用户名/密码

我正在用Java编写一个小程序(一个推特客户端),针对Mac OS X.作为其功能的一部分,它需要有一个存储推特用户名/​​密码的地方.自然的地方是mac钥匙串,但我找不到任何访问它的方法.

有没有办法从Java访问mac钥匙串,或者失败了,你建议在哪里存储用户名/密码?

java security macos keychain

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

如何在Java中检查启动时按下的键

我正在尝试编写一个程序首次启动时弹出的分辨率选择对话框.为了防止用户厌烦,我想实现一个相当标准的功能,您可以使用复选框关闭该对话框,但在启动时按住alt键将其取回.

不幸的是,没有明显的方法来询问java 当前是否正在按下给定的键.您只能注册以通过KeyListener通知新的按键操作,但如果按键在应用程序启动之前启动,则无效.

java keyboard swing key awt

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

当模型是离散的时,如何处理中间状态的动画

我的程序中的数据模型有许多离散状态,但我想为这些状态之间的转换设置动画.当动画正在进行时,用户在屏幕上看到的内容与基础数据的内容断开连接.动画完成后,它们会再次匹配.

例如,假设我们有一个简单的游戏,其中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,但它并不像我那样优雅.思考?

model-view-controller graphics animation data-structures

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

将两个2D numpy数组连接成一个2元组的2D数组

我有两个像这样的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

python arrays numpy

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

更好的JFileChooser替代OS X,Linux?

至少在OS X下,JFileChooser会生成一个非常半生不熟的打开对话框,它不支持输入文件名的开头来选择它或显示三角形.

有没有人知道有更全功能行为的第三方替代品?理想情况下,我希望每个主要平台都有一个.我知道Windows 的XFileDialog,但是Mac和Linux/Unix呢?

相比下:

Java的文件选择器

OS X的文件选择器

java linux macos user-interface jfilechooser

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

动画在网页上旋转SVG元素

所以我在网页中嵌入了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)

html javascript graphics animation svg

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

Swing模态对话框拒绝关闭 - 有时!

// 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)

java swing multithreading modal-dialog jdialog

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

java.net.ConnectException:通过代理连接时连接超时

我试图从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)

java url proxy urlconnection download

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