import pygame

from pygame.locals import *

import sys

from Bullet import Bullet

from Peashooter import Peashooter

from Sun import Sun

from SunFlower import SunFlower

from WallNut import WallNut

# 初始化pygame

from Zombie import Zombie

pygame.init()

size = (1200, 600)

# 设置屏幕宽高

screen = pygame.display.set_mode(size)

# 设置屏幕标题

pygame.display.set_caption("植物大战僵尸")

backgroundImg = pygame.image.load('material/images/background1.jpg').convert_alpha()

sunbackImg = pygame.image.load('material/images/SeedBank.png').convert_alpha()

flower_seed = pygame.image.load("material/images/TwinSunflower.gif")

wallNut_seed = pygame.image.load("material/images/WallNut.gif")

peashooter_seed = pygame.image.load("material/images/Peashooter.gif")

text = '1000'

myfont = pygame.font.SysFont('arial', 20)

txtImg = myfont.render(text, True, (0, 0, 0))

peashooter = Peashooter()

sunFlower = SunFlower()

wallNut = WallNut()

zombie = Zombie()

spriteList = pygame.sprite.Group()

spriteList.add(peashooter)

spriteList.add(sunFlower)

spriteList.add(wallNut)

spriteList.add(zombie)

sunList = pygame.sprite.Group()

#定义生成太阳的事件

GENERATORSUNEVNET = pygame.USEREVENT + 1

pygame.time.set_timer(GENERATORSUNEVNET, 2000)

index = 0

choose = 0

clock = pygame.time.Clock()

while True:

if index > 100:import pygame

from pygame.locals import *

import sys

from Bullet import Bullet

from Peashooter import Peashooter

from Sun import Sun

from SunFlower import SunFlower

from WallNut import WallNut

# 初始化pygame

from Zombie import Zombie

pygame.init()

for font in pygame.font.get_fonts():

print(font)

size = (1200, 600)

# 设置屏幕宽高

screen = pygame.display.set_mode(size)

# 设置屏幕标题

pygame.display.set_caption("植物大战僵尸")

backgroundImg = pygame.image.load('material/images/background1.jpg').convert_alpha()

sunbackImg = pygame.image.load('material/images/SeedBank.png').convert_alpha()

flower_seed = pygame.image.load("material/images/TwinSunflower.gif")

wallNut_seed = pygame.image.load("material/images/WallNut.gif")

peashooter_seed = pygame.image.load("material/images/Peashooter.gif")

score = '100'

myfont = pygame.font.SysFont('arial', 20)

txtImg = myfont.render(score, True, (0, 0, 0))

peashooter = Peashooter()

sunFlower = SunFlower()

wallNut = WallNut()

# zombie = Zombie()

spriteList = pygame.sprite.Group()

spriteList.add(peashooter)

spriteList.add(sunFlower)

spriteList.add(wallNut)

# spriteList.add(zombie)

sunList = pygame.sprite.Group()

zombieList = pygame.sprite.Group()

index = 0

clock = pygame.time.Clock()

GENERATOR_SUN_EVENT = pygame.USEREVENT + 1

pygame.time.set_timer(GENERATOR_SUN_EVENT, 2000)

GENERATOR_ZOMBIE_EVENT = pygame.USEREVENT + 2

pygame.time.set_timer(GENERATOR_ZOMBIE_EVENT, 5000)

choose = 0

while True:

clock.tick(15)

# 启动消息队列,获取消息并处理

for event in pygame.event.get():

if event.type == QUIT:

pygame.quit()

sys.exit()

if event.type == GENERATOR_SUN_EVENT:

sun = Sun(sunFlower.rect)

sunList.add(sun)

if event.type == GENERATOR_ZOMBIE_EVENT:

zombie = Zombie()

zombieList.add(zombie)

if event.type == MOUSEBUTTONDOWN:

mouse_pressed = pygame.mouse.get_pressed()

# 判断是否按下的事鼠标左键

if mouse_pressed[0]:

(x, y) = pygame.mouse.get_pos()

# 判断鼠标是否点中了某个卡片

if 330 <= x <= 380 and 10 <= y <= 80:

choose = 1

elif 380 < x <= 430 and 10 <= y <= 80:

choose = 2

elif 430 < x <= 480 and 10 <= y <= 80:

choose = 3

for sun in sunList:

if sun.rect.collidepoint((x, y)):

# sunList.remove(sun)

sun.is_click = True

score = int(score) + 50

myfont = pygame.font.SysFont('arial', 20)

txtImg = myfont.render(str(score), True, (0, 0, 0))

screen.blit(backgroundImg, (0, 0))

screen.blit(sunbackImg, (250, 0))

screen.blit(txtImg, (270, 60))

screen.blit(flower_seed, (330, 10))

screen.blit(wallNut_seed, (380, 10))

screen.blit(peashooter_seed, (430, 10))

print(choose)

# 根据选中的卡片,将对应的植物图片,显示在当前鼠标的右下角,跟随鼠标移动

(x, y) = pygame.mouse.get_pos()

if choose == 1:

screen.blit(sunFlower.images[0], (x, y))

if choose == 2:

screen.blit(wallNut.images[0], (x, y))

if choose == 3:

screen.blit(peashooter.images[0], (x, y))

if index % 10 == 0:

bullet = Bullet(peashooter.rect, size)

spriteList.add(bullet)

spriteList.update(index)

spriteList.draw(screen)

