admin管理员组文章数量:1638237
前言
哈喽哈喽!我是栗子!上一期给大家更新的版本一小鸟🐦都看着了哈!
经过小编的爆肝艰苦奋斗,这第二期的给大家增加了更多的游戏体验!稍稍复杂了一点点啦
期待期待吧?!(假装你们都是期待的~)这样子才有动力给你们研究嘛
顺便说一句小编喜欢花式吹捧😉(暗示暗示,评论区不得夸一夸我!)哈哈哈哈.......
正文
一)运行环境
本文用到的环境:Python3.6、Pycharm社区版、Pygame游戏模块。
pip install -i https://pypi.douban/simple/ pygame
图片素材:
增加了更多的小鸟、音效等。完整的一个游戏体验,只不过效果还没做成!下一个版本就是完
整版本的啦!
二)代码展示
import pygame
import sys
from pygame.locals import *
from random import randint
pygame.init()
pygame.mixer.init()
pygame.mixer.music.load('愤怒的小鸟背景音效.wav')
pygame.mixer.music.set_volume(0.2)
pygame.mixer.music.play(loops=-1)
bg = pygame.image.load('愤怒的小鸟背景图3.jpg')
bg_position = bg.get_rect()
size = width, height = 1000, 570
screen = pygame.display.set_mode(size)
pygame.display.set_caption('愤怒的小鸟(二)')
def main():
class Bird(pygame.sprite.Sprite):
def __init__(self):
pygame.sprite.Sprite.__init__(self)
position=100,100
self.image=pygame.image.load('愤怒的小鸟里的小鸟.png')
self.rect=self.image.get_rect()
self.rect.center=position
def move_left(self):
self.speed=[-5,0]
if self.rect.left<=0:
self.rect.left=0
else:
self.rect=self.rect.move(self.speed)
def move_right(self):
self.speed=[5,0]
if self.rect.right>=1000:
self.rect.right=1000
else:
self.rect=self.rect.move(self.speed)
def move_up(self):
self.speed=[0,-5]
if self.rect.top<=0:
self.rect.top=0
else:
self.rect=self.rect.move(self.speed)
def move_down(self):
self.speed=[0,5]
if self.rect.bottom>=570:
self.rect.bottom=570
else:
self.rect=self.rect.move(self.speed)
class Pig(pygame.sprite.Sprite):
def __init__(self):
pygame.sprite.Sprite.__init__(self)
y=randint(0,570)
position=[1000,y]
self.image=pygame.image.load('愤怒的小鸟里的小猪.png')
self.rect=self.image.get_rect()
self.rect.center=position
self.speed=[-4,0]
def move(self):
self.rect=self.rect.move(self.speed)
bird=Bird()
i=0
group=pygame.sprite.Group()
state=True
while state:
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
key=pygame.key.get_pressed()
if key[K_LEFT]:
bird.move_left()
if key[K_RIGHT]:
bird.move_right()
if key[K_UP]:
bird.move_up()
if key[K_DOWN]:
bird.move_down()
screen.blit(bg, bg_position)
screen.blit(bird.image,bird.rect)
i=i+1
if i%10==0:
pig=Pig()
group.add(pig)
for p in group.sprites():
p.move()
screen.blit(p.image,p.rect)
if pygame.sprite.collide_mask(bird,p):
state=False
pause()
pygame.display.flip()
pygame.time.Clock().tick(60)
def pause():
bg_go = pygame.image.load('愤怒的小鸟gameover图.jpg')
bg_go_pos = bg_go.get_rect()
size = width, height = 1000, 570
screen = pygame.display.set_mode(size)
pygame.display.set_caption('GameOver!')
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
img_src=pygame.image.load('重玩按钮.jpg')
img_src_pos=img_src.get_rect()
mouse_press=pygame.mouse.get_pressed()
mouse_pos=pygame.mouse.get_pos()
left=img_src_pos.left
right=img_src_pos.right
top=img_src_pos.top
bottom=img_src_pos.bottom
if left+100<mouse_pos[0]<right+100 and top+185<mouse_pos[1]<bottom+185:
img_src=pygame.image.load('重玩按钮2.jpg')
if mouse_press[0]:
main()
img_src_pos = img_src.get_rect().center = 100, 185
screen.blit(bg_go, bg_go_pos)
screen.blit(img_src,img_src_pos)
pygame.display.flip()
main()
三)效果展示
躲避愤怒的小猪🐖即可,撞到小猪即游戏结束哦。(主角鸟是那个蓝色的!)
1.游戏界面
2.游戏结束
总结
这个第二版本,小编灵光一现,准备改个名字叫:愤怒的小猪🐖,你们觉得怎么样?!嘻嘻
最后一个完整的版本就等我研究出来再给大家写吧~
✨完整的素材等:滴滴我吖!或者点击文末公众号自取免费拿的哈~
😘往期推荐阅读——
项目1.0 《愤怒的小鸟》全系列游戏——这些都玩过,你就碉堡了~(版本一)
项目2.1 【Pygame小游戏】真香~这款百万销量万人追捧大富翁游戏终于出现了~
项目2.2【Pygame小游戏】扫雷游戏50多岁了,但这款我能玩一年~(三个版本集合)
还有更多更多源码等你来领区啦!
🎁文章汇总——
汇总: Python文章合集 | (入门到实战、游戏、Turtle、案例等)
(文章汇总还有更多你案例等你来学习啦~源码找我即可免费!)
版权声明:本文标题:《愤怒的小鸟》全系列游戏——风靡全国,空降奴改:愤怒的小猪来袭~(版本二) 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dianzi/1729247600a1192328.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论