将文件中的参数添加到列表中,然后使用列表

时间:2012-08-07 09:34:10

标签: python file list

遇到问题非常简单。

我正在制作一个简单的游戏(使用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)

随着更多敌人的加入,这很难维持。当我开始添加各种敌人类型时,莫索。

基本上,我希望游戏在列表中循环,查看当前刻度是否与任何行的第一个参数匹配,如果是,则添加该敌人。但是,我在这里有点坚持正确的语法(我觉得这些值可能也存在问题,因为它们似乎是字符串而不是整数)。

感谢任何帮助,谢谢。

1 个答案:

答案 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