设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
楼主: crossin先生
打印 上一主题 下一主题

【Pygame 第7课】 多变的宿敌

[复制链接]

0

主题

1

好友

114

积分

注册会员

Rank: 2

楼主
发表于 2016-9-13 12:44:03 |显示全部楼层
cool!
  1. import pygame
  2. import random
  3. from sys import exit

  4. pygame.init()
  5. screen=pygame.display.set_mode((450,800),0,32)
  6. pygame.display.set_caption("plane game")
  7. background=pygame.image.load('back.jpg').convert()
  8. plane=pygame.image.load('plane.png').convert_alpha()

  9. class Bullet:
  10.     def __init__(self):
  11.         self.x=0
  12.         self.y=-1
  13.         self.image=pygame.image.load('bullet.png').convert_alpha()
  14.     def move(self):
  15.         if self.y<0:
  16.             mouseX,mouseY=pygame.mouse.get_pos()
  17.             self.x=mouseX-self.image.get_width()/2
  18.             self.y=mouseY-self.image.get_height()/2
  19.         else:
  20.             self.y-=5
  21. bullet = Bullet()

  22. class Enemy:
  23.     def restart(self):
  24.         self.x=random.randint(50,400)
  25.         self.y=random.randint(-200,-50)
  26.         self.speed=random.random()+0.1
  27.     def __init__(self):
  28.         self.restart()
  29.         self.image=pygame.image.load('enemy.png').convert_alpha()
  30.     def move(self):
  31.         if self.y<800:
  32.             self.y+=self.speed
  33.         else:
  34.             self.restart()
  35. enemy=Enemy()

  36. while True:
  37.     for event in pygame.event.get():
  38.         if event.type==pygame.QUIT:
  39.             pygame.quit()
  40.             exit()
  41.     screen.blit(background,(0,0))
  42.     bullet.move()
  43.     screen.blit(bullet.image,(bullet.x,bullet.y))
  44.     enemy.move()
  45.     screen.blit(enemy.image,(enemy.x,enemy.y))   
  46.     x,y=pygame.mouse.get_pos()
  47.     x-=plane.get_width()/2
  48.     y-=plane.get_height()/2
  49.     screen.blit(plane,(x,y))
  50.     pygame.display.update()


复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-5-18 17:59 , Processed in 0.025730 second(s), 24 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部