我在任何地方都找不到答案.那么,设置文件中的变量集和auth模块中的函数之间的区别是什么?
在一个类中,我有一个构造函数,看起来像:
Class(int x, int y, int[] moves);
Run Code Online (Sandbox Code Playgroud)
在创建这些对象的其他类中,我将移动存储在ArrayList中.移动是数字.因此,当这个类决定ti创建新对象时,它必须首先将此ArrayList转换为数组.所以我尝试过这样的事情:
new Object(0, 0, (int[])moves.toArray(int[moves.size()]);
Run Code Online (Sandbox Code Playgroud)
但它不起作用.怎么做得恰到好处?
简短的问题 - 它应该如何工作?
private <T> boolean hasElement(T array, T element) {
for (T el : array) {
if (el.equals(element)) {
return true;
}
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
现在它显示了for循环开始时的错误.
我正在写一个游戏,而在True中:循环我有一个重新绘制游戏状态的代码.
我有几个不同种类的物品清单(宇宙飞船,横梁,星星) - 所有这些都是为了提高性能.
我需要把它们全部画出来.我可以:
for spaceship in spaceships:
screen.blit(spaceship.image, (spaceship.x, spaceship.y))
for beam in beams:
screen.blit(beam.image, (beam.x, beam.y))
...
Run Code Online (Sandbox Code Playgroud)
但我觉得这有点违背DRY原则.我觉得它可以做得更好.
我需要的是这样的结构:
for actor in spaceships + beams + stars:
actor.move()
screen.blit(actor.image, (actor.x, actor.y))
Run Code Online (Sandbox Code Playgroud)
但是一个人不会加入它们(也不会做任何会降低性能的事情).你的想法?