{"id":295,"date":"2018-11-14T21:14:03","date_gmt":"2018-11-14T13:14:03","guid":{"rendered":"http:\/\/www.eait.co\/?p=295"},"modified":"2018-11-14T21:14:03","modified_gmt":"2018-11-14T13:14:03","slug":"python%e5%86%99%e5%b0%8f%e7%90%83%e6%b8%b8%e6%88%8f-%e5%ad%a6%e4%b9%a0pygame%e6%a8%a1%e5%9d%97","status":"publish","type":"post","link":"https:\/\/notes.coremix.net\/?p=295","title":{"rendered":"python\u5199\u5c0f\u7403\u6e38\u620f-\u5b66\u4e60pygame\u6a21\u5757"},"content":{"rendered":"<pre>\r\n\r\n\r\n\r\nimport pygame,sys,random\r\n\r\nfrom pygame.locals import *\r\n#\u5b9a\u4e49\u6587\u672c\u51fd\u6570\r\ndef print_text(font,x,y,text,color=(255,255,255)):\r\n    imgText = font.render(text,True,color)\r\n    screen.blit(imgText,(x,y))\r\n\r\n#\u521d\u59cb\u5316\u53c2\u6570\r\npygame.init()\r\n\r\nscreen = pygame.display.set_mode((600,500))#\u7a97\u53e3\u5927\u5c0f\r\npygame.display.set_caption('\u63a5\u5c0f\u7403')#\u7a97\u53e3\u6807\u9898\uff0c\u56fe\u6807\u4ece\u54ea\u91cc\u6765\u7684\r\n\r\nfont1 = pygame.font.Font(None,24)#\u9ed8\u8ba4\u5b57\u4f53 24\u53f7\r\npygame.mouse.set_visible(True)#\u7a97\u53e3\u662f\u5426\u663e\u793a\u9f20\u6807\r\nwhite = 255,255,255\r\nred = 220,50,50\r\nyellow = 230,230,50\r\nblue = 0,0,100\r\nholl = 0\r\nlives = 3\r\nscore = 0\r\n\r\ngame_over = True\r\nmouse_x = mouse_y = 0\r\n#\u521d\u59cb\u5316\u6321\u677f\u4f4d\u7f6e\r\npos_x = 300\r\npos_y = 460\r\n#\u5c0f\u7403\u7684\u4f4d\u7f6e \u6c34\u5e73\u65b9\u5411\u968f\u673a\uff0c\u5782\u76f4\u65b9\u5411\u964d\u843d\r\nbomb_x = random.randint(0,500)\r\nbomb_y = -50\r\n\r\nvel_y = 0.7\r\n\r\n\r\nwhile True:\r\n    screen.fill(blue)\r\n    for event in pygame.event.get():#\u4ece\u961f\u5217\u5f53\u4e2d\u83b7\u5f97\u6240\u6709\u7684\u4e8b\u4ef6\r\n        if event.type == QUIT:\r\n            sys.exit()\r\n        elif event.type == MOUSEMOTION:#\u5982\u679c\u662f\u9f20\u6807\u7684\u7c7b\u578b\r\n            mouse_x,mouse_y = event.pos\r\n        elif event.type == MOUSEBUTTONUP:#\u5982\u679c\u9f20\u6807\u62ac\u8d77\uff0c\u5219\u5b9a\u4e49\u5f00\u59cb\u7684\u53c2\u6570\r\n            if game_over:\r\n                game_over = False\r\n                lives = 3\r\n                score = 0\r\n    keys = pygame.key.get_pressed()\r\n    if keys[K_ESCAPE]:\r\n        sys.exit()\r\n\r\n\r\n    if game_over==True: #\u6b64\u5904\u5f53\u524d\u662fFLSE\uff0c\u53ea\u89c1\u8fc7\u9ed8\u8ba4\u662fTrue\u7684\u60c5\u51b5?\u8fd9\u4e2a\u8001\u5e08\u8bb2\u9519\uff0c\u672c\u5904\u662fTrue\r\n        print_text(font1,100,200,'CLICK TO PLAY')\r\n    else:#\u5982\u679c\u6ca1\u63a5\u5230\u5c0f\u7403\r\n        bomb_y += vel_y#\u7a0b\u5e8f\u4e2d\u5e76\u6ca1\u6709\u7528\u65f6\u95f4\u9650\u5236\u5faa\u73af\u901f\u5ea6\uff0c\u90a3\u4e48\u901f\u5ea6\u5feb\u7684\u7535\u8111\u662f\u4e0d\u662f\u66f4\u5feb\u4e00\u70b9\uff1f\r\n        if bomb_y &gt; 500:\r\n            bomb_x = random.randint(0,500)\r\n            bomb_y = -50\r\n            lives -=1\r\n            if lives == 0:\r\n                game_over = True\r\n        #\u5982\u679c\u63a5\u4f4f\u5c0f\u7403\r\n        elif bomb_y &gt; pos_y:\r\n            if bomb_x &gt; pos_x and bomb_x &lt; pos_x +120:\r\n                score += 10\r\n                bomb_x = random.randint(0,500)\r\n                bomb_y = -50\r\n        #\u7ed8\u5236\u5c0f\u7403\r\n        pygame.draw.circle(screen,yellow,(bomb_x,int(bomb_y)),30,0)\r\n        pos_x = mouse_x\r\n        if pos_x &lt; 0:\r\n            pos_x = 0\r\n        elif pos_x &gt; 500:\r\n            pos_x = 500\r\n        #\u753b\u6321\u677f\r\n        pygame.draw.rect(screen,red,(pos_x,pos_y,120,40),0)#0\u662f\u5b9e\u5fc31\u662f\u7a7a\u5fc3\r\n    holl = holl+1\r\n    print_text(font1,0,0,'LIVES:'+str(lives))\r\n    print_text(font1,500,0,'SCORE:'+str(score))\r\n    print_text(font1, 400, 0, 'HOLL:' + str(holl))\r\n    pygame.display.update()\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>import pygame,sys,random from pygame.locals import * #\u5b9a [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-295","post","type-post","status-publish","format-standard","hentry","category-python"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/notes.coremix.net\/index.php?rest_route=\/wp\/v2\/posts\/295","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/notes.coremix.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/notes.coremix.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/notes.coremix.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/notes.coremix.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=295"}],"version-history":[{"count":1,"href":"https:\/\/notes.coremix.net\/index.php?rest_route=\/wp\/v2\/posts\/295\/revisions"}],"predecessor-version":[{"id":296,"href":"https:\/\/notes.coremix.net\/index.php?rest_route=\/wp\/v2\/posts\/295\/revisions\/296"}],"wp:attachment":[{"href":"https:\/\/notes.coremix.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=295"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/notes.coremix.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=295"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/notes.coremix.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=295"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}