我想在Python中编写以下代码。当我按下一个键时,让我们说出键" a",程序需要写一个日志文件,例如主题回答"左"。
你能帮我解决这个问题吗?
Thnx很多!
答案 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这样的框架(它'很好地记录了)。在其中实现实际的事件循环非常简单,它允许您在按键时获得所需的"操作"行为。