pygameを使って四目並べのゲームを作りたいのですが、試しにマス目だけ作ってプログラムを走らせてみたところ、ずっとマウスポインタのアイコンがロード中の表示になってしまい、四目並べのウィンドウの閉じるボタンをクリックしても、escキーを押してもプログラムが終了できませんでした。
そこで、IDLEのインタラクティブシェルの閉じるボタンを押したところ、プログラムはなんとか終了することができました。
原因もわからず、どうしたらよいか困っています。原因を教えていただきたいです。
使用環境はPython3.6.5です。
以下ソースコードです。
python3
1#! usr/bin/env python3 2 3import pygame 4import sys 5 6LINE_VERTICAL = [[(80,0),(80,480)],[(160,0),(160,480)],[(240,0),(240,480)],[(320,0),(320,480)],[(400,0),(400,480)],[(480,0),(480,480)],[(560,0),(560,480)]] 7LINE_HORIZONTAL = [[(0,80),(560,80)],[(0,160),(560,160)],[(0,240),(560,240)],[(0,320),(560,320)],[(0,400),(560,400)]] #縦線の座標 8COMMAND_LINE = [[(560,180),(660,180)],[(560,300),(660,300)]] #横線の座標 9CIRCLE_RADIUS = 30 #碁石の半径(ここでは使用していない) 10CIRCLE_POS = [((40+80*x),(40+80*y)) for x in range(6) for y in range(7)] #碁石の中心座標(ここでは使用していない) 11BLACK = (0,0,0) #黒色 12 13def main(): 14 pygame.init() 15 screen = pygame.display.set_mode((660, 480)) 16 pygame.display.set_caption('四目並べ') 17 18 while 1: 19 screen.fill((128,128,128)) 20 for coord in LINE_VERTICAL: 21 pygame.draw.line(screen,BLACK,coord[0],coord[1],1) #縦線描画 22 for coord in LINE_HORIZONTAL: 23 pygame.draw.line(screen,BLACK,coord[0],coord[1],1) #横線描画 24 for coord in COMMAND_LINE: 25 pygame.draw.line(screen,BLACK,coord[0],coord[1],1) #自分と相手のターンを表示するコマンドの部分 26 pygame.display.update() 27 28 for event in pygame.event.get(): 29 if event.type == QUIT: 30 pygame.quit() 31 sys.exit() #閉じるボタンを押すと終了 32 if event.type == K.ESCAPE: 33 pygame.quit() 34 sys.exit() #escキーを押すと終了 35 36if __name__ == '__main__': 37 main()
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/16 06:09