python微信飞机大战(CSDN获奖)
2017-04-17 09:18
543 查看
本程序的java版本
http://blog.csdn.net/zwyjg/article/details/18144915
本程序在CSDN获奖
http://blog.csdn.net/blogdevteam/article/details/72626843
Main
import pygame from pygame.locals import * from sys import exit import time from Enemy import * from Player import * class Main(object): screen="" enemies=[] if __name__ == '__main__': screen = pygame.display.set_mode((400, 600), 0, 32) background = pygame.image.load("background.png") def __init__(self): print() player=Player(screen) mouse_x, mouse_y = 0, 0 keyDown=True info=0 while True: for event in pygame.event.get(): if event.type == QUIT: exit() if event.type == KEYUP: if event.key == K_SPACE: if keyDown: keyDown=False if event.type == MOUSEMOTION: pos = pygame.mouse.get_pos() mouse_x = pos[0] mouse_y = pos[1] player.keyhandle("mousedown",mouse_x,mouse_y,'') if info%10==0: player.keyhandle("fire",0,0,enemies) info+=1 screen.blit(background, (0,0)) numX=random.randint(1,370) if numX %55==0: enemies.append(Enemy(numX,0,screen)) for temp in enemies: temp.draw() temp.move() player.draw() pygame.display.update() time.sleep(0.01)
player类
import pygame from PlayerBullet import * class Player(object): enemies=[] def __init__(self,screen): self.image=pygame.image.load("hero1.png") self.x=200 self.y=500 self.speed=5 self.planeName='player' self.frame=screen self.playerBullet=[] def draw(self): self.frame.blit(self.image,(self.x-51,self.y-55)) for temp in self.playerBullet: temp.draw(self.enemies,self.frame) def keyhandle(self,keyValue,x,y,enemies): self.enemies=enemies if keyValue=="mousedown": self.x=x self.y=y elif keyValue=="fire": self.playerBullet.append(PlayerBullet(self.x,self.y-55,self.frame,self.playerBullet))
Bullet类
import pygame class Bullet(object): def __init__(self,x,y,screen,bullet): self.img=pygame.image.load("bullet1.png") self.x=x self.y=y self.frame=screen self.speed=4 self.bullet=bullet
Enemy类
import pygame import random from EnemyBullet import * class Enemy(object): enemyBullet=[] def __init__(self,x,y,screen): self.img=pygame.image.load("enemy1.png") self.x=x self.y=y self.frame=screen self.enemyBullet=[] enemyBullet=self.enemyBullet self.speed=2 def draw(self): self.frame.blit(self.img,(self.x,self.y)) def move(self): self.y+=self.speed num=random.randint(1,100) if num in [1,70]: self.enemyBullet.append(EnemyBullet(self.x+28,self.y+43,self.frame,self.enemyBullet)) for temp in self.enemyBullet: temp.draw()
EnemyBullet
import pygame from Bullet import * class EnemyBullet(Bullet): def draw(self): self.y+=self.speed if self.y>600: self.bullet.remove(self) self.frame.blit(self.img,(self.x,self.y))
PlayerBullet
import pygame
from Bullet import *
class PlayerBullet(Bullet):
enemies=[]
info=0
def draw(self,enemies,screen):
self.enemies=enemies
self.frame=screen
self.y-=self.speed
if self.y<0:
self.bullet.remove(self)
self.frame.blit(self.img,(self.x,self.y))
for ene in self.enemies:
if self.x>ene.x and self.x<ene.x+57 and self.y>ene.y and self.y<ene.y+43:
self.enemies.remove(ene)
self.bullet.remove(self)
相关文章推荐
- python微信飞机大战
- Python中的迭代器,生成器,协程(coroutine)--整理自CSDN微信公开课
- python实现飞机大战微信小游戏
- python微信公众账号二次开发
- python csdn增加访问量
- python-itchat微信消息群发、自动回复
- Python爬虫 - 登录csdn
- 用Python爬取个人微信朋友信息
- Python 来玩微信跳一跳
- 阿里云+python 验证微信接口配置信息
- 用python实现csdn第四届在线编程大赛·线上初赛:带通配符的数
- Python 实现微信跳一跳辅助工具(亲自测试有效)
- 刚刚学的python的pygame库,用来写了一个飞机大战,纯手撸
- Python3 wordcloud使用+csdn引用NoteBook
- Python2 爬虫(三) -- 爬CSDN全部博文(自动获取页数)
- 利用Python玩微信跳一跳
- 看我怎么扒掉CSDN首页的底裤(python selenium+phantomjs爬取CSDN首页内容)
- 教你用Python来玩微信跳一跳
- python+flask+SAE 微信公共平台开发的小小的demo