为了账号安全,请及时绑定邮箱和手机立即绑定

躲避僵尸吃事物游戏,大神们帮忙看看为什么与僵尸碰撞后无反应?

躲避僵尸吃事物游戏,大神们帮忙看看为什么与僵尸碰撞后无反应?

慕神0273248 2019-01-05 19:57:32
import pygame,sys import random,math from pygame.locals import * pygame.init() FPS=60 fpsClock = pygame.time.Clock() playerImage = pygame.image.load('player.png') playerStretchedImage = pygame.transform.scale(playerImage, (40, 40)) playerRect=playerImage.get_rect() foodImage = pygame.image.load('cherry.png') font = pygame.font.SysFont(None,48) baddie=pygame.image.load('baddie.png') x=10 y=10 a,b=0,0 movex,movey=0,0 foodCounter = 0 NEWFOOD = 15 BADDIEMINSIZE = 10 BADDIEMAXSIZE = 40 BADDIEMINSPEED = 1 BADDIEMAXSPEED = 8 ADDNEWBADDIERATE = 6 foods = [] for i in range(20):     foods.append(pygame.Rect(random.randint(0, 500 - 20), random.randint(0, 400 - 20), 20, 20)) white=(255,255,255) black=(0,0,0) windowSurface=pygame.display.set_mode((500,400),0,32) pygame.display.set_caption('move') def waitForPlayerToPressKey():     while True:         for event in pygame.event.get():             if event.type == QUIT:                 pygame.quit()                 sys.exit()             if event.type == KEYDOWN:                 if event.key == K_ESCAPE: # Pressing ESC quits.                     pygame.quit()                     sys.exit()                 return def drawText(text, font, surface, x, y):     textobj = font.render(text, 1, black)     textrect = textobj.get_rect()     textrect.topleft = (x, y)     surface.blit(textobj, textrect) topscore=0 while True:     baddies=[]     score=0     baddieAddCounter=0     while True:         windowSurface.blit(playerStretchedImage,(x,y))         for event in pygame.event.get():             if event.type == QUIT:                 pygame.quit()                 sys.exit()             x, y = pygame.mouse.get_pos()             pygame.mouse.set_visible(False)             x -= playerImage.get_width() / 2             y -= playerImage.get_height() / 2             player = pygame.Rect(x, y, 40, 40)         windowSurface.fill(white)         foodCounter += 1         if foodCounter >= NEWFOOD:             foodCounter = 0             foods.append(pygame.Rect(random.randint(0, 500- 20), random.randint(0, 400 - 20), 20, 20))         windowSurface.blit(playerStretchedImage,(x,y))         for food in foods[:]:             if player.colliderect(food):                 foods.remove(food)                 score+=1                 player = pygame.Rect(player.left, player.top, player.width + 2, player.height + 2)                 playerStretchedImage = pygame.transform.scale(playerImage, (player.width, player.height))         drawText('Score: %s' % (score), font, windowSurface, 10, 0)         drawText('Top Score: %s' % (topscore), font, windowSurface, 10, 40)         for food in foods:             windowSurface.blit(foodImage, food)         pygame.display.update()         baddieAddCounter+=1         if baddieAddCounter == ADDNEWBADDIERATE:             baddieAddCounter = 0             baddieSize = random.randint(BADDIEMINSIZE, BADDIEMAXSIZE)             newBaddie = {'rect': pygame.Rect(random.randint(0, 500 - baddieSize), 0 - baddieSize, baddieSize,baddieSize),                         'speed': random.randint(BADDIEMINSPEED, BADDIEMAXSPEED),                         'surface': pygame.transform.scale(baddie, (baddieSize, baddieSize)),                         }             baddies.append(newBaddie)         for b in baddies:             b['rect'].move_ip(0, b['speed'])         for b in baddies[:]:             if b['rect'].top > 400:                 baddies.remove(b)         for b in baddies:             windowSurface.blit(b['surface'], b['rect'])         pygame.display.update()         for b in baddies:             if playerRect.colliderect(b['rect']):                 if score > topscore:                     topscore = score                 break             break         fpsClock.tick(FPS)     drawText('GAME OVER', font, windowSurface, (500 / 3), (400 / 3))     drawText('Press a key to play again.', font, windowSurface, (500 / 3) - 80, (400 / 3) + 50)     pygame.display.update()     fpsClock.tick(FPS)     waitForPlayerToPressKey()
查看完整描述

3 回答

  • 3 回答
  • 1 关注
  • 1636 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信