当前位置: 首页 > 网络应用技术

Python飞机战争多少代码?

时间:2023-03-05 21:48:02 网络应用技术

  简介:今天,首席CTO Note将与您分享与Python飞机战争有关的多少代码。如果您可以解决您现在面临的问题,请不要忘记注意此网站。让我们现在开始!

  能够编写这么多代码应该能够独立解决血液问题

  所以我想代码被复制到哪里,对吗?

  导入pygame

  从plane_sprites导入*

  从背景导入背景

  从敌人进口e1my

  来自英雄进口英雄

  从时间进口睡眠

  来自子弹导入的bllet

  class plane_main(对象):

  def __init __(自我):

  打印(“游戏初始化”)

  self.screen = pygame.display.set_mode(screet_rect.size)

  self.clock = pygame.time.clock()

  self .__ create_sprites()

  pygame.time.set_timer(create_nemy_event,1000)

  pygame.time.set_timer(here_fire_event,500)

  self.count = 0

  self.score = 0

  def __create_sprites(SELD):

  #背景组

  self.back_group = pygame.sprite.group()

  BG1 =背景()

  BG2 =背景(true)

  pygame.mixer.init()

  pygame.mixer.music.load(“ https://www.shouxicto.com/article/capo Propives -journey 00_00_00_00-00-00_00_59.ogg”)

  pygame.mixer.music.play(-1)

  self.back_group.add(BG1,BG2)

  #敌方机组

  self.enemy_group = pygame.sprite.group()

  #enemy-级破坏小组

  self.nemy1_down_group = pygame.sprite.group()

  #英英

  self.hero_group = pygame.sprite.group()

  self.hero =英雄()

  自己。hero_group.add(self.hero)

  def start_game(self):

  pygame.init()

  打印(“开始游戏...”)

  #pygame.mixer.init()

  #pygame.mixer.music.load(“ https://www.shouxicto.com/article/capo Propivions -Journey 00_00_00_00-00-00_00_00_59.OGG”

  #pygame.mixer.music.play(-1)

  #gameicon = pygame.image.load(“ https://www.shouxicto.com/article/name.png”)

  #pygame.display.set_icon(gameicon)

  而真:

  self.count+= 1

  #1.设置刷新帧速率

  self.clock.tick(10)

  #2.事件监视

  self .__ event_handler()

  #3.崩溃检测

  self .__ check_collide()

  #4.更新精灵

  self .__ update_sprites()

  #5.更新屏幕显示

  pygame.display.update()

  def __EVENT_HANDLER(SELD):

  “”“事件主管”“”“”“”“”

  对于pygame.event.get()中的活动:

  如果event.type == pygame.quit:

  plane_main .__ game_over()

  event.type == create_nemy_event:

  self.enemy_group.add(eney()))

  event.type == mero_fire_event:

  self.hero.fire()

  键= pygame.key.get_presse()

  如果键[pygame.k_richt]:

  打印(“向右移动”)

  self.hero.speed = 5

  self.hero.speed1 = 0

  elif键[pygame.k_left]:

  打印(“向左移动”)

  self.hero.speed = -5

  self.hero.speed1 = 0

  elif键[pygame.k_up]:

  打印(“向上移动”)

  self.hero.speed1 = -5

  self.hero.speed = 0

  elif键[pygame.k_down]:

  打印(“向下移动”)

  self.hero.speed1 = 5

  self.hero.speed = 0

  别的:

  self.hero.speed = 0

  self.hero.speed1 = 0

  如果event.type == mero_fire_event:

  self.hero.fire()

  打印('火子弹!!!!!')

  def __check_collide(self):

  “”“冲击检查”“”

  #1。子弹摧毁敌机

  eney_down = pygame.sprite.groupcollide(seld.enemy_group,self.hero.hero.bulets,true,true)

  eney1_down_group.add(eney_down)

  #2.敌人飞机撞毁了英雄

  敌人= pygame.sprite.spritecollide(seld.hero,self.enemy_group,true)

  #判断列表时,有内容```

  如果Len(敌人)0:

  睡眠(3)

  ##让英雄牺牲

  self.hero.kill()

  # 结束游戏

  plane_main .__ game_over()

  def __update_sprites(SELD):

  self.back_group.update()

  self.back_group.draw(seld.screen)

  self.enemy_group.update()

  self.enemy_group.draw(seld.screen)

  self.hero_group.update()

  self.hero_group.draw(self.screen)

  self.hero.bullets.update()

  self.hero.bullets.draw(seld.screen)

  self.drawText(self.score),screet_rect.width -50,50)

  对于eney1_down中的敌人1_down_group:

  self.screen.blit(eney1_down_surface [eney1_down.down_index],eney1_down.Rect)

  如果self.count%5 == 0:

  eney1_down.down_index += 1

  如果eney1_down.down_index == 3:

  #pygame.mixer.music.load(“ https://www.shouxicto.com/article/baozha.ogg”)

  #pygame.mixer.music.play()

  self.score+= 5

  eney1_down_group.rmove(eney1_down)

  打印(self.score)

  #更更更更

  #对于[self.back_group,self.nemy_group,self.hero_group,self.hero.bulets]]

  #group.update()

  #group.draw(self.screen)

  @StaticMethod

  def __game_over():

  “““游戏结束”””

  打印(“游戏结束”)

  pygame.quit()

  出口 ()

  

  fontobj = pygame.font.font('freesansbold.ttf',TexTheight)

  textsurfaceobj = fontobj.render(文本,13,fontcolor,backgroundColor)

  textrctobj = textsurfaceobj.get_rect()

  textrctobj.center =(POSX,POSY)

  self.screen.blit(textsurfaceobj,textrectobj)

  #确定当前执行的文件是否为主文件

  #如果不是,如果不执行的代码

  如果__name__ =='__ main __':

  game = blane_main()

  game.start_game()

  在春节,我在家里很无聊,他们发芽了经典的迷你游戏:飞机战争的想法。大概每个人都可能扮演过这个微信。给我的感觉是该游戏如何做到这一点,如何完成这个游戏,操作很容易开始,它“适合所有年龄段”?

  既然这个游戏太棒了,您可以使用Python自己实现它吗?事实证明这还可以。

  让我们看一下飞机战争游戏最终实施的动态效果图。

  在导入pygame之前,您需要使用该命令:

  包装模块的安装

  (1)。__init__初始化方法:

  游戏的初始化操作开始,包括:创建游戏窗户,创建敌机,背景和其他精灵

  (2)。__Create_sprites创建ELF:

  负责创建不同的字符,并将其添加到

  (3)。start_game游戏开始方法:

  负责播放背景音乐,循环使用刷新帧速率,事件监视,碰撞检测,更新绘图精灵,更新显示屏幕图像

  (4)。__EVENT_HANDLER事件监视方法:

  负责监视游戏界面中用户的操作,例如:关闭游戏窗口,移动左右方向键,等等。

  (5)。__check_collide碰撞检测方法:

  负责测试子弹是否碰撞到敌机,敌机是否碰撞到英雄飞机上,然后进行相应的操作

  (6)。__update_sprites更新精灵:

  负责更新并将屏幕绘制到屏幕上,将其显示给用户

  (7)。__game_over游戏结束方法:

  发生碰撞时,有必要确定是否需要调用该方法退出游戏

  鼓励每个人亲自意识到这个迷你游戏非常有趣。编码注释更详细。在实践过程中,您可以仔细阅读以加深理解。

  如果所有组件图片都是png型图片,则可以有透明的背景,否则会暴露出白色边界。

  找到材料后,我们将开始建立飞机战争。

  微信上的飞机由手指控制。在计算机上,我们首先用鼠标代替它。

  根据我们以前在天空上移动的过程,我们可以知道该怎么做。

  导入pygame

  从设置导入设置

  从船上进口船

  导入game_functions作为gf

  来自pygame.sprite Import Group

  def run_game():

  #初始化游戏并创建屏幕对象

  pygame.init()

  ai_settings = settings()

  屏幕= pygame.display.set_mode

  pygame.display.set_caption(“外星人入侵”)

  #创建一个航天器

  船=船(AI_SETTINGS,屏幕)

  #创建一个用于存放子弹的组

  子弹= group()

  #

  而真:

  gf.check_events(AI_SETTINGS,屏幕,船,子弹)

  ship.update()

  Bullets.update()

  gf.update_bullets(船,子弹)

  gf.update_screen(ai_settings,屏幕,船,子弹)

  run_game()

  1.我们的飞机模块

  导入pygame

  类Myplane(pygame.sprite.sprite):

  def __init __(self,bg_size):

  pygame.sprite.sprite.__ Init __(self)

  self.image1 = pygame.image.load(r'e:Learn pygameimageme1.png')。convert_alpha()

  self.image2 = pygame.image.load(r'e:Learn pygameimageme2.png')。convert_alpha()

  self.image3 = pygame.image.load(r'e:Learn pygameimageme_protect.png')。

  self.destroy_images = []

  self.destroy_images.extend([[[[[[[[[[[[[[[[[[[[[]]

  pygame.image.load(r'e:学习pygameimageme_destroy_1.png')。convert_alpha(),),,)

  pygame.image.load(r'e:学习pygameimageme_destroy_2.png')。convert_alpha(),)

  pygame.image.load(r'e:学习pygameimageme_destroy_3.png')。convert_alpha(),),,)

  pygame.image.load(r'e:学习pygameimageme_destroy_4.png')。convert_alpha()

  )))

  self.Rect = self.image1.get_rect()

  self.width,self.height = bg_size [0],bg_size [1]

  self.Rect.let.let.let.let.Rect.top =(self.width- self.Rect.width)// 2,self.height-self.Rect.head- 60-60

  self.speed = 10

  self.active = true

  self.invincible = false

  self.mask = pygame.mask.from_surface(self.image1)

  def moveup(self):

  如果self.rect.top 0:

  self.Rect.top- = self.speed

  别的:

  self.Rect.top = 0

  Def Movesown(self):

  如果self.Rect.bottom self.height -30:

  self.Rect.top += self.speed

  别的:

  self.Rect.bottom = self.height -30

  Def Moveleft(自我):

  如果self.Rect.LET 0:

  self.Rect.Left- = self.speed

  别的:

  self.Rect.Left = 0

  Def Moveright(自我):

  如果self.rect.richt self.width:

  self.Rect.Left += self.speed

  别的:

  self.rect.richt = self.width

  def重置(self):

  self.Rect.let.let.let.let.Rect.top =(self.width- self.Rect.width)// 2,self.height-self.Rect.head-30-30-30-30-30

  self.active = true

  self.invincible = true

  2.敌机和背景模块模块

  导入pygame

  从随机导入 *

  Smallemy类(Pygame.sprite.sprite):

  能量= 1

  def __init __(self,bg_size):

  pygame.sprite.sprite.__ Init __(self)

  self.image = pygame.image.load(r'e:学习pygameimagenemy1.png')。convert_alpha()

  self.destroy_images = []

  self.destroy_images.extend([[[[[[[[[[[[[[[[[[[[[]]

  pygame.image.load(r'e:学习pygameimagenemy1_down1.png')。convert_alpha(),,)

  pygame.image.load(r'e:学习pygameimagenemy1_down2.png')。convert_alpha(),)

  pygame.image.load(r'e:学习pygameimagenemy1_down3.png')。convert_alpha(),)

  pygame.image.load(r'e:学习pygameimagenemy1_down4.png')。convert_alpha()

  )))

  self.Rect = self.image.get_rect()

  self.width,self.height = bg_size [0],bg_size [1]

  self.speed = 2

  self.active = true

  self.Rect.let.let,self.Rect.top =

  randint(0,self.width -self.rect.width),

  randint(-5 * seld.head,0)

  self.mask = pygame.mask.from_surface(seld.image)

  self.energy = smalleNemy.energy

  self.hit = false

  def移动(自我):

  如果self.rect.top self.height:

  self.Rect.top += self.speed

  别的:

  self.reset()

  def重置(self):

  self.active = true

  self.energy = smalleNemy.energy

  self.Rect.let.let,self.Rect.top =

  randint(0,self.width -self.rect.width),

  randint(-5 * seld.head,0)

  Midenemy类(Pygame.sprite.sprite):

  能量= 4

  结论:以上是首席执行官注释为每个人编制的Python飞机战争的相关内容的相关内容摘要。希望它对您有所帮助!如果您解决了问题,请与更多关心此问题的朋友分享?