0

我正在为我的课程在 pygame 中制作一个与物理相关的程序。主题是简谐运动,我的程序将(希望)显示一个简单的钟摆运动以及它的速度、加速度、位移等的所有相对值。要开始模拟,我需要用户输入一些关于这个运动的值摆,例如它的振幅、时间周期和它的弦长。

我的第一个问题是我将如何获得这个输入,而不是为每个场景编写代码(即如果 keydown = 1:、如果 keydown = 2:、如果 keydown = 3: 等等......)无论如何都可以概括整个列表整数,所以我可以说,如果 keydown 是一个整数,那么时间段 = 输入。

其次,我希望这种情况实时发生,这样一旦他们输入数字,他们就可以看到它并在按 Enter 确认之前对其进行修改,就像您在普通表单上一样,我将如何实时传输值?

如果这些问题看起来真的很幼稚,我深表歉意,但迄今为止我所做的唯一计算机编程都是针对考试委员会教学大纲的,它不允许非常广泛的范围。

4

2 回答 2

0

您可以指定翻阅编辑不同的属性。键入某些内容会调用钟摆上的重新启动方法。

至于数字,键码是按顺序排列的,所以你可以有一个 if 语句来查看它是否在 0 到 9 之间。像这样:

for event in pygame.event.get():
        if event.type == KEYDOWN and event.key >= K_0 and event.key <= K_9:
            key = event.key - K_0
于 2013-03-16T22:20:59.873 回答
0

您可以让他们在启动时将这些值输入终端,然后有一个按钮可以冻结您的窗口并在他们单击它时返回终端以询问输入,如下所示:

int amplitude = raw_input("enter the amplitude")
int length = raw_input("enter the length of the string")
...
while(true) //main loop
    if changevariables:
        int amplitude = raw_input("enter the new amplitude")
        ...
于 2013-03-18T01:14:43.343 回答