遇到问题非常简单。
我正在制作一个简单的游戏(使用pygame),其中敌人(精灵)在某个游戏时刻进入游戏画面。我认为编写一个文本文件会更容易管理所有可以读入列表的敌人。
如果我的文件“heli.txt”包含:
10 660 130 1
10 660 350 2
我希望程序在某个x,y的第10个刻度上添加两个敌人,并在屏幕上按照某种模式。
这就是我要去的地方:
fh = open( "heli.txt" );
heliList = []
for line in fh.readlines():
y = [value for value in line.split()]
heliList.append( y )
fh.close()
这似乎恰当地填充了列表:
>>> print (heliList)
[['10', '660', '130', '1'], ['10', '660', '350', '2']]
我用于第二个敌人的当前方法是:
if timer.returnTick() == 10:
heli = Heli(660, 350, 2)
随着更多敌人的加入,这很难维持。当我开始添加各种敌人类型时,莫索。
基本上,我希望游戏在列表中循环,查看当前刻度是否与任何行的第一个参数匹配,如果是,则添加该敌人。但是,我在这里有点坚持正确的语法(我觉得这些值可能也存在问题,因为它们似乎是字符串而不是整数)。
感谢任何帮助,谢谢。
答案 0 :(得分:0)
将值设为整数:
fh = open( "heli.txt" );
heliList = []
for line in fh.readlines():
y = [int(value) for value in line.split()] #added "int( )"
heliList.append( y )
fh.close()
一旦你拥有了所有敌人的名单,检查他们的勾选做这样的事情:
tick = 0
while True:
for enemy in enemylist:
if enemy[0] == tick:
DO_YOUR_CODE
tick += 1
#dont forget to add an exit to this loop