小编Dav*_*mes的帖子

从终端构建和运行lwjgl程序

我正在尝试编译并运行一个使用LWJGL的非常基本的程序:

import org.lwjgl.LWJGLException;
import org.lwjgl.opengl.Display;

public class HelloWorld {
     public static void main (String args[]) {
         try {
             Display.setTitle("Hello World");
             Display.create();
         } catch (LWJGLException e) {
             e.printStackTrace();
         }

         while (!Display.isCloseRequested()) {
             try {
                 Thread.sleep(100);
             } catch (Exception e) {
                 e.printStackTrace();
             }
         }
    }
}
Run Code Online (Sandbox Code Playgroud)

我设法使用以下方法编译它:

javac -classpath ~/Downloads/lwjgl-2.8.3/jar/lwjgl.jar:~/Downloads/lwjgl-2.8.3/jar/lwjgl_util.jar:~/Downloads/lwjgl-2.8.3/jar/jinput.jar HelloWorld.java
Run Code Online (Sandbox Code Playgroud)

但现在我无法运行它...我试过:

java HelloWorld
Run Code Online (Sandbox Code Playgroud)

和:

java -Djava.library.path=~/Downloads/lwjgl-2.8.3/native/linux HelloWorld
Run Code Online (Sandbox Code Playgroud)

但这些都不起作用.他们两个都抱怨找不到LWJGLException类定义.

我正在运行Linux,而我没有使用Eclipse或Netbeans等IDE.我不想使用一个,我希望能够从终端运行.

java linux terminal lwjgl

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

永远循环并提供增量时间

我正在编写一个HTML5游戏开发Javascript框架,我想为用户提供最后一个滴答与当前滴答之间的时间差异.

setInterval(tick, 16.6666666);

function tick() {
  update();
  draw();
}
Run Code Online (Sandbox Code Playgroud)

这就是我所拥有的,但我希望:

while (true) {
  /* Calculate delta time */

  tick(dt);
}

function tick(dt) {
  update(dt);
  draw();
}
Run Code Online (Sandbox Code Playgroud)

我试过,使用date.getTime(); 计算增量时间,但Firefox说脚本崩溃了.显然,无限循环会崩溃.对于我怎么做这个有什么建议吗?

我想要一个无限循环,可以停止break.我也希望通过delta时间,但我知道该怎么做.

javascript html5 loops timedelta

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

实际类的数组

  Ship *ship;

  if (newShipType == 0)
  {
    ship = new SmallShip(gridPosition.x, gridPosition.y,
                         grid->raw);
  }
  else if (newShipType == 1)
  {
    ship = new MediumShip(gridPosition.x, gridPosition.y,
                          grid->raw);
  }
  else // 2
  {
    ship = new BigShip(gridPosition.x, gridPosition.y,
                       grid->raw);
  }
Run Code Online (Sandbox Code Playgroud)

我有这个代码,我希望通过以下方式简化:

Ship *ship = new getShipByType[newShipType](gridPosition.x, gridPosition.y, grid->raw);
Run Code Online (Sandbox Code Playgroud)

有可能吗?

Ship getShipByType[3] = {SmallShip, MediumShip, BigShip};
Run Code Online (Sandbox Code Playgroud)

这给了:

error: expected primary-expression before ‘,’ token
error: expected primary-expression before ‘,’ token
error: expected primary-expression before ‘}’ token
Run Code Online (Sandbox Code Playgroud)

我真的不希望它编译,只是寻找一种更简单的方法,这只是一个非常长的尝试.

c++ oop design-patterns

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

emacs摆脱了Cx

有没有办法可以在任何快捷方式之前停止需要CX,例如,只是使用Cc离开?

另外,如果可能的话,这会有什么缺点?

我正在寻找一种更简单的使用GNU Emacs的方法,但不确定我是否能找到它.

emacs

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

Emacs创建了太多缓冲区

Emacs创建了太多的缓冲区,比如启动它时的缓冲区:

Loading /home/david/.recentf...done
Cleaning up the recentf list...done (0 removed)
For information about GNU Emacs and the GNU system, type C-h C-a.
Run Code Online (Sandbox Code Playgroud)

当我想要自动完成时,其他人喜欢以下内容:

Click <mouse-2> on a completion to select it.
In this buffer, type RET to select the completion near point.

Possible completions are:
perl-backward-to-noncomment     perl-beginning-of-function
perl-electric-terminator    perl-end-of-function
perl-indent-command     perl-indent-exp
perl-mark-function  perl-mode
perldb
Run Code Online (Sandbox Code Playgroud)

有没有办法我可以让emacs杀死自动完成缓冲区而不是在开始时创建那个?谢谢.

emacs

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

Emacs缩进/取消当前行

我一直在使用Emacs,我真的很想念一个古老的Geany捷径 - "Ci"和"Cu".

"Ci"缩进整个当前行(将鼠标光标保持在原位),"Cu"取消整个当前行.

