小编Dan*_*mbe的帖子

JavaScript中更好的随机功能

我目前正在使用JavaScript制作康威的生命游戏,我注意到函数Math.random()总是返回某种模式.以下是100x100网格中随机结果的示例:

在此输入图像描述

有谁知道如何获得更好的随机数字?

ApplyRandom: function() {

    var $this = Evolution;

    var total = $this.Settings.grid_x * $this.Settings.grid_y;
    var range = parseInt(total * ($this.Settings.randomPercentage / 100));

    for(var i = 0; i < total; i++) {
      $this.Infos.grid[i] = false;
    }

    for(var i = 0; i < range; i++) {
      var random = Math.floor((Math.random() * total) + 1);
      $this.Infos.grid[random] = true;
    }

    $this.PrintGrid();
  },
Run Code Online (Sandbox Code Playgroud)

[UPDATE]

我在这里创建了一个jsFiddle:http://jsfiddle.net/5Xrs7/1/

[UPDATE]

似乎Math.random()毕竟是好的(感谢raina77ow).对不起人!:(.如果你对结果感兴趣,这里是游戏的更新版本:http://jsfiddle.net/sAKFQ/

(但我认为还有一些漏洞......)

javascript random math

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

阻止PHP访问父目录

我在目录中托管了一个网站:/var/www/website.com.

该目录及其所有子文件夹允许执行PHP代码.但是,我想阻止特定文件夹(/var/www/website.com/subfolder)中的PHP文件访问父文件夹并列出其文件.

例如:一个PHP函数一样scandir()应该被允许列出在(所有文件夹,子文件夹和文件/var/www/website.com/subfolder),但应该不是被允许列出文件低于这一水平.

你知道如何实现这样的行为(最好是Nginx)吗?

php security permissions

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

如何在 Typescript 中将组件类定义为接口字段?

我有以下界面:

interface Drawer {
  title: string,
  content: Component
}
Run Code Online (Sandbox Code Playgroud)

之后我实例化这个接口:

let workspace: Drawer = {
    title: 'Workspaces',
    content: SidebarWorkspacesComponent
};
Run Code Online (Sandbox Code Playgroud)

在编译期间,我收到以下错误:

ERROR in src/app/components/sidebar/sidebar-toggler.component.ts(36,4): error TS2559: Type 'typeof SidebarWorkspacesComponent' has no properties in common with type 'Component'.
Run Code Online (Sandbox Code Playgroud)

现在我尝试使用 ComponentRef 并阅读了数十篇文章,但无法弄清楚如何在接口中传递组件。显然我可以简单地将内容声明为“任何”,但我宁愿知道如何正确地做事。

提前致谢!

typescript angular-components angular

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

Why this NES 6502 assembly code doesn´t work when moved to a scoped proc?

I have a snippet that clears memory before initializing a game in NES 6502 assembly. When I leave the code inside the reset proc like so, it works:

.proc reset
  SEI
  CLD

  LDX #0
  ClearRAM:
    STA $000,x
    STA $100,x
    STA $200,x
    STA $300,x
    STA $400,x
    STA $500,x
    STA $600,x
    STA $700,x
    INX
    BNE ClearRAM
.endproc
Run Code Online (Sandbox Code Playgroud)

However, if I try to move this ClearRAM snippet inside a scoped proc:

.scope Memory
  .proc clear
    LDX #0
    ClearRAM:
      STA $000,x
      STA $100,x
      STA …
Run Code Online (Sandbox Code Playgroud)

assembly 6502 nes

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