カタン、Pythonでは?――screenの表示の続き

Pythonカタンをやってみよう。 

screenができたら、次は六角形の表示。draw.polygonを使う。

 

poslist = [(200,210), (200,230), (217.32,240), (234.64, 230), (234.64, 210), (217.32, 200)]

これは、六角形の各頂点の位置。正六角形に見えるように、計算して決めた。

pygame.draw.polygon(screen, blue, poslist)

実際に六角形を描くコード。引数は、screenの中にかけ、blue(0,0,255)に塗りつぶせ、各頂点はposlistだよ、という意味のはず。

 

ちなみに、ものはためしにもう一つ六角形を描いてみた。

poslist2 = [(400,210), (400,230), (417.32,240), (434.64, 230), (434.64, 210), (417.32, 200)]

pygame.draw.polygon(screen, blue, poslist2, 5)

位置は、横を200ずつ追加している。引数の最後に5を入れたもの。これで、塗りつぶすのではなく、幅5の枠線を引くことになる。

 

f:id:chamcham5628:20200921000416p:plain

 

pygame.display.flip()

これが実際にscreenを表示させるコード。これまでのものだけでは表示されないらしい。少しずつ表示されていくと、チカチカするので、ここまでためて、一気にいくというやり方だとか。

 

endflag = 0

while endflag == 0:

    for event in pygame.event.get():

        if event.type == pygame.QUIT: endflag = 1

    myclock.tick(60)

ここら辺は、「終われ!」と命令するまでやり続けろ、ということらしい。

 

pygame.quit()

これで終了。しかし、

sys.exit()

が無いと、エラーで終了する、と書いてある記事を見かけたが、本に載っていたサンプルコードでは、これはない。また、X印を押すことで画面を消すとき、特にエラーは出ていない。

謎が多い。