按键动作(Python)

时间:2015-02-25 13:08:05

标签: python-2.7

我想在Python中编写以下代码。当我按下一个键时,让我们说出键" a",程序需要写一个日志文件,例如主题回答"左"。

你能帮我解决这个问题吗?

Thnx很多!

1 个答案:

答案 0 :(得分:0)

我知道我们不应该做出假设,但我还无法添加评论以获得澄清。我也非常有信心你想用你所说的问题来写一个游戏(WASD和" A"是"左")。如果不是这种情况,请告诉我,我将删除此答案。

你可以实现与你想要的东西非常相似的东西"裸体" Python,沿着这些方向:

from sys import exit

def get_answer():
    while True:
        answer = raw_input("A to go left, D to go right, W to go up, S to do down, QUIT to exit")
        if answer == "QUIT" or "quit":
            exit("You have quit the game.")
        if answer == "A" or "a":
            #call function for going left
        if answer == "D" or "d":
            #call function for going right
        if answer == "W" or "w":
            #call function for going up
        if answer == "S" or "s":
            #call function for going down
        else:
            print "Please make sure that your answer is W, A, S, D or QUIT."

#(all the other functions go here)

done = False
#"Pseudo event loop"
while not done:
    #function that draws
    get_answer()
    #function for all the logic that happens after character moves; fight etc.
    #function that checks if game is finished and if it is, sets done to True

虽然你永远不会用这种方法获得非常动态的东西,但它仍然足以完成一个有趣的小游戏。这里明显的缺点是" Pseudo事件循环"将等待用户完成" get_answer()"。我并不认为在“赤裸裸”的情况下实现这一点是切合实际的。 Python以更好的方式。

如果您想创建一个具有实际图形的游戏,并且无论用户是否有任何输入(例如敌人自己行走)都会发生事情,我强烈建议您查看像PyGame这样的框架(它'很好地记录了)。在其中实现实际的事件循环非常简单,它允许您在按键时获得所需的"操作"行为。