sunList.update(index)

sunList.draw(screen)

zombieList.update(index)

zombieList.draw(screen)

for zombie in zombieList:

headStr = '刘无敌'

yourfont = pygame.font.SysFont('simsunnsimsun', 30)

headpic = yourfont.render(headStr, True, (0, 0, 0))

screen.blit(headpic, (zombie.rect.left + 60, zombie.rect.top - 20))

index += 1

pygame.display.update()

python植物大战僵尸 豆约翰_python植物大战僵尸十之拖拽卡片相关推荐

  1. python植物大战僵尸 豆约翰,python植物大战僵尸六之添加僵尸

    import pygame from pygame.locals import * import sys from Peashooter import Peashooter from Sun impo ...

  2. python植物大战僵尸 豆约翰,python植物大战僵尸十二之坚果摆放

    import pygame from pygame.locals import * import sys from Bullet import Bullet from Peashooter impor ...

  3. python植物大战僵尸 豆约翰,python植物大战僵尸十三之豌豆射手摆放

    import pygame from pygame.locals import * import sys from Bullet import Bullet from Peashooter impor ...

  4. python入门是哪个包_python入门(十):模块、包

    模块:py文件 包:目录,目录里面包含__init__.py,内容可以是空 里面可以包含多个模块文件,还可以包含子包 1.模块和包,可以很方便的提供给其他程序以复用 1) 利于组织复杂工程 我们写代码 ...

  5. python tab和空格混用_Python编程常见十大错误,看完你自己都笑了!

    关注并置顶[柠檬班]的小哥哥小姐姐 胸有成"猪" 使用python会出现各种各样的错误,以下是Python常见的错误以及解决方法.  01 ValueError ValueErro ...

  6. python中什么叫函数_Python 基础起步 (十) 什么叫函数?

    Python 函数 大家好,这一期让我们来看看Python中比较核心的知识点:函数(也叫方法),那么到底什么是一个函数呢?先让我引入一个官方一点的定义: 函数是对程序逻辑进行结构化或者过程化的一种编程 ...

  7. python继承和多态心得_python学习第十五天 -面向对象之继承和多态

    大家都知道面向对象的三大特性:封装,继承,多态.封装特性在上一章节已经讲解过.这一章节主要讲解继承和多态. 继承:当定义一个类的时候,可以从现有的类进行继承.那么新定义的类可以称为子类,被继承的现有的 ...

  8. python玩王者荣耀皮肤_Python爬虫:十几行代码下载王者荣耀所有皮肤

    访问,一键创建你的人工智能项目作者 | 王强 来源 | C与Python实战 起因:前两天在公众号上看到一篇文章内容就是爬取王者荣耀的皮肤,但是内容太大概了,如果跟着他做肯定做不出来,所以我打算自己做 ...

  9. python模拟拖拽文件_python 基于selenium实现鼠标拖拽功能

    1.准备html文件 首先我们需要准备一个鼠标滑动的html文件,用来演示鼠标滑动的效果,注意需要将我们的html文件放在自己的服务器上, 这样我们才能够通过selenium来进行验证.html文件如 ...

最新文章

  1. python or的用法_python中and和or的用法
  2. 汇编 int 10h
  3. linux 信号灯超时时间到,急!!信号灯超时时间已到错误又出来了!!!!
  4. mysql查询09软件技术1班_MySQL查询语句的45道练习(2019.09最新版)
  5. 使用U盘安装Windows Server2008
  6. 第三十期:程序员报告:男性占比超87% 北京月薪12184元最高
  7. [NOI2014] 起床困难综合症
  8. matlab里inline定义矩阵,Matlab中的inline函数_matlab中inline函数
  9. 数据列表的分页实现————分页敏捷开发
  10. html读取oss_阿里云使用js 实现OSS图片上传、获取OSS图片列表(示例代码)
  11. 输入输出(I/O)流。
  12. dfs序七个经典问题[转]
  13. 万能地图下载器中授权谷歌卫星地图下载器的方法
  14. Ubuntu mosquitto 安装及配置
  15. 俞敏洪致青春三“想”:理想、梦想和思想(转载)
  16. 小学生四则运算考试系统Java
  17. C#中Atan()与Atan2()
  18. 5. 数据库题(以个人熟悉数据库为准、按要求写出sql) (1) 计算每个人的总成绩并排名(要求显示字段:学号,姓名,总成绩) (2) 计算每个人单科的最高成绩(要求显示字段: 学号,姓名,课程,最
  19. 路由器备份文件查看 Android,【教程】用安卓系统 手机查看路由U盘内容的方法...
  20. go语言-空结构体/ chan struct{}

热门文章

  1. MSM RF Driver Configuration
  2. 【优秀的iPhone/iPad数据恢复工具】Omni Recover for Mac 2.5
  3. ps里面怎么插入流程图_photoshop cs6绘画带箭头简单流程图的操作教程
  4. 基于PCA的人脸识别_Matlab实现(个人研读之后的一些总结)
  5. KMSpico_setup安装报病毒解决办法
  6. 高通8909平台调试/故障排除支持指南
  7. 续证PMP,怎么获得60个PDU?
  8. SpringBoot + MyBatis+Vue +ElementUI 实现省市县组件封住
  9. 赛车编程用c语言,计算机c语言课程设计——赛车游戏.doc
  10. Jquery 根据 字符串首字符(string)生成Base64头像