0

私は授業のためにpygameで物理学関連のプログラムを作っています。トピックは単純な調和運動であり、私のプログラムは (うまくいけば) 速度、加速度、変位などのすべての相対値とともに単純な振り子の運動を表示します。シミュレーションを開始するには、ユーザーにこの運動に関するいくつかの値を入力するように要求します。振幅、周期、弦の長さなどの振り子。

私の最初の質問は、すべてのシナリオ (つまり、keydown = 1: の場合、keydown = 2: の場合、keydown = 3: の場合など) ごとにコードを記述するのではなく、この入力をどのように取得するかということです。キーダウンが整数の場合、期間 = 入力と言えます。

第二に、これをリアルタイムで実行して、数値を入力すると、Enter キーを押して確認する前に数値を確認して修正できるようにしたいのですが、通常のフォームの場合と同様に、リアルタイムで値をブリットするにはどうすればよいでしょうか?

質問が非常に素朴に見える場合は申し訳ありませんが、これまでに行った唯一のコンピューター プログラミングは、試験委員会のシラバスに非常に特化したものであり、非常に広い範囲を考慮していません。

4

2 に答える 2

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 に答える
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 に答える