小编tal*_*ees的帖子

在使用纯函数式编程构建的游戏中,一个玩家怎么会对另一个玩家造成伤害(改变状态)呢?

除了纯函数的概念之外,我对函数式编程知之甚少.在约翰卡马克2013年的Quakecon演讲中,他提到了一个常常被问及与游戏相关的函数式编程的问题:如果你无法访问状态,你如何开枪并对另一个玩家造成伤害?(转述)在提到一个关于事件系统的事情,我不太明白,因为在我看来事件系统仍然需要状态?

如何用纯函数语言实现这一目标?

haskell functional-programming

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

在学习新模块时,我应该记住函数参数的顺序吗?

例如,我现在正在学习wxPython,特别是类的init函数:

__init__(self, parent, id=-1, label=EmptyString, pos=DefaultPosition,
 size=DefaultSize, style=0, name=StaticTextNameStr) 
Run Code Online (Sandbox Code Playgroud)

作为一个良好的编程习惯,我应该记住参数的顺序,还是只记住关键字并每次使用关键字调用函数?为了便于阅读,后者更好吗?

python function

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

在Java中,"var = 3;"之间有什么区别?和"this.var = 3;"?

this.var的唯一目的是区分可能冲突的外部变量名吗?

java

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

如果提高可读性,是否可以接受冗余代码?

我有以下代码来检查游戏单元是玩家还是敌人.这是仅有的两个类别.我可以删除isEnemy方法并对敌人运行所有检查,就好像(!isPlayer),但我个人觉得如果(isEnemy)使代码的意图更清晰.是否有任何既定的编码风格可以说这种情况?

public boolean isPlayer(Unit unit) {
    return unit == player;
}

public boolean isEnemy(Unit unit) {
    for (Unit e : enemies) {
        if (unit.equals(e))
            return true;
    }
    return false;
}
Run Code Online (Sandbox Code Playgroud)

java coding-style

5
推荐指数
2
解决办法
210
查看次数

int vs long比较会损害Java中的性能吗?

比较int和long伤害表现?即

int x = 1;
long y = 2;
if (x < y) doStuff();
Run Code Online (Sandbox Code Playgroud)

而不是:

int x = 1;
int y = 2;
if (x < y) ...
Run Code Online (Sandbox Code Playgroud)

是否存在类型转换?或者内存中的位布局是否允许直接比较?(即long中的额外位可以假设为int的0)

java int comparison long-integer

5
推荐指数
2
解决办法
1916
查看次数

如何将*args传递给我的timeit.Timer对象?

我最初为定时函数创建了一个自定义函数,如下所示:

def timefunc(function, *args):
    start = time.time()
    data = function(*args)
    end = time.time()
    time_taken = end - start
    print "Function: "+function.__name__
    print "Time taken:",time_taken
    return data
Run Code Online (Sandbox Code Playgroud)

现在,了解了timeit模块后,我想用它来实现相同的功能.在发送函数和*args参数时,我无法弄清楚如何做到这一点.我已经发现我必须在setup arg中执行此操作:

"from __main__ import function"
Run Code Online (Sandbox Code Playgroud)

但我无法弄清楚如何处理*args,因为'stmt'和'setup'参数都是字符串,我怎么能传递变量?

python function args timeit

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

Python有什么像Ruby的雾吗?

阅读有关雾的信息:http://fog.io

Python有类似的东西吗?(云服务库.)

需要吗?

ruby python cloud fog

4
推荐指数
2
解决办法
2087
查看次数

我可以在C中重写我昂贵的pygame函数吗?

我可以在我的pygame游戏中找到昂贵的函数(例如,A*寻路)并将它们重写为此处概述的扩展吗?

这样做有速度好处吗?有更好的(python)解决方案吗?

我问这个问题是因为我刚开始学习C是出于无关的原因,当它发生在我身上时,当我回到Python和pygame时这可能是一个好主意.

c python pygame a-star path-finding

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

获取c函数的手册页而不是系统命令

我想输入" man time"和关于time.h时间函数的信息,但我得到的是linux时间系统命令.

man time 2或者man time 3没有任何不同.我怎样才能找到合适的手册页?

c linux manpage

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

有人可以分解这一行,以便我能理解吗?

我无法理解如何在Java中初始化ArrayLists数组,有人可以解释这行代码中发生了什么吗?

edges = (ArrayList<Integer>[]) new ArrayList[nodeCount + 1];
Run Code Online (Sandbox Code Playgroud)

java

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