考虑以下:
with open(path, mode) as f:
return [line for line in f if condition]
Run Code Online (Sandbox Code Playgroud)
文件是否会正确关闭,或者以return某种方式绕过上下文管理器?
我需要为Pygame项目做一些基本的网络.
基本上,它是2D单人游戏或合作游戏.网络只需要支持2个玩家,其中一个作为主机.
需要发送的唯一信息是球员,小兵和子弹的位置.
我一直在阅读,Twisted不断出现,但我之前没有做过网络,我不确定这可能是一种矫枉过正.
那么,相对新手是否有可能在Pygame中实现网络?谁能指出我正确的方向?
请使用以下代码段
class Missile:
instances = []
def __init__(self):
Missile.instances.append(self)
Run Code Online (Sandbox Code Playgroud)
现在拿代码:
class Hero():
...
def fire(self):
Missile()
Run Code Online (Sandbox Code Playgroud)
当英雄射击时,需要创建导弹并将其附加到主列表中.因此,当激活时,英雄对象需要引用该列表.以下是一些解决方案,但我确信还有其他解决方案:
我没有在gamedev上发布这个,因为我的问题实际上更为一般:以前的代码是否可以考虑?鉴于这种情况,是否有更多的Pythonic解决方案?
请使用以下代码
is_valid = command == "B"
Run Code Online (Sandbox Code Playgroud)
要么
can_move = move in legal_moves()
Run Code Online (Sandbox Code Playgroud)
这些都是形式
bool = (boolean expression)
Run Code Online (Sandbox Code Playgroud)
我发现自己写了这样的陈述,我想知道它是否在某种程度上被认为是"unpythonic".我不太确定我非常喜欢它,但它很简洁.
那么谁有更清洁的选择?