pygame windowが真っ白で何も表示されないのですがどうすればよいでしょうか。
python
1import sys 2from random import randint 3import pygame 4from pygame.locals import QUIT,Rect,KEYDOWN,K_SPACE 5 6pygame.init() #初期化 7pygame.key.set_repeat(5,5) 8SURFACE=pygame.display.set_mode((800,600)) 9FPSCLOCK=pygame.time.Clock() 10 11def main(): 12 #メインルーチン 13 walls=80 14 ship_y = 250 15 velocity=0 16 score=0 17 slope=randint(1,6) 18 sysfont =pygame.font.SysFont(None,36) 19 ship_image=pygame.image.load("yossi.jpeg") 20 bang_image=pygame.image.load("expro.jpg") 21 holes=[] 22 for xpos in range(walls): 23 holes.append(Rect(xpos*10,100,10,400)) 24 game_over = False 25 26 while True: 27 is_space_down = False 28 for event in pygame.event.get(): 29 30 if event.type == QUIT: 31 pygame.quit() 32 sys.exit() 33 elif event.type == KEYDOWN: 34 if event.key == K_SPACE: 35 is_space_down = True 36 37 #自機の移動 38 if not game_over: 39 score += 10 40 velocity += -3 if is_space_down else 3 41 ship_y += velocity 42 43 #洞窟をスクロール 44 edge=holes[walls-1].copy() 45 46 test = edge.move(0,slope) 47 if test.top<=0 or test.bottom>=600: 48 slope = randint(1,6)*(-1 if slope>0 else 1) 49 edge.inflate_ip(0,-20) 50 edge.move_ip(10,slope) 51 holes.append(edge) 52 del holes[0] 53 holes = [x.move(-10,0)for x in holes] 54 55 #衝突? 56 if holes[0].top > ship_y or holes[0].bottom < ship_y + 15: 57 game_over = True 58 59 #描画 60 SURFACE.fill((255,255,255)) 61 for hole in holes: 62 pygame.draw.rect(SURFACE,(0,0,0),hole) 63 SURFACE.blit(ship_image,(0,ship_y)) 64 score_image=sysfont.render("score is %d"%(score),True,(0,0,225)) 65 SURFACE.blit(score_image,(600,20)) 66 67 if game_over: 68 SURFACE.blit(bang_image,(0,ship_y-40)) 69 70 71 pygame.display.update() 72 FPSCLOCK.tick(15) 73 74if __name__ == '__main__': 75 main()
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/09/29 13:20