StarPusher 14

複数レベル

下記のコードを関数change9の後ろに移動した。

screen = Screen()
screen.setup(13*50, 15*40, 0, 0)
screen.setworldcoordinates(-1.5, -13, 11.5, 2)
screen.bgcolor(0, 170, 255)     # set background color
for image in images:
    screen.register_shape(image)

left(90)
penup()
          
この時、関数leftは、starpusherのleft関数とプログラムで作成したleft関数がバッティングするので、left 関数setheadingを使用した。

levelmapsで複数のマップを用意する。
レベルを保持するための変数levelを用意した。
関数startlevelを用意し、レベルのための初期化を行う。

関数drawMapの最初に、スターの表示を止め、リストstarsを初期化する。
レベルクリア時にsolve画像を表示し、まだ次のレベルが存在すれば、[a]キーを受け付けるようにする。
[a]キーが押されると関数nextlevelが呼ばれるので、[a]キーを受け付けを無効にし、 レベルを1つ上げて、関数startlevelを呼び出し、次のレベルの画面を表示し、ゲームできるようにする。

[starpusher14]