打字小游戏

import pygameimport sysimport keyimport traceback#更好退出#常亮模块from pygame.locals import *from random import * #初始化pygame和混音器pygame.init()pygame.mixer.init()#设置游戏背景大小为背景图片大小bg_size = width, height = 1056, 688screen = pygame.display.set_mode(bg_size)pygame.display.set_caption("打字游戏—JK Dunky")#加载背景图片background = pygame.image.load("key_images/background.png").convert()WHITE=(255,255,255)#加载声音pygame.mixer.music.load("sound/game_music.ogg")pygame.mixer.music.set_volume(0.2)right_sound = pygame.mixer.Sound("sound/right.wav")right_sound.set_volume(0.2)wrong_sound = pygame.mixer.Sound("sound/wrong.wav")wrong_sound.set_volume(0.2)over_sound = pygame.mixer.Sound("sound/over.wav")over_sound.set_volume(0.2)def add_key1_enemies(group1, group2, num): for i in range(num): e1 = key.Key1Enemy(bg_size) group1.add(e1) group2.add(e1)def add_key2_enemies(group1, group2, num): for i in range(num): e2 = key.Key2Enemy(bg_size) group1.add(e2) group2.add(e2)def add_key3_enemies(group1, group2, num): for i in range(num): e3 = key.Key3Enemy(bg_size) group1.add(e3) group2.add(e3)def add_key4_enemies(group1, group2, num): for i in range(num): e4 = key.Key4Enemy(bg_size) group1.add(e4) group2.add(e4)def add_key5_enemies(group1, group2, num): for i in range(num): e5 = key.Key5Enemy(bg_size) group1.add(e5) group2.add(e5)def add_key6_enemies(group1, group2, num): for i in range(num): e6 = key.Key6Enemy(bg_size) group1.add(e6) group2.add(e6)def add_key7_enemies(group1, group2, num): for i in range(num): e7 = key.Key7Enemy(bg_size) group1.add(e7) group2.add(e7)def add_key8_enemies(group1, group2, num): for i in range(num): e8 = key.Key8Enemy(bg_size) group1.add(e8) group2.add(e8)def add_key9_enemies(group1, group2, num): for i in range(num): e9 = key.Key9Enemy(bg_size) group1.add(e9) group2.add(e9)def add_key10_enemies(group1, group2, num): for i in range(num): e10 = key.Key10Enemy(bg_size) group1.add(e10) group2.add(e10)def add_key20_enemies(group1, group2, num): for i in range(num): e20 = key.Key20Enemy(bg_size) group1.add(e20) group2.add(e20)def add_key21_enemies(group1, group2, num): for i in range(num): e21 = key.Key21Enemy(bg_size) group1.add(e21) group2.add(e21)def add_key22_enemies(group1, group2, num): for i in range(num): e22 = key.Key22Enemy(bg_size) group1.add(e22) group2.add(e22)def add_key23_enemies(group1, group2, num): for i in range(num): e23 = key.Key23Enemy(bg_size) group1.add(e23) group2.add(e23)def add_key24_enemies(group1, group2, num): for i in range(num): e24 = key.Key24Enemy(bg_size) group1.add(e24) group2.add(e24)def add_key25_enemies(group1, group2, num): for i in range(num): e25 = key.Key25Enemy(bg_size) group1.add(e25) group2.add(e25)def add_key26_enemies(group1, group2, num): for i in range(num): e26 = key.Key26Enemy(bg_size) group1.add(e26) group2.add(e26)def add_key27_enemies(group1, group2, num): for i in range(num): e27 = key.Key27Enemy(bg_size) group1.add(e27) group2.add(e27)def add_key28_enemies(group1, group2, num): for i in range(num): e28 = key.Key28Enemy(bg_size) group1.add(e28) group2.add(e28)def add_key29_enemies(group1, group2, num): for i in range(num): e29 = key.Key29Enemy(bg_size) group1.add(e29) group2.add(e29)def add_key30_enemies(group1, group2, num): for i in range(num): e30 = key.Key30Enemy(bg_size) group1.add(e30) group2.add(e30)def add_key70_enemies(group1, group2, num): for i in range(num): e70 = key.Key70Enemy(bg_size) group1.add(e70) group2.add(e70)def add_key71_enemies(group1, group2, num): for i in range(num): e71 = key.Key71Enemy(bg_size) group1.add(e71) group2.add(e71)def add_key72_enemies(group1, group2, num): for i in range(num): e72 = key.Key72Enemy(bg_size) group1.add(e72) group2.add(e72)def add_key73_enemies(group1, group2, num): for i in range(num): e73 = key.Key73Enemy(bg_size) group1.add(e73) group2.add(e73)def add_key74_enemies(group1, group2, num): for i in range(num): e74 = key.Key74Enemy(bg_size) group1.add(e74) group2.add(e74)def add_key75_enemies(group1, group2, num): for i in range(num): e75 = key.Key75Enemy(bg_size) group1.add(e75) group2.add(e75)def add_key76_enemies(group1, group2, num): for i in range(num): e76 = key.Key76Enemy(bg_size) group1.add(e76) group2.add(e76)def add_key77_enemies(group1, group2, num): for i in range(num): e77 = key.Key77Enemy(bg_size) group1.add(e77) group2.add(e77)def add_key78_enemies(group1, group2, num): for i in range(num): e78 = key.Key78Enemy(bg_size) group1.add(e78) group2.add(e78)def add_key79_enemies(group1, group2, num): for i in range(num): e79 = key.Key79Enemy(bg_size) group1.add(e79) group2.add(e79)def add_key80_enemies(group1, group2, num): for i in range(num): e80 = key.Key80Enemy(bg_size) group1.add(e80) group2.add(e80)def add_key81_enemies(group1, group2, num): for i in range(num): e81 = key.Key81Enemy(bg_size) group1.add(e81) group2.add(e81)def add_key82_enemies(group1, group2, num): for i in range(num): e82 = key.Key82Enemy(bg_size) group1.add(e82) group2.add(e82)def add_key83_enemies(group1, group2, num): for i in range(num): e83 = key.Key83Enemy(bg_size) group1.add(e83) group2.add(e83)def add_key84_enemies(group1, group2, num): for i in range(num): e84 = key.Key84Enemy(bg_size) group1.add(e84) group2.add(e84)def add_key85_enemies(group1, group2, num): for i in range(num): e85 = key.Key85Enemy(bg_size) group1.add(e85) group2.add(e85)def add_key86_enemies(group1, group2, num): for i in range(num): e86 = key.Key86Enemy(bg_size) group1.add(e86) group2.add(e86)def add_key87_enemies(group1, group2, num): for i in range(num): e87 = key.Key87Enemy(bg_size) group1.add(e87) group2.add(e87)def add_key88_enemies(group1, group2, num): for i in range(num): e88 = key.Key88Enemy(bg_size) group1.add(e88) group2.add(e88)def add_key89_enemies(group1, group2, num): for i in range(num): e89 = key.Key89Enemy(bg_size) group1.add(e89) group2.add(e89) def add_key90_enemies(group1, group2, num): for i in range(num): e90 = key.Key90Enemy(bg_size) group1.add(e90) group2.add(e90)def add_key91_enemies(group1, group2, num): for i in range(num): e91 = key.Key91Enemy(bg_size) group1.add(e91) group2.add(e91)def add_key92_enemies(group1, group2, num): for i in range(num): e92 = key.Key92Enemy(bg_size) group1.add(e92) group2.add(e92)def add_key93_enemies(group1, group2, num): for i in range(num): e93 = key.Key93Enemy(bg_size) group1.add(e93) group2.add(e93)def add_key94_enemies(group1, group2, num): for i in range(num): e94 = key.Key94Enemy(bg_size) group1.add(e94) group2.add(e94)def add_key95_enemies(group1, group2, num): for i in range(num): e95 = key.Key95Enemy(bg_size) group1.add(e95) group2.add(e95)def add_key96_enemies(group1, group2, num): for i in range(num): e96 = key.Key96Enemy(bg_size) group1.add(e96) group2.add(e96)def add_key97_enemies(group1, group2, num): for i in range(num): e97 = key.Key97Enemy(bg_size) group1.add(e97) group2.add(e97)def add_key98_enemies(group1, group2, num): for i in range(num): e98 = key.Key98Enemy(bg_size) group1.add(e98) group2.add(e98)def main(): #播放背景音乐 pygame.mixer.music.play(-1) #统计得分 score=0 score_font=pygame.font.Font("font/font.ttf",36) #结束变量 run_num = 0 #设置clock clock =pygame.time.Clock() #生成key键雨 #敌机汇总,之后检测me与enemies会不会发生碰撞就行 enemies = pygame.sprite.Group() #生成键盘按键 key1_enemies = pygame.sprite.Group() add_key1_enemies(key1_enemies,enemies, 1) key2_enemies = pygame.sprite.Group() add_key2_enemies(key2_enemies,enemies, 1) key3_enemies = pygame.sprite.Group() add_key3_enemies(key3_enemies,enemies, 1) key4_enemies = pygame.sprite.Group() add_key4_enemies(key4_enemies,enemies, 1) key5_enemies = pygame.sprite.Group() add_key5_enemies(key5_enemies,enemies, 1) key6_enemies = pygame.sprite.Group() add_key6_enemies(key6_enemies,enemies, 1) key7_enemies = pygame.sprite.Group() add_key7_enemies(key7_enemies,enemies, 1) key8_enemies = pygame.sprite.Group() add_key8_enemies(key8_enemies,enemies, 1) key9_enemies = pygame.sprite.Group() add_key9_enemies(key9_enemies,enemies, 1) key10_enemies = pygame.sprite.Group() add_key10_enemies(key10_enemies,enemies, 1) key20_enemies = pygame.sprite.Group() add_key20_enemies(key20_enemies,enemies, 1) key21_enemies = pygame.sprite.Group() add_key21_enemies(key21_enemies,enemies, 1) key21_enemies = pygame.sprite.Group() add_key21_enemies(key21_enemies,enemies, 1) key22_enemies = pygame.sprite.Group() add_key22_enemies(key22_enemies,enemies, 1) key23_enemies = pygame.sprite.Group() add_key23_enemies(key23_enemies,enemies, 1) key24_enemies = pygame.sprite.Group() add_key24_enemies(key24_enemies,enemies, 1) key25_enemies = pygame.sprite.Group() add_key25_enemies(key25_enemies,enemies, 1) key26_enemies = pygame.sprite.Group() add_key26_enemies(key26_enemies,enemies, 1) key27_enemies = pygame.sprite.Group() add_key27_enemies(key27_enemies,enemies, 1) key28_enemies = pygame.sprite.Group() add_key28_enemies(key28_enemies,enemies, 1) key29_enemies = pygame.sprite.Group() add_key29_enemies(key29_enemies,enemies, 1) key30_enemies = pygame.sprite.Group() add_key30_enemies(key30_enemies,enemies, 1) key70_enemies = pygame.sprite.Group() add_key70_enemies(key70_enemies,enemies, 1) key71_enemies = pygame.sprite.Group() add_key71_enemies(key71_enemies,enemies, 1) key72_enemies = pygame.sprite.Group() add_key72_enemies(key72_enemies,enemies, 1) key73_enemies = pygame.sprite.Group() add_key73_enemies(key73_enemies,enemies, 1) key74_enemies = pygame.sprite.Group() add_key74_enemies(key74_enemies,enemies, 1) key75_enemies = pygame.sprite.Group() add_key75_enemies(key75_enemies,enemies, 1) key76_enemies = pygame.sprite.Group() add_key76_enemies(key76_enemies,enemies, 1) key77_enemies = pygame.sprite.Group() add_key77_enemies(key77_enemies,enemies, 1) key78_enemies = pygame.sprite.Group() add_key78_enemies(key78_enemies,enemies, 1) key79_enemies = pygame.sprite.Group() add_key79_enemies(key79_enemies,enemies, 1) key80_enemies = pygame.sprite.Group() add_key80_enemies(key80_enemies,enemies, 1) key81_enemies = pygame.sprite.Group() add_key81_enemies(key81_enemies,enemies, 1) key82_enemies = pygame.sprite.Group() add_key82_enemies(key82_enemies,enemies, 1) key83_enemies = pygame.sprite.Group() add_key83_enemies(key83_enemies,enemies, 1) key84_enemies = pygame.sprite.Group() add_key84_enemies(key84_enemies,enemies, 1) key85_enemies = pygame.sprite.Group() add_key85_enemies(key85_enemies,enemies, 1) key86_enemies = pygame.sprite.Group() add_key86_enemies(key86_enemies,enemies, 1) key87_enemies = pygame.sprite.Group() add_key87_enemies(key87_enemies,enemies, 1) key88_enemies = pygame.sprite.Group() add_key88_enemies(key88_enemies,enemies, 1) key89_enemies = pygame.sprite.Group() add_key89_enemies(key89_enemies,enemies, 1) key90_enemies = pygame.sprite.Group() add_key90_enemies(key90_enemies,enemies, 1) key91_enemies = pygame.sprite.Group() add_key91_enemies(key91_enemies,enemies, 1) key92_enemies = pygame.sprite.Group() add_key92_enemies(key92_enemies,enemies, 1) key93_enemies = pygame.sprite.Group() add_key93_enemies(key93_enemies,enemies, 1) key94_enemies = pygame.sprite.Group() add_key94_enemies(key94_enemies,enemies, 1) key95_enemies = pygame.sprite.Group() add_key95_enemies(key95_enemies,enemies, 1) key96_enemies = pygame.sprite.Group() add_key96_enemies(key96_enemies,enemies, 1) key97_enemies = pygame.sprite.Group() add_key97_enemies(key97_enemies,enemies, 1) key98_enemies = pygame.sprite.Group() add_key98_enemies(key98_enemies,enemies, 1) running = True #用于限制重复打开记录文件 recorded=False #游戏结束画面 gameover_font = pygame.font.Font("font/font.TTF", 48) again_image = pygame.image.load("key_images/again.png").convert_alpha() again_rect = again_image.get_rect() gameover_image = pygame.image.load("key_images/gameover.png").convert_alpha() gameover_rect = gameover_image.get_rect() #标志是否暂停游戏 paused = False pause_nor_image =pygame.image.load("key_images/pause_nor.png").convert_alpha() pause_pressed_image =pygame.image.load("key_images/pause_pressed.png").convert_alpha() resume_nor_image =pygame.image.load("key_images/resume_nor.png").convert_alpha() resume_pressed_image =pygame.image.load("key_images/pause_pressed.png").convert_alpha() paused_rect = pause_nor_image.get_rect() #设置按钮位置坐标 paused_rect.left,paused_rect_top = width - paused_rect.width -10, 10 paused_image = pause_nor_image #游戏应设置为死循环可以不要变量running直接while True while running: for event in pygame.event.get(): if event.type==QUIT: pygame.quit() sys.exit() #暂停事件触发 elif event.type == MOUSEBUTTONDOWN: if event.button ==1 or paused_rect.collidepoint(event.pos): paused = not paused if paused: pygame.mixer.music.pause() pygame.mixer.pause() else: pygame.mixer.music.unpause() pygame.mixer.unpause() #鼠标事件 elif event.type == MOUSEMOTION: if paused_rect.collidepoint(event.pos): if paused: paused_image = resume_pressed_image else: paused_image = pause_pressed_image else: if paused: paused_image = resume_nor_image else: paused_image = pause_nor_image #将背景画上去 screen.blit(background, (0,0)) if not paused or run_num >= 10: #检测用户的键盘操作key_pressed是一个系列, #包括所有按键按下的BOOL值, key_pressed =pygame.key.get_pressed() for key1 in key1_enemies: if key1.rect.bottom > 0: if key_pressed[K_RCTRL] or key_pressed[K_LCTRL]: #在屏幕内的都毁灭 right_sound.play() key1.active = False for key2 in key2_enemies: if key2.rect.bottom > 0: if key_pressed[K_TAB]: #在屏幕内的都毁灭 right_sound.play() key2.active = False for key3 in key3_enemies: if key3.rect.bottom > 0: if key_pressed[K_RETURN]: #在屏幕内的都毁灭 right_sound.play() key3.active = False for key4 in key4_enemies: if key4.rect.bottom > 0: if key_pressed[K_COMMA]: #在屏幕内的都毁灭 right_sound.play() key4.active = False for key5 in key5_enemies: if key5.rect.bottom > 0: if key_pressed[K_LALT] or key_pressed[K_RALT]: #在屏幕内的都毁灭 right_sound.play() key5.active = False for key6 in key6_enemies: if key6.rect.bottom > 0: if key_pressed[K_SEMICOLON]: #在屏幕内的都毁灭 right_sound.play() key6.active = False for key7 in key7_enemies: if key7.rect.bottom > 0: if key_pressed[K_PERIOD]: #在屏幕内的都毁灭 right_sound.play() key7.active = False for key8 in key8_enemies: if key8 .rect.bottom > 0: if key_pressed[K_SEMICOLON]: #在屏幕内的都毁灭 right_sound.play() key8.active = False for key9 in key9_enemies: if key9.rect.bottom > 0: if key_pressed[K_QUESTION] or key_pressed[K_SLASH]: #在屏幕内的都毁灭 right_sound.play() key9.active = False for key10 in key10_enemies: if key10.rect.bottom > 0: if key_pressed[K_SPACE]: #在屏幕内的都毁灭 right_sound.play() key10.active = False for key20 in key20_enemies: if key20.rect.bottom > 0: if key_pressed[K_1]: #在屏幕内的都毁灭 right_sound.play() key20.active = False for key21 in key21_enemies: if key21.rect.bottom > 0: if key_pressed[K_2]: #在屏幕内的都毁灭 right_sound.play() key21.active = False for key22 in key22_enemies: if key22.rect.bottom > 0: if key_pressed[K_3]: #在屏幕内的都毁灭 right_sound.play() key22.active = False for key23 in key23_enemies: if key23.rect.bottom > 0: if key_pressed[K_4]: #在屏幕内的都毁灭 right_sound.play() key23.active = False for key24 in key24_enemies: if key24.rect.bottom > 0: if key_pressed[K_5]: #在屏幕内的都毁灭 right_sound.play() key24.active = False for key25 in key25_enemies: if key25.rect.bottom > 0: if key_pressed[K_6]: #在屏幕内的都毁灭 right_sound.play() key25.active = False for key26 in key26_enemies: if key26.rect.bottom > 0: if key_pressed[K_7]: #在屏幕内的都毁灭 right_sound.play() key26.active = False for key27 in key27_enemies: if key27.rect.bottom > 0: if key_pressed[K_8]: #在屏幕内的都毁灭 right_sound.play() key27.active = False for key28 in key28_enemies: if key28.rect.bottom > 0: if key_pressed[K_9]: #在屏幕内的都毁灭 right_sound.play() key28.active = False for key29 in key29_enemies: if key29.rect.bottom > 0: if key_pressed[K_0]: #在屏幕内的都毁灭 right_sound.play() key29.active = False for key30 in key30_enemies: if key30.rect.bottom > 0: if key_pressed[K_EQUALS] : #在屏幕内的都毁灭 right_sound.play() key30.active = False for key70 in key70_enemies: if key70.rect.bottom > 0: if key_pressed[K_w] : #在屏幕内的都毁灭 right_sound.play() key70.active = False for key71 in key71_enemies: if key71.rect.bottom > 0: if key_pressed[K_z] : #在屏幕内的都毁灭 right_sound.play() key71.active = False for key72 in key72_enemies: if key72.rect.bottom > 0: if key_pressed[K_a] : #在屏幕内的都毁灭 right_sound.play() key72.active = False for key73 in key73_enemies: if key73.rect.bottom > 0: if key_pressed[K_e] : #在屏幕内的都毁灭 right_sound.play() key73.active = False for key74 in key74_enemies: if key74.rect.bottom > 0: if key_pressed[K_r] : #在屏幕内的都毁灭 right_sound.play() key74.active = False for key75 in key75_enemies: if key75.rect.bottom > 0: if key_pressed[K_t] : #在屏幕内的都毁灭 right_sound.play() key75.active = False for key76 in key76_enemies: if key76.rect.bottom > 0: if key_pressed[K_y] : #在屏幕内的都毁灭 right_sound.play() key76.active = False for key77 in key77_enemies: if key77.rect.bottom > 0: if key_pressed[K_u] : #在屏幕内的都毁灭 right_sound.play() key77.active = False for key78 in key78_enemies: if key78.rect.bottom > 0: if key_pressed[K_i] : #在屏幕内的都毁灭 right_sound.play() key78.active = False for key79 in key79_enemies: if key79.rect.bottom > 0: if key_pressed[K_o] : #在屏幕内的都毁灭 right_sound.play() key79.active = False for key80 in key80_enemies: if key80.rect.bottom > 0: if key_pressed[K_p] : #在屏幕内的都毁灭 right_sound.play() key80.active = False for key81 in key81_enemies: if key81.rect.bottom > 0: if key_pressed[K_q] : #在屏幕内的都毁灭 right_sound.play() key81.active = False for key82 in key82_enemies: if key82.rect.bottom > 0: if key_pressed[K_s] : #在屏幕内的都毁灭 right_sound.play() key82.active = False for key83 in key83_enemies: if key83.rect.bottom > 0: if key_pressed[K_d] : #在屏幕内的都毁灭 right_sound.play() key83.active = False for key84 in key84_enemies: if key84.rect.bottom > 0: if key_pressed[K_f] : #在屏幕内的都毁灭 right_sound.play() key84.active = False for key85 in key85_enemies: if key85.rect.bottom > 0: if key_pressed[K_g] : #在屏幕内的都毁灭 right_sound.play() key85.active = False for key86 in key86_enemies: if key86.rect.bottom > 0: if key_pressed[K_h] : #在屏幕内的都毁灭 right_sound.play() key86.active = False for key87 in key87_enemies: if key87.rect.bottom > 0: if key_pressed[K_j] : #在屏幕内的都毁灭 right_sound.play() key87.active = False for key88 in key88_enemies: if key88.rect.bottom > 0: if key_pressed[K_k] : #在屏幕内的都毁灭 right_sound.play() key88.active = False for key89 in key89_enemies: if key89.rect.bottom > 0: if key_pressed[K_l] : #在屏幕内的都毁灭 right_sound.play() key89.active = False for key90 in key90_enemies: if key90.rect.bottom > 0: if key_pressed[K_m] : #在屏幕内的都毁灭 right_sound.play() key90.active = False for key91 in key91_enemies: if key91.rect.bottom > 0: if key_pressed[K_BACKSLASH] : #在屏幕内的都毁灭 right_sound.play() key91.active = False for key92 in key92_enemies: if key92.rect.bottom > 0: if key_pressed[K_x] : #在屏幕内的都毁灭 right_sound.play() key92.active = False for key93 in key93_enemies: if key93.rect.bottom > 0: if key_pressed[K_c] : #在屏幕内的都毁灭 right_sound.play() key93.active = False for key94 in key94_enemies: if key94.rect.bottom > 0: if key_pressed[K_v] : #在屏幕内的都毁灭 right_sound.play() key94.active = False for key95 in key95_enemies: if key95.rect.bottom > 0: if key_pressed[K_b] : #在屏幕内的都毁灭 right_sound.play() key95.active = False for key96 in key96_enemies: if key96.rect.bottom > 0: if key_pressed[K_n] : #在屏幕内的都毁灭 right_sound.play() key96.active = False for key97 in key97_enemies: if key97.rect.bottom > 0: if key_pressed[K_RIGHTBRACKET] : #在屏幕内的都毁灭 right_sound.play() key97.active = False for key98 in key98_enemies: if key98.rect.bottom > 0: if key_pressed[K_LEFTBRACKET] : #在屏幕内的都毁灭 right_sound.play() key98.active = False #绘制key1 for each in key1_enemies: if each.active: each.move() screen.blit(each.image1,each.rect) else: key1.reset() score += 100 #绘制key2 for each in key2_enemies: if each.active: each.move() screen.blit(each.image2,each.rect) else: key2.reset() score += 100 #绘制key3 for each in key3_enemies: if each.active: each.move() screen.blit(each.image3,each.rect) else: key3.reset() score += 100 #绘制key4 for each in key4_enemies: if each.active: each.move() screen.blit(each.image4,each.rect) else: key4.reset() score += 100 #绘制key5 for each in key5_enemies: if each.active: each.move() screen.blit(each.image5,each.rect) else: key5.reset() score += 100 #绘制key6 for each in key6_enemies: if each.active: each.move() screen.blit(each.image6,each.rect) else: key6.reset() score += 100 #绘制key7 for each in key7_enemies: if each.active: each.move() screen.blit(each.image7,each.rect) else: key7.reset() score += 100 #绘制key8 for each in key8_enemies: if each.active: each.move() screen.blit(each.image8,each.rect) else: key8.reset() score += 100 #绘制key9 for each in key9_enemies: if each.active: each.move() screen.blit(each.image9,each.rect) else: key9.reset() score += 100 #绘制key10 for each in key10_enemies: if each.active: each.move() screen.blit(each.image10,each.rect) else: key10.reset() score += 100 #绘制key20 for each in key20_enemies: if each.active: each.move() screen.blit(each.image20,each.rect) else: key20.reset() score += 100 #绘制key21 for each in key21_enemies: if each.active: each.move() screen.blit(each.image21,each.rect) else: key21.reset() score += 100 #绘制key22 for each in key22_enemies: if each.active: each.move() screen.blit(each.image22,each.rect) else: key22.reset() score += 100 #绘制key23 for each in key23_enemies: if each.active: each.move() screen.blit(each.image23,each.rect) else: key23.reset() score += 100 #绘制key24 for each in key24_enemies: if each.active: each.move() screen.blit(each.image24,each.rect) else: key24.reset() score += 100 #绘制key25 for each in key25_enemies: if each.active: each.move() screen.blit(each.image25,each.rect) else: key25.reset() score += 100 #绘制key26 for each in key26_enemies: if each.active: each.move() screen.blit(each.image26,each.rect) else: key26.reset() score += 100 #绘制key27 for each in key27_enemies: if each.active: each.move() screen.blit(each.image27,each.rect) else: key27.reset() score += 100 #绘制key28 for each in key28_enemies: if each.active: each.move() screen.blit(each.image28,each.rect) else: key28.reset() score += 100 #绘制key29 for each in key29_enemies: if each.active: each.move() screen.blit(each.image29,each.rect) else: key29.reset() score += 100 #绘制key30 for each in key30_enemies: if each.active: each.move() screen.blit(each.image30,each.rect) else: key30.reset() score += 100 #绘制key70-99 for each in key70_enemies: if each.active: each.move() screen.blit(each.image70,each.rect) else: key70.reset() score += 100 for each in key71_enemies: if each.active: each.move() screen.blit(each.image71,each.rect) else: key71.reset() score += 100 for each in key72_enemies: if each.active: each.move() screen.blit(each.image72,each.rect) else: key72.reset() score += 100 for each in key73_enemies: if each.active: each.move() screen.blit(each.image73,each.rect) else: key73.reset() score += 100 for each in key74_enemies: if each.active: each.move() screen.blit(each.image74,each.rect) else: key74.reset() score += 100 for each in key75_enemies: if each.active: each.move() screen.blit(each.image75,each.rect) else: key75.reset() score += 100 for each in key76_enemies: if each.active: each.move() screen.blit(each.image76,each.rect) else: key76.reset() score += 100 for each in key77_enemies: if each.active: each.move() screen.blit(each.image77,each.rect) else: key77.reset() score += 100 for each in key78_enemies: if each.active: each.move() screen.blit(each.image78,each.rect) else: key78.reset() score += 100 for each in key79_enemies: if each.active: each.move() screen.blit(each.image79,each.rect) else: key79.reset() score += 100 for each in key80_enemies: if each.active: each.move() screen.blit(each.image80,each.rect) else: key80.reset() score += 100 for each in key81_enemies: if each.active: each.move() screen.blit(each.image81,each.rect) else: key81.reset() score += 100 for each in key82_enemies: if each.active: each.move() screen.blit(each.image82,each.rect) else: key82.reset() score += 100 for each in key83_enemies: if each.active: each.move() screen.blit(each.image83,each.rect) else: key83.reset() score += 100 for each in key84_enemies: if each.active: each.move() screen.blit(each.image84,each.rect) else: key84.reset() score += 100 for each in key85_enemies: if each.active: each.move() screen.blit(each.image85,each.rect) else: key85.reset() score += 100 for each in key86_enemies: if each.active: each.move() screen.blit(each.image86,each.rect) else: key86.reset() score += 100 for each in key87_enemies: if each.active: each.move() screen.blit(each.image87,each.rect) else: key87.reset() score += 100 for each in key88_enemies: if each.active: each.move() screen.blit(each.image88,each.rect) else: key88.reset() score += 100 for each in key89_enemies: if each.active: each.move() screen.blit(each.image89,each.rect) else: key89.reset() score += 100 for each in key90_enemies: if each.active: each.move() screen.blit(each.image90,each.rect) else: key90.reset() score += 100 for each in key91_enemies: if each.active: each.move() screen.blit(each.image91,each.rect) else: key91.reset() score += 100 for each in key92_enemies: if each.active: each.move() screen.blit(each.image92,each.rect) else: key92.reset() score += 100 for each in key93_enemies: if each.active: each.move() screen.blit(each.image93,each.rect) else: key93.reset() score += 100 for each in key94_enemies: if each.active: each.move() screen.blit(each.image94,each.rect) else: key94.reset() score += 100 for each in key95_enemies: if each.active: each.move() screen.blit(each.image95,each.rect) else: key95.reset() score += 100 for each in key96_enemies: if each.active: each.move() screen.blit(each.image96,each.rect) else: key96.reset() score += 100 for each in key97_enemies: if each.active: each.move() screen.blit(each.image97,each.rect) else: key97.reset() score += 100 for each in key98_enemies: if each.active: each.move() screen.blit(each.image98,each.rect) else: key98.reset() score += 100 #绘制分数 score_text=score_font.render("Score : %s"% str(score),True,WHITE) screen.blit(score_text,(10,5)) for each in enemies: if each.rect.top == height: run_num +=1 #绘制游戏结束画面 if run_num >= 10: pygame.mixer.music.stop() pygame.mixer.stop() #读取历史最高得分 if not recorded: recorded=True with open("record.txt","r") as f: record_score=int(f.read()) if score>record_score: with open("record.txt","w") as f: f.write(str(score)) #绘制结束界面 record_score_text = score_font.render("Best : %d" % record_score, True, (255, 255, 255)) screen.blit(record_score_text, (50, 50)) gameover_text1 = gameover_font.render("Your Score", True, (255, 255, 255)) gameover_text1_rect = gameover_text1.get_rect() gameover_text1_rect.left, gameover_text1_rect.top = \ (width - gameover_text1_rect.width) // 2, height // 3 screen.blit(gameover_text1, gameover_text1_rect) gameover_text2 = gameover_font.render(str(score), True, (255, 255, 255)) gameover_text2_rect = gameover_text2.get_rect() gameover_text2_rect.left, gameover_text2_rect.top = \ (width - gameover_text2_rect.width) // 2, \ gameover_text1_rect.bottom + 10 screen.blit(gameover_text2, gameover_text2_rect) again_rect.left, again_rect.top = \ (width - again_rect.width) // 2, \ gameover_text2_rect.bottom + 50 screen.blit(again_image, again_rect) gameover_rect.left, gameover_rect.top = \ (width - again_rect.width) // 2, \ again_rect.bottom + 10 screen.blit(gameover_image, gameover_rect) # 检测用户的鼠标操作 # 如果用户按下鼠标左键 if pygame.mouse.get_pressed()[0]: # 获取鼠标坐标 pos = pygame.mouse.get_pos() # 如果用户点击“重新开始” if again_rect.left < pos[0] < again_rect.right and \ again_rect.top < pos[1] < again_rect.bottom: # 调用main函数,重新开始游戏 main() # 如果用户点击“结束游戏” elif gameover_rect.left < pos[0] < gameover_rect.right and \ gameover_rect.top < pos[1] < gameover_rect.bottom: # 退出游戏 pygame.quit() sys.exit() #绘制暂停按钮 screen.blit(paused_image,paused_rect) pygame.display.flip() clock.tick(60) if __name__ =="__main__": try: main() #正常突出就抛出异常pass不管 except SystemExit: pass #其他异常报告一下 except: traceback.print_exc() pygame.quit() input()#停留作用 key.pyimport pygamefrom random import *class Key1Enemy(pygame.sprite.Sprite): def __init__(self,bg_size): pygame.sprite.Sprite.__init__(self) #敌机图片 self.image1 =pygame.image.load("key_images/keys_001.png").convert_alpha() #添加bool变量True时飞机能正常飞行, #如果为False就表示飞机遇难,播放遇难图片及音乐 self.active = True self.rect = self.image1.get_rect() self.width, self.height = bg_size[0], bg_size[1] self.speed =1 #定义小飞机出现位置 self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-2 * self.height, 0) def move(self): if self.rect.top < self.height: self.rect.top += self.speed else: self.reset() def reset(self): self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-5 * self.height, 0) self.active = True class Key2Enemy(pygame.sprite.Sprite): def __init__(self,bg_size): pygame.sprite.Sprite.__init__(self) #敌机图片 self.image2 =pygame.image.load("key_images/keys_002.png").convert_alpha() #添加bool变量True时飞机能正常飞行, #如果为False就表示飞机遇难,播放遇难图片及音乐 self.active = True self.rect = self.image2.get_rect() self.width, self.height = bg_size[0], bg_size[1] self.speed = 1 #定义小飞机出现位置 self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-2 * self.height, 0) def move(self): if self.rect.top < self.height: self.rect.top += self.speed else: self.reset() def reset(self): self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-5 * self.height, 0) self.active = Trueclass Key3Enemy(pygame.sprite.Sprite): def __init__(self,bg_size): pygame.sprite.Sprite.__init__(self) #敌机图片 self.image3 =pygame.image.load("key_images/keys_003.png").convert_alpha() #添加bool变量True时飞机能正常飞行, #如果为False就表示飞机遇难,播放遇难图片及音乐 self.active = True self.rect = self.image3.get_rect() self.width, self.height = bg_size[0], bg_size[1] self.speed = 1 #定义小飞机出现位置 self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-2 * self.height, 0) def move(self): if self.rect.top < self.height: self.rect.top += self.speed else: self.reset() def reset(self): self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-5 * self.height, 0) self.active = Trueclass Key4Enemy(pygame.sprite.Sprite): def __init__(self,bg_size): pygame.sprite.Sprite.__init__(self) #敌机图片 self.image4 =pygame.image.load("key_images/keys_004.png").convert_alpha() #添加bool变量True时飞机能正常飞行, #如果为False就表示飞机遇难,播放遇难图片及音乐 self.active = True self.rect = self.image4.get_rect() self.width, self.height = bg_size[0], bg_size[1] self.speed = 1 #定义小飞机出现位置 self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-2 * self.height, 0) def move(self): if self.rect.top < self.height: self.rect.top += self.speed else: self.reset() def reset(self): self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-5 * self.height, 0) self.active = Trueclass Key5Enemy(pygame.sprite.Sprite): def __init__(self,bg_size): pygame.sprite.Sprite.__init__(self) #敌机图片 self.image5 =pygame.image.load("key_images/keys_005.png").convert_alpha() #添加bool变量True时飞机能正常飞行, #如果为False就表示飞机遇难,播放遇难图片及音乐 self.active = True self.rect = self.image5.get_rect() self.width, self.height = bg_size[0], bg_size[1] self.speed = 1 #定义小飞机出现位置 self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-2 * self.height, 0) def move(self): if self.rect.top < self.height: self.rect.top += self.speed else: self.reset() def reset(self): self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-5 * self.height, 0) self.active = Trueclass Key6Enemy(pygame.sprite.Sprite): def __init__(self,bg_size): pygame.sprite.Sprite.__init__(self) #敌机图片 self.image6 =pygame.image.load("key_images/keys_006.png").convert_alpha() #添加bool变量True时飞机能正常飞行, #如果为False就表示飞机遇难,播放遇难图片及音乐 self.active = True self.rect = self.image6.get_rect() self.width, self.height = bg_size[0], bg_size[1] self.speed = 1 #定义小飞机出现位置 self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-4 * self.height, 0) def move(self): if self.rect.top < self.height: self.rect.top += self.speed else: self.reset() def reset(self): self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-7 * self.height, 0) self.active = Trueclass Key7Enemy(pygame.sprite.Sprite): def __init__(self,bg_size): pygame.sprite.Sprite.__init__(self) #敌机图片 self.image7 =pygame.image.load("key_images/keys_007.png").convert_alpha() #添加bool变量True时飞机能正常飞行, #如果为False就表示飞机遇难,播放遇难图片及音乐 self.active = True self.rect = self.image7.get_rect() self.width, self.height = bg_size[0], bg_size[1] self.speed = 1 #定义小飞机出现位置 self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-4 * self.height, 0) def move(self): if self.rect.top < self.height: self.rect.top += self.speed else: self.reset() def reset(self): self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-7 * self.height, 0) self.active = Trueclass Key8Enemy(pygame.sprite.Sprite): def __init__(self,bg_size): pygame.sprite.Sprite.__init__(self) #敌机图片 self.image8 =pygame.image.load("key_images/keys_008.png").convert_alpha() #添加bool变量True时飞机能正常飞行, #如果为False就表示飞机遇难,播放遇难图片及音乐 self.active = True self.rect = self.image8.get_rect() self.width, self.height = bg_size[0], bg_size[1] self.speed = 1 #定义小飞机出现位置 self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-4 * self.height, 0) def move(self): if self.rect.top < self.height: self.rect.top += self.speed else: self.reset() def reset(self): self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-7 * self.height, 0) self.active = Trueclass Key9Enemy(pygame.sprite.Sprite): def __init__(self,bg_size): pygame.sprite.Sprite.__init__(self) #敌机图片 self.image9 =pygame.image.load("key_images/keys_009.png").convert_alpha() #添加bool变量True时飞机能正常飞行, #如果为False就表示飞机遇难,播放遇难图片及音乐 self.active = True self.rect = self.image9.get_rect() self.width, self.height = bg_size[0], bg_size[1] self.speed = 1 #定义小飞机出现位置 self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-4 * self.height, 0) def move(self): if self.rect.top < self.height: self.rect.top += self.speed else: self.reset() def reset(self): self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-7 * self.height, 0) self.active = Trueclass Key10Enemy(pygame.sprite.Sprite): def __init__(self,bg_size): pygame.sprite.Sprite.__init__(self) #敌机图片 self.image10 =pygame.image.load("key_images/keys_010.png").convert_alpha() #添加bool变量True时飞机能正常飞行, #如果为False就表示飞机遇难,播放遇难图片及音乐 self.active = True self.rect = self.image10.get_rect() self.width, self.height = bg_size[0], bg_size[1] self.speed = 1 #定义小飞机出现位置 self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-4 * self.height, 0) def move(self): if self.rect.top < self.height: self.rect.top += self.speed else: self.reset() def reset(self): self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-7 * self.height, 0) self.active = Trueclass Key20Enemy(pygame.sprite.Sprite): def __init__(self,bg_size): pygame.sprite.Sprite.__init__(self) #敌机图片 self.image20 =pygame.image.load("key_images/keys_020.png").convert_alpha() #添加bool变量True时飞机能正常飞行, #如果为False就表示飞机遇难,播放遇难图片及音乐 self.active = True self.rect = self.image20.get_rect() self.width, self.height = bg_size[0], bg_size[1] self.speed = 1 #定义小飞机出现位置 self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-6 * self.height, 0) def move(self): if self.rect.top < self.height: self.rect.top += self.speed else: self.reset() def reset(self): self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-9 * self.height, 0) self.active = Trueclass Key21Enemy(pygame.sprite.Sprite): def __init__(self,bg_size): pygame.sprite.Sprite.__init__(self) #敌机图片 self.image21 =pygame.image.load("key_images/keys_021.png").convert_alpha() #添加bool变量True时飞机能正常飞行, #如果为False就表示飞机遇难,播放遇难图片及音乐 self.active = True self.rect = self.image21.get_rect() self.width, self.height = bg_size[0], bg_size[1] self.speed = 1 #定义小飞机出现位置 self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-6 * self.height, 0) def move(self): if self.rect.top < self.height: self.rect.top += self.speed else: self.reset() def reset(self): self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-9 * self.height, 0) self.active = Trueclass Key22Enemy(pygame.sprite.Sprite): def __init__(self,bg_size): pygame.sprite.Sprite.__init__(self) #敌机图片 self.image22 =pygame.image.load("key_images/keys_022.png").convert_alpha() #添加bool变量True时飞机能正常飞行, #如果为False就表示飞机遇难,播放遇难图片及音乐 self.active = True self.rect = self.image22.get_rect() self.width, self.height = bg_size[0], bg_size[1] self.speed = 1 #定义小飞机出现位置 self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-6 * self.height, 0) def move(self): if self.rect.top < self.height: self.rect.top += self.speed else: self.reset() def reset(self): self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-9 * self.height, 0) self.active = Trueclass Key23Enemy(pygame.sprite.Sprite): def __init__(self,bg_size): pygame.sprite.Sprite.__init__(self) #敌机图片 self.image23 =pygame.image.load("key_images/keys_023.png").convert_alpha() #添加bool变量True时飞机能正常飞行, #如果为False就表示飞机遇难,播放遇难图片及音乐 self.active = True self.rect = self.image23.get_rect() self.width, self.height = bg_size[0], bg_size[1] self.speed = 1 #定义小飞机出现位置 self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-6 * self.height, 0) def move(self): if self.rect.top < self.height: self.rect.top += self.speed else: self.reset() def reset(self): self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-9 * self.height, 0) self.active = Trueclass Key24Enemy(pygame.sprite.Sprite): def __init__(self,bg_size): pygame.sprite.Sprite.__init__(self) #敌机图片 self.image24 =pygame.image.load("key_images/keys_024.png").convert_alpha() #添加bool变量True时飞机能正常飞行, #如果为False就表示飞机遇难,播放遇难图片及音乐 self.active = True self.rect = self.image24.get_rect() self.width, self.height = bg_size[0], bg_size[1] self.speed = 1 #定义小飞机出现位置 self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-6 * self.height, 0) def move(self): if self.rect.top < self.height: self.rect.top += self.speed else: self.reset() def reset(self): self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-9 * self.height, 0) self.active = Trueclass Key25Enemy(pygame.sprite.Sprite): def __init__(self,bg_size): pygame.sprite.Sprite.__init__(self) #敌机图片 self.image25 =pygame.image.load("key_images/keys_025.png").convert_alpha() #添加bool变量True时飞机能正常飞行, #如果为False就表示飞机遇难,播放遇难图片及音乐 self.active = True self.rect = self.image25.get_rect() self.width, self.height = bg_size[0], bg_size[1] self.speed = 1 #定义小飞机出现位置 self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-6 * self.height, 0) def move(self): if self.rect.top < self.height: self.rect.top += self.speed else: self.reset() def reset(self): self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-9 * self.height, 0) self.active = Trueclass Key26Enemy(pygame.sprite.Sprite): def __init__(self,bg_size): pygame.sprite.Sprite.__init__(self) #敌机图片 self.image26 =pygame.image.load("key_images/keys_026.png").convert_alpha() #添加bool变量True时飞机能正常飞行, #如果为False就表示飞机遇难,播放遇难图片及音乐 self.active = True self.rect = self.image26.get_rect() self.width, self.height = bg_size[0], bg_size[1] self.speed = 1 #定义小飞机出现位置 self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-6 * self.height, 0) def move(self): if self.rect.top < self.height: self.rect.top += self.speed else: self.reset() def reset(self): self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-9 * self.height, 0) self.active = Trueclass Key27Enemy(pygame.sprite.Sprite): def __init__(self,bg_size): pygame.sprite.Sprite.__init__(self) #敌机图片 self.image27 =pygame.image.load("key_images/keys_027.png").convert_alpha() #添加bool变量True时飞机能正常飞行, #如果为False就表示飞机遇难,播放遇难图片及音乐 self.active = True self.rect = self.image27.get_rect() self.width, self.height = bg_size[0], bg_size[1] self.speed = 1 #定义小飞机出现位置 self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-6 * self.height, 0) def move(self): if self.rect.top < self.height: self.rect.top += self.speed else: self.reset() def reset(self): self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-9 * self.height, 0) self.active = Trueclass Key28Enemy(pygame.sprite.Sprite): def __init__(self,bg_size): pygame.sprite.Sprite.__init__(self) #敌机图片 self.image28 =pygame.image.load("key_images/keys_028.png").convert_alpha() #添加bool变量True时飞机能正常飞行, #如果为False就表示飞机遇难,播放遇难图片及音乐 self.active = True self.rect = self.image28.get_rect() self.width, self.height = bg_size[0], bg_size[1] self.speed = 1 #定义小飞机出现位置 self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-6 * self.height, 0) def move(self): if self.rect.top < self.height: self.rect.top += self.speed else: self.reset() def reset(self): self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-9 * self.height, 0) self.active = Trueclass Key29Enemy(pygame.sprite.Sprite): def __init__(self,bg_size): pygame.sprite.Sprite.__init__(self) #敌机图片 self.image29 =pygame.image.load("key_images/keys_029.png").convert_alpha() #添加bool变量True时飞机能正常飞行, #如果为False就表示飞机遇难,播放遇难图片及音乐 self.active = True self.rect = self.image29.get_rect() self.width, self.height = bg_size[0], bg_size[1] self.speed = 1 #定义小飞机出现位置 self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-6 * self.height, 0) def move(self): if self.rect.top < self.height: self.rect.top += self.speed else: self.reset() def reset(self): self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-9 * self.height, 0) self.active = Trueclass Key30Enemy(pygame.sprite.Sprite): def __init__(self,bg_size): pygame.sprite.Sprite.__init__(self) #敌机图片 self.image30 =pygame.image.load("key_images/keys_030.png").convert_alpha() #添加bool变量True时飞机能正常飞行, #如果为False就表示飞机遇难,播放遇难图片及音乐 self.active = True self.rect = self.image30.get_rect() self.width, self.height = bg_size[0], bg_size[1] self.speed = 1 #定义小飞机出现位置 self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-6 * self.height, 0) def move(self): if self.rect.top < self.height: self.rect.top += self.speed else: self.reset() def reset(self): self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-9 * self.height, 0) self.active = Trueclass Key70Enemy(pygame.sprite.Sprite): def __init__(self,bg_size): pygame.sprite.Sprite.__init__(self) #敌机图片 self.image70 =pygame.image.load("key_images/keys_070.png").convert_alpha() #添加bool变量True时飞机能正常飞行, #如果为False就表示飞机遇难,播放遇难图片及音乐 self.active = True self.rect = self.image70.get_rect() self.width, self.height = bg_size[0], bg_size[1] self.speed = 1 #定义小飞机出现位置 self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-8 * self.height, 0) def move(self): if self.rect.top < self.height: self.rect.top += self.speed else: self.reset() def reset(self): self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-11 * self.height, 0) self.active = Trueclass Key71Enemy(pygame.sprite.Sprite): def __init__(self,bg_size): pygame.sprite.Sprite.__init__(self) #敌机图片 self.image71 =pygame.image.load("key_images/keys_071.png").convert_alpha() #添加bool变量True时飞机能正常飞行, #如果为False就表示飞机遇难,播放遇难图片及音乐 self.active = True self.rect = self.image71.get_rect() self.width, self.height = bg_size[0], bg_size[1] self.speed = 1 #定义小飞机出现位置 self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-8 * self.height, 0) def move(self): if self.rect.top < self.height: self.rect.top += self.speed else: self.reset() def reset(self): self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-11 * self.height, 0) self.active = Trueclass Key72Enemy(pygame.sprite.Sprite): def __init__(self,bg_size): pygame.sprite.Sprite.__init__(self) #敌机图片 self.image72 =pygame.image.load("key_images/keys_072.png").convert_alpha() #添加bool变量True时飞机能正常飞行, #如果为False就表示飞机遇难,播放遇难图片及音乐 self.active = True self.rect = self.image72.get_rect() self.width, self.height = bg_size[0], bg_size[1] self.speed = 1 #定义小飞机出现位置 self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-8 * self.height, 0) def move(self): if self.rect.top < self.height: self.rect.top += self.speed else: self.reset() def reset(self): self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-11 * self.height, 0) self.active = Trueclass Key73Enemy(pygame.sprite.Sprite): def __init__(self,bg_size): pygame.sprite.Sprite.__init__(self) #敌机图片 self.image73 =pygame.image.load("key_images/keys_073.png").convert_alpha() #添加bool变量True时飞机能正常飞行, #如果为False就表示飞机遇难,播放遇难图片及音乐 self.active = True self.rect = self.image73.get_rect() self.width, self.height = bg_size[0], bg_size[1] self.speed = 1 #定义小飞机出现位置 self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-8 * self.height, 0) def move(self): if self.rect.top < self.height: self.rect.top += self.speed else: self.reset() def reset(self): self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-11 * self.height, 0) self.active = Trueclass Key74Enemy(pygame.sprite.Sprite): def __init__(self,bg_size): pygame.sprite.Sprite.__init__(self) #敌机图片 self.image74 =pygame.image.load("key_images/keys_074.png").convert_alpha() #添加bool变量True时飞机能正常飞行, #如果为False就表示飞机遇难,播放遇难图片及音乐 self.active = True self.rect = self.image74.get_rect() self.width, self.height = bg_size[0], bg_size[1] self.speed = 1 #定义小飞机出现位置 self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-8 * self.height, 0) def move(self): if self.rect.top < self.height: self.rect.top += self.speed else: self.reset() def reset(self): self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-11 * self.height, 0) self.active = Trueclass Key75Enemy(pygame.sprite.Sprite): def __init__(self,bg_size): pygame.sprite.Sprite.__init__(self) #敌机图片 self.image75 =pygame.image.load("key_images/keys_075.png").convert_alpha() #添加bool变量True时飞机能正常飞行, #如果为False就表示飞机遇难,播放遇难图片及音乐 self.active = True self.rect = self.image75.get_rect() self.width, self.height = bg_size[0], bg_size[1] self.speed = 1 #定义小飞机出现位置 self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-8 * self.height, 0) def move(self): if self.rect.top < self.height: self.rect.top += self.speed else: self.reset() def reset(self): self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-11 * self.height, 0) self.active = Trueclass Key76Enemy(pygame.sprite.Sprite): def __init__(self,bg_size): pygame.sprite.Sprite.__init__(self) #敌机图片 self.image76 =pygame.image.load("key_images/keys_076.png").convert_alpha() #添加bool变量True时飞机能正常飞行, #如果为False就表示飞机遇难,播放遇难图片及音乐 self.active = True self.rect = self.image76.get_rect() self.width, self.height = bg_size[0], bg_size[1] self.speed = 1 #定义小飞机出现位置 self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-8 * self.height, 0) def move(self): if self.rect.top < self.height: self.rect.top += self.speed else: self.reset() def reset(self): self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-11 * self.height, 0) self.active = Trueclass Key77Enemy(pygame.sprite.Sprite): def __init__(self,bg_size): pygame.sprite.Sprite.__init__(self) #敌机图片 self.image77 =pygame.image.load("key_images/keys_077.png").convert_alpha() #添加bool变量True时飞机能正常飞行, #如果为False就表示飞机遇难,播放遇难图片及音乐 self.active = True self.rect = self.image77.get_rect() self.width, self.height = bg_size[0], bg_size[1] self.speed = 1 #定义小飞机出现位置 self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-8 * self.height, 0) def move(self): if self.rect.top < self.height: self.rect.top += self.speed else: self.reset() def reset(self): self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-11 * self.height, 0) self.active = Trueclass Key78Enemy(pygame.sprite.Sprite): def __init__(self,bg_size): pygame.sprite.Sprite.__init__(self) #敌机图片 self.image78 =pygame.image.load("key_images/keys_078.png").convert_alpha() #添加bool变量True时飞机能正常飞行, #如果为False就表示飞机遇难,播放遇难图片及音乐 self.active = True self.rect = self.image78.get_rect() self.width, self.height = bg_size[0], bg_size[1] self.speed = 1 #定义小飞机出现位置 self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-8 * self.height, 0) def move(self): if self.rect.top < self.height: self.rect.top += self.speed else: self.reset() def reset(self): self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-11 * self.height, 0) self.active = Trueclass Key79Enemy(pygame.sprite.Sprite): def __init__(self,bg_size): pygame.sprite.Sprite.__init__(self) #敌机图片 self.image79 =pygame.image.load("key_images/keys_079.png").convert_alpha() #添加bool变量True时飞机能正常飞行, #如果为False就表示飞机遇难,播放遇难图片及音乐 self.active = True self.rect = self.image79.get_rect() self.width, self.height = bg_size[0], bg_size[1] self.speed = 1 #定义小飞机出现位置 self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-8 * self.height, 0) def move(self): if self.rect.top < self.height: self.rect.top += self.speed else: self.reset() def reset(self): self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-11 * self.height, 0) self.active = Trueclass Key80Enemy(pygame.sprite.Sprite): def __init__(self,bg_size): pygame.sprite.Sprite.__init__(self) #敌机图片 self.image80 =pygame.image.load("key_images/keys_080.png").convert_alpha() #添加bool变量True时飞机能正常飞行, #如果为False就表示飞机遇难,播放遇难图片及音乐 self.active = True self.rect = self.image80.get_rect() self.width, self.height = bg_size[0], bg_size[1] self.speed = 1 #定义小飞机出现位置 self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-8 * self.height, 0) def move(self): if self.rect.top < self.height: self.rect.top += self.speed else: self.reset() def reset(self): self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-11 * self.height, 0) self.active = Trueclass Key81Enemy(pygame.sprite.Sprite): def __init__(self,bg_size): pygame.sprite.Sprite.__init__(self) #敌机图片 self.image81 =pygame.image.load("key_images/keys_081.png").convert_alpha() #添加bool变量True时飞机能正常飞行, #如果为False就表示飞机遇难,播放遇难图片及音乐 self.active = True self.rect = self.image81.get_rect() self.width, self.height = bg_size[0], bg_size[1] self.speed = 1 #定义小飞机出现位置 self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-10 * self.height, 0) def move(self): if self.rect.top < self.height: self.rect.top += self.speed else: self.reset() def reset(self): self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-13 * self.height, 0) self.active = Trueclass Key82Enemy(pygame.sprite.Sprite): def __init__(self,bg_size): pygame.sprite.Sprite.__init__(self) #敌机图片 self.image82 =pygame.image.load("key_images/keys_082.png").convert_alpha() #添加bool变量True时飞机能正常飞行, #如果为False就表示飞机遇难,播放遇难图片及音乐 self.active = True self.rect = self.image82.get_rect() self.width, self.height = bg_size[0], bg_size[1] self.speed = 1 #定义小飞机出现位置 self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-10 * self.height, 0) def move(self): if self.rect.top < self.height: self.rect.top += self.speed else: self.reset() def reset(self): self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-13 * self.height, 0) self.active = Trueclass Key83Enemy(pygame.sprite.Sprite): def __init__(self,bg_size): pygame.sprite.Sprite.__init__(self) #敌机图片 self.image83 =pygame.image.load("key_images/keys_083.png").convert_alpha() #添加bool变量True时飞机能正常飞行, #如果为False就表示飞机遇难,播放遇难图片及音乐 self.active = True self.rect = self.image83.get_rect() self.width, self.height = bg_size[0], bg_size[1] self.speed = 1 #定义小飞机出现位置 self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-10 * self.height, 0) def move(self): if self.rect.top < self.height: self.rect.top += self.speed else: self.reset() def reset(self): self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-13 * self.height, 0) self.active = Trueclass Key84Enemy(pygame.sprite.Sprite): def __init__(self,bg_size): pygame.sprite.Sprite.__init__(self) #敌机图片 self.image84 =pygame.image.load("key_images/keys_084.png").convert_alpha() #添加bool变量True时飞机能正常飞行, #如果为False就表示飞机遇难,播放遇难图片及音乐 self.active = True self.rect = self.image84.get_rect() self.width, self.height = bg_size[0], bg_size[1] self.speed = 1 #定义小飞机出现位置 self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-10 * self.height, 0) def move(self): if self.rect.top < self.height: self.rect.top += self.speed else: self.reset() def reset(self): self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-13 * self.height, 0) self.active = Trueclass Key85Enemy(pygame.sprite.Sprite): def __init__(self,bg_size): pygame.sprite.Sprite.__init__(self) #敌机图片 self.image85 =pygame.image.load("key_images/keys_085.png").convert_alpha() #添加bool变量True时飞机能正常飞行, #如果为False就表示飞机遇难,播放遇难图片及音乐 self.active = True self.rect = self.image85.get_rect() self.width, self.height = bg_size[0], bg_size[1] self.speed = 1 #定义小飞机出现位置 self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-10 * self.height, 0) def move(self): if self.rect.top < self.height: self.rect.top += self.speed else: self.reset() def reset(self): self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-13 * self.height, 0) self.active = Trueclass Key86Enemy(pygame.sprite.Sprite): def __init__(self,bg_size): pygame.sprite.Sprite.__init__(self) #敌机图片 self.image86 =pygame.image.load("key_images/keys_086.png").convert_alpha() #添加bool变量True时飞机能正常飞行, #如果为False就表示飞机遇难,播放遇难图片及音乐 self.active = True self.rect = self.image86.get_rect() self.width, self.height = bg_size[0], bg_size[1] self.speed = 1 #定义小飞机出现位置 self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-10 * self.height, 0) def move(self): if self.rect.top < self.height: self.rect.top += self.speed else: self.reset() def reset(self): self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-13 * self.height, 0) self.active = Trueclass Key87Enemy(pygame.sprite.Sprite): def __init__(self,bg_size): pygame.sprite.Sprite.__init__(self) #敌机图片 self.image87 =pygame.image.load("key_images/keys_087.png").convert_alpha() #添加bool变量True时飞机能正常飞行, #如果为False就表示飞机遇难,播放遇难图片及音乐 self.active = True self.rect = self.image87.get_rect() self.width, self.height = bg_size[0], bg_size[1] self.speed = 1 #定义小飞机出现位置 self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-10 * self.height, 0) def move(self): if self.rect.top < self.height: self.rect.top += self.speed else: self.reset() def reset(self): self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-13 * self.height, 0) self.active = Trueclass Key88Enemy(pygame.sprite.Sprite): def __init__(self,bg_size): pygame.sprite.Sprite.__init__(self) #敌机图片 self.image88 =pygame.image.load("key_images/keys_088.png").convert_alpha() #添加bool变量True时飞机能正常飞行, #如果为False就表示飞机遇难,播放遇难图片及音乐 self.active = True self.rect = self.image88.get_rect() self.width, self.height = bg_size[0], bg_size[1] self.speed = 1 #定义小飞机出现位置 self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-10 * self.height, 0) def move(self): if self.rect.top < self.height: self.rect.top += self.speed else: self.reset() def reset(self): self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-13 * self.height, 0) self.active = Trueclass Key89Enemy(pygame.sprite.Sprite): def __init__(self,bg_size): pygame.sprite.Sprite.__init__(self) #敌机图片 self.image89 =pygame.image.load("key_images/keys_089.png").convert_alpha() #添加bool变量True时飞机能正常飞行, #如果为False就表示飞机遇难,播放遇难图片及音乐 self.active = True self.rect = self.image89.get_rect() self.width, self.height = bg_size[0], bg_size[1] self.speed = 1 #定义小飞机出现位置 self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-10 * self.height, 0) def move(self): if self.rect.top < self.height: self.rect.top += self.speed else: self.reset() def reset(self): self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-13 * self.height, 0) self.active = Trueclass Key90Enemy(pygame.sprite.Sprite): def __init__(self,bg_size): pygame.sprite.Sprite.__init__(self) #敌机图片 self.image90 =pygame.image.load("key_images/keys_090.png").convert_alpha() #添加bool变量True时飞机能正常飞行, #如果为False就表示飞机遇难,播放遇难图片及音乐 self.active = True self.rect = self.image90.get_rect() self.width, self.height = bg_size[0], bg_size[1] self.speed = 1 #定义小飞机出现位置 self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-10 * self.height, 0) def move(self): if self.rect.top < self.height: self.rect.top += self.speed else: self.reset() def reset(self): self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-13 * self.height, 0) self.active = Trueclass Key91Enemy(pygame.sprite.Sprite): def __init__(self,bg_size): pygame.sprite.Sprite.__init__(self) #敌机图片 self.image91 =pygame.image.load("key_images/keys_091.png").convert_alpha() #添加bool变量True时飞机能正常飞行, #如果为False就表示飞机遇难,播放遇难图片及音乐 self.active = True self.rect = self.image91.get_rect() self.width, self.height = bg_size[0], bg_size[1] self.speed = 1 #定义小飞机出现位置 self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-12 * self.height, 0) def move(self): if self.rect.top < self.height: self.rect.top += self.speed else: self.reset() def reset(self): self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-15 * self.height, 0) self.active = Trueclass Key92Enemy(pygame.sprite.Sprite): def __init__(self,bg_size): pygame.sprite.Sprite.__init__(self) #敌机图片 self.image92 =pygame.image.load("key_images/keys_092.png").convert_alpha() #添加bool变量True时飞机能正常飞行, #如果为False就表示飞机遇难,播放遇难图片及音乐 self.active = True self.rect = self.image92.get_rect() self.width, self.height = bg_size[0], bg_size[1] self.speed = 1 #定义小飞机出现位置 self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-12 * self.height, 0) def move(self): if self.rect.top < self.height: self.rect.top += self.speed else: self.reset() def reset(self): self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-15 * self.height, 0) self.active = Trueclass Key93Enemy(pygame.sprite.Sprite): def __init__(self,bg_size): pygame.sprite.Sprite.__init__(self) #敌机图片 self.image93 =pygame.image.load("key_images/keys_093.png").convert_alpha() #添加bool变量True时飞机能正常飞行, #如果为False就表示飞机遇难,播放遇难图片及音乐 self.active = True self.rect = self.image93.get_rect() self.width, self.height = bg_size[0], bg_size[1] self.speed = 1 #定义小飞机出现位置 self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-12 * self.height, 0) def move(self): if self.rect.top < self.height: self.rect.top += self.speed else: self.reset() def reset(self): self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-15 * self.height, 0) self.active = Trueclass Key94Enemy(pygame.sprite.Sprite): def __init__(self,bg_size): pygame.sprite.Sprite.__init__(self) #敌机图片 self.image94 =pygame.image.load("key_images/keys_094.png").convert_alpha() #添加bool变量True时飞机能正常飞行, #如果为False就表示飞机遇难,播放遇难图片及音乐 self.active = True self.rect = self.image94.get_rect() self.width, self.height = bg_size[0], bg_size[1] self.speed = 1 #定义小飞机出现位置 self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-12 * self.height, 0) def move(self): if self.rect.top < self.height: self.rect.top += self.speed else: self.reset() def reset(self): self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-15 * self.height, 0) self.active = Trueclass Key95Enemy(pygame.sprite.Sprite): def __init__(self,bg_size): pygame.sprite.Sprite.__init__(self) #敌机图片 self.image95 =pygame.image.load("key_images/keys_095.png").convert_alpha() #添加bool变量True时飞机能正常飞行, #如果为False就表示飞机遇难,播放遇难图片及音乐 self.active = True self.rect = self.image95.get_rect() self.width, self.height = bg_size[0], bg_size[1] self.speed = 1 #定义小飞机出现位置 self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-12 * self.height, 0) def move(self): if self.rect.top < self.height: self.rect.top += self.speed else: self.reset() def reset(self): self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-15 * self.height, 0) self.active = Trueclass Key96Enemy(pygame.sprite.Sprite): def __init__(self,bg_size): pygame.sprite.Sprite.__init__(self) #敌机图片 self.image96 =pygame.image.load("key_images/keys_096.png").convert_alpha() #添加bool变量True时飞机能正常飞行, #如果为False就表示飞机遇难,播放遇难图片及音乐 self.active = True self.rect = self.image96.get_rect() self.width, self.height = bg_size[0], bg_size[1] self.speed = 1 #定义小飞机出现位置 self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-12 * self.height, 0) def move(self): if self.rect.top < self.height: self.rect.top += self.speed else: self.reset() def reset(self): self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-15 * self.height, 0) self.active = Trueclass Key97Enemy(pygame.sprite.Sprite): def __init__(self,bg_size): pygame.sprite.Sprite.__init__(self) #敌机图片 self.image97 =pygame.image.load("key_images/keys_097.png").convert_alpha() #添加bool变量True时飞机能正常飞行, #如果为False就表示飞机遇难,播放遇难图片及音乐 self.active = True self.rect = self.image97.get_rect() self.width, self.height = bg_size[0], bg_size[1] self.speed = 1 #定义小飞机出现位置 self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-12 * self.height, 0) def move(self): if self.rect.top < self.height: self.rect.top += self.speed else: self.reset() def reset(self): self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-15 * self.height, 0) self.active = Trueclass Key98Enemy(pygame.sprite.Sprite): def __init__(self,bg_size): pygame.sprite.Sprite.__init__(self) #敌机图片 self.image98 =pygame.image.load("key_images/keys_098.png").convert_alpha() #添加bool变量True时飞机能正常飞行, #如果为False就表示飞机遇难,播放遇难图片及音乐 self.active = True self.rect = self.image98.get_rect() self.width, self.height = bg_size[0], bg_size[1] self.speed = 1 #定义小飞机出现位置 self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-12 * self.height, 0) def move(self): if self.rect.top < self.height: self.rect.top += self.speed else: self.reset() def reset(self): self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-15 * self.height, 0) self.active = Trueclass Key99Enemy(pygame.sprite.Sprite): def __init__(self,bg_size): pygame.sprite.Sprite.__init__(self) #敌机图片 self.image99 =pygame.image.load("key_images/keys_099.png").convert_alpha() #添加bool变量True时飞机能正常飞行, #如果为False就表示飞机遇难,播放遇难图片及音乐 self.active = True self.rect = self.image99.get_rect() self.width, self.height = bg_size[0], bg_size[1] self.speed = 1 #定义小飞机出现位置 self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-12 * self.height, 0) def move(self): if self.rect.top < self.height: self.rect.top += self.speed else: self.reset() def reset(self): self.rect.left, self.rect.top=\ randint(0,self.width - self.rect.width),\ randint(-15 * self.height, 0) self.active = True
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值