1

マウスを使って星をかわす基本的なゲームを書いていますが、特定の部分が正しく動作しません。

10秒プレイしたらステージクリア、負けたら10秒タイマーがリセットされるようにしています。

ここに私がしようとしているものがあります:

def time_pass(self):
        self.time_passed = time.clock()
        print self.time_passed
    if self.time_passed > 10:
        self.state = 3

このメソッドif self.state == 2は、メイン ゲームであるのみ実行され、if self.state == 3あなたが勝ち、負けた画面はif self.state == 0です。しかし、何が起こるかというと、ゲームを実行し、再生をクリックすると、self.state 2 が実行されてタイマーが開始され、負けてもタイマーは続行します。そのため、メイン画面に戻って再生をもう一度押すと、タイマーがリセットされるのではなく、中断したところから再開されます。

完全なゲーム コードを見たい場合:

スター ドジャー Git

前もって感謝します。

-ChristianCareaga

4

1 に答える 1

2

start_timeあなたが設定したときに言う時間を節約してくださいself.state = 2
に変更開始後self.time_passed > 10:if self.time_passed > (start_time + 10):
ゲームが終了10します。
IOW、時計をリセットしないでください。

于 2013-06-06T04:06:54.103 に答える