我为Emacs找到了许多缩进命令,有些缩进了一个区域.基本上,我需要的是Vim的">>"和"<<",但将鼠标光标保持在原位.

然而,我的主要疑问是,我如何只能缩进当前行.

有任何想法吗?先感谢您!

EDIT 选项卡添加两个空格,我想要在该行的任何位置,并在该行的开头添加两个空格,或从该行的开头删除两个空格.

emacs elisp

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

std :: count错误

  temp_holder.clear();
  temp_holder << n;
  n_str = temp_holder.str();
  int f = count(n_str.begin(), n_str.end(), a);
Run Code Online (Sandbox Code Playgroud)

这是我的代码,这是g ++输出:

In file included from /usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/algorithm:63:0,
                 from trintatres.cpp:5:
/usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/bits/stl_algo.h: In instantiation of ‘typename std::iterator_traits<_InputIterator>::difference_type std::count(_IIter, _IIter, const _Tp&) [with _IIter = __gnu_cxx::__normal_iterator<char*, std::basic_string<char> >; _Tp = std::basic_string<char>; typename std::iterator_traits<_InputIterator>::difference_type = long int]’:
trintatres.cpp:44:50:   required from here
/usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/bits/stl_algo.h:4656:2: error: no match for ‘operator==’ in ‘__first.__gnu_cxx::__normal_iterator<_Iterator, _Container>::operator*<char*, std::basic_string<char> >() == __value’
/usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/bits/stl_algo.h:4656:2: note: candidates are:
In file included from /usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/iosfwd:42:0,
                 from /usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/ios:39,
                 from /usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/ostream:40,
                 from /usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/iostream:40,
                 from trintatres.cpp:1: …
Run Code Online (Sandbox Code Playgroud)

c++ stl

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

如何将 Emacs 结构缩进从 4 个空格更改为 2 个空格

;; C++ Mode
(c-set-offset 'access-label '-2)
(c-set-offset 'inclass '4)
(setq c-default-style "k&r"
      c-basic-offset 2)
Run Code Online (Sandbox Code Playgroud)

那是我的 C++ 配置。我希望 Emacs 用 2 个空格缩进结构体,就像它缩进函数一样,if/while/for 块,但目前它是这样做的:

struct plane {
    //4 spaces'?
};
Run Code Online (Sandbox Code Playgroud)

但是,它这样做:

typedef car {
  //2 spaces!
}
Run Code Online (Sandbox Code Playgroud)

我尝试使用c-modec++-mode。当我M-x c-set-offset在一个结构体(它当前用 4 个空格缩进)中执行操作时,它会将其检测为topmost-intro(0 个空格),即使在 C++ 模式下也是如此。

基本上,我希望内部结构缩进 2 个空格而不是现在的 4 个空格。(GNU Emacs 24.2.1)

c++ emacs struct

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

ng-model作为二维数组中的变量

  <p ng-repeat="row in matrix">
    <span ng-repeat="column in row">
      <input type="text" style="width: 20px; text-align: center;" ng-model="column" ng-change="{{column = }}">
    </span>
  </p>
Run Code Online (Sandbox Code Playgroud)

在我的控制器上:

$scope.matrix = [[0, 0, 0], [0, 0, 0], [0, 0, 0]];
Run Code Online (Sandbox Code Playgroud)

我有一小段代码,我想要与之关联的小文本输入框matrix[i][u].我知道我可以ng-model=用来使文本框与某个变量相关联.

但是,我希望它可以两种方式 - 更改变量将更改文本框值,更改文本框值将更改变量.但是,当我ng-model在输入文本框中时,我似乎无法编辑其值,因为它将始终"重置"为其默认值.

我知道我可以使用,ng-change但我做了中间线:

<input type="text" style="width: 20px; text-align: center;" ng-model="column" ng-change="update">
Run Code Online (Sandbox Code Playgroud)

并且它无法调用$ scope.update()函数.我还是无法编辑文本框值.

tl; dr:我怎么能有一个文本框,ng-model并允许编辑它来编辑文本框值和ng-model上的变量.

angularjs

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

最大相等的字符串子数组

假设我有两个字符串:

"hello"
"love"
Run Code Online (Sandbox Code Playgroud)

字符串中最大子数组的大小为2:"lo".

这是另一个例子:

"ABBABBA"
"BBABCBA"
Maximum subarray: "BBAB"
Size: 4
Run Code Online (Sandbox Code Playgroud)

基本上,我该如何以最有效的方式解决这个问题?

我的想法如下:

  • 为一个字符串生成所有子数组
  • 为另一个字符串生成所有子数组;
  • 比较所有子阵列
  • 结果是最大匹配子阵列的大小

但我认为这是一些看起来很糟糕的蛮力.知道如何改进这个吗?

谢谢!

编辑 我也需要字符串.

c++ algorithm

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