小编eli*_*ocs的帖子

游戏项目开发

这是我在此的头一篇博文.我22岁来自西班牙,我已经读完大学,在那里我学习了一组朋友,我想开发一个游戏,它将包含一个3D世界,其中简单的3D形状互相交互,其中"真实"就像物理一样参与其中.我没有电子游戏编程经验,我愿意学习,所以我想问:

您将使用哪种编程语言和/或库来构建一个由3D形状相互交互并且像物理一样"真实"的游戏?

提前致谢.

ps:我知道这个问题有多个答案,但我想知道目前最常用的技术是什么.

programming-languages

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

用变量参数定义我自己的max函数

我正在学习Clojure解决4clojure上列出的问题.其中一个练习是max使用变量参数创建自己的函数.

我正在尝试使用REPL解决这个简单的问题,我得到了这个解决方案:

(defn my-max 
    [first & more] (calc-max first more))

(defn calc-max 
    [m x] 
        (cond (empty? x) m
            (> (first x) m) (calc-max (first x) (rest x))
            :else calc-max m (rest x)))
Run Code Online (Sandbox Code Playgroud)

哪个工作正常,但练习不允许使用,def因此我必须将两个功能合二为一.当我calc-max用它的代码替换引用时,结果是:

(defn my-max 
    [first & more] 
    ((fn calc-max 
        [m x] 
            (cond (empty? x) m
                (> (first x) m) (calc-max (first x) (rest x))
                :else calc-max m (rest x)))
                    first more))
Run Code Online (Sandbox Code Playgroud)

但是这段代码不起作用并返回下一个错误:

user=> (my-max 12 3 4 5 612 3)
java.lang.ClassCastException: …
Run Code Online (Sandbox Code Playgroud)

clojure variadic-functions

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

具有api访问权限的无限子域名的DNS提供商?

我有一个项目,它将为用户提供他们自己的域名,例如tumblr.

我想找到一个可以提供的提供商:

  • 一个顶级域名.例如:myproject.com
  • 无限的子域名.例如:a.myproject.com,b.myproject.com,...
  • 用于自动创建子域的API
  • 价格合理(如果可能).

dns

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

如何克服静态属性无法覆盖的事实?

我想实现一个应用程序,其中我有各种可以解释为XML字符串的对象.首先,我想到创建一个接口,使每个对象实现两个方法:

public abstract Element toXML();
public abstract void fromXML(Element element);
Run Code Online (Sandbox Code Playgroud)

第一个将对象信息转换为DOM元素,第二个将信息从DOM元素加载到对象.我最终在每个子类中定义了一个静态String,其中包含元素的TAG,因此我决定将接口转换为抽象类并为其提供更多功能:

public abstract class XmlElement implements Serializable {
     protected static Document elementGenerator;
     public String TAG = "undefined";

     static {
         try {
             elementGenerator = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
        } catch (ParserConfigurationException e) {
            StateController.getInstance().addLog(
                    new Log(Log.Type.ERROR, "Couldn't load XML parser: " + e));
            System.exit(1);
        }
    }

    public abstract Element toXML();
    public abstract void fromXML(Element element);
}
Run Code Online (Sandbox Code Playgroud)

元素生成器在toXML方法中用于生成元素.我无法克服的这个设计的错误是TAG属性不能像我希望的那样变成静态,主要是因为我不想实例化每个子类的对象只是为了知道TAG它使用.Java不允许覆盖静态属性或方法,这是解决这个问题的正确方法吗?

java static overriding design-patterns

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

如何覆盖父构造函数中使用的方法?

我遇到了一个设计问题,我不知道如何在java中克服.我想覆盖从父构造函数调用的方法.这是一个非常简单的问题示例:

public class Parent {
    public Parent(){
        a();
    }

    public void a() {
        // CODE
        return;
    }
}

public class Child extends Parent {
    public Child() {
       super();
    }

    public void a() {
       super.a();
       // MORE CODE
       return;
    }
}
Run Code Online (Sandbox Code Playgroud)

我知道子类不会被初始化,直到构造父类,因此不会调用子类a()方法.解决这个问题的正确设计是什么?

java

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

django式框架?

嗨,我已经和Django合作了几个月,发现它真的很有帮助.是否有其他编程语言(如Java或C#)的类似框架?我与Django的问题是找到一个服务器来托管项目,因为支持服务器更昂贵,更难找到.

在Django中,我发现以下项有用:对象关系映射器,管理界面和URL管理.

谢谢!

.net java django frameworks

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

用于list :: sort的C++自定义比较函数

嗨,我在编译一段简单的代码时遇到了麻烦.我正在创建一个实现卡片组的类,我想使用list :: short方法创建一个shuffle方法.

相关代码:

加入deck.h

#ifndef _DECK_H
#define _DECK_H

#include <list>
#include <ostream>

#include "Card.h"
#include "RandomGenerator.h"

using namespace std;

class Deck {
private:
    static const int CARD_NUMBER = Card::CARDS_PER_SUIT*Card::SUIT_NUMBER;
    list<Card *> *cards;
    RandomGenerator rg;

public:
    Deck();
    ~Deck();
    void shuffle();
private:
    bool const compareRandom(const Card *a, const Card *b);

};

#endif  /* _DECK_H */
Run Code Online (Sandbox Code Playgroud)

deck.cc:

#include "Deck.h"

/**
 * Fills the deck with a set of 52 cards
 */
Deck::Deck() {
    cards = new list<Card *>();
    for(int i = 0; …
Run Code Online (Sandbox Code Playgroud)

c++ function-pointers list

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

我自己的插入功能作为练习

我正在解决一个4Clojure练习,这个练习要求你建立自己的插入功能.我的答案如下:

(fn my-interpose 
  ([separator input] (my-interpose separator input nil))
  ([separator input result] 
    (if 
      (empty? input) 
      (reverse (rest result))
      (my-interpose separator (rest input) (cons separator (cons (first input) result))))))
Run Code Online (Sandbox Code Playgroud)

在读Clojure书时,我正在做这些练习来学习语言.我想知道有关我的语言经验的人的代码的意见.我可以避免反向通话吗?是否有任何惯例我很难用这种代码打破?

clojure

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

如何将带有枚举键的Swift词典转换为NSDictionary?

我无法将Swift字典转换为NSDictionary.我使用Swift枚举作为我的字典的关键:

enum StringEnum : String {
    case Lemon = "lemon"
    case Orange = "orange"
}

var swiftDictionary = [StringEnum: AnyObject]()
swiftDictionary[.Lemon] = "string value"
swiftDictionary[.Orange] = 123
Run Code Online (Sandbox Code Playgroud)

当我尝试NSDictionary使用as关键字将其转换为a 时:

let objcDictionary: NSDictionary = swiftDictionary as NSDictionary
Run Code Online (Sandbox Code Playgroud)

我收到编译器错误:

'[StringEnum : AnyObject]' is not convertible to 'NSDictionary'
Run Code Online (Sandbox Code Playgroud)

可以转换这些类型的字典,还是需要循环Swift字典并NSDictionary手动创建?

objective-c ios swift

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

如何迭代集合并在每次迭代时访问上一个,当前值和下一个值?

如何在Clojure中迭代集合的元素,以便在每次迭代中访问前一个,当前值和下一个值.

使用以下向量:

[1 2 3 4]
Run Code Online (Sandbox Code Playgroud)

我想在每次迭代中访问以下值:

[nil 1 2]
[1 2 3]
[2 3 4]
[3 4 nil]
Run Code Online (Sandbox Code Playgroud)

clojure